以任一款 Linux OS (與你要修復的 Linux OS 同款最好) 的 Live USB 開機。
查看硬碟分區狀態:
$sudo fdisk -lDisk /dev/sda: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: WDC WD2500AAJS-0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd273611e
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 206847 204800 100M ef EFI (FAT-12/16/32)
/dev/sda2 206848 61646847 61440000 29.3G 83 Linux全程使用超級使用者身分
home@mint: ~$ sudo -s (或 sudo -i )
root@mint: /home@mint# cd (注意粗體部份的變化)- 掛載磁區
root@mint: /home@mint# mkdir /mnt/boot
root@mint: /home@mint# mkdir /mnt/boot/efi
root@mint: /home@mint# mount /dev/sda2 /mnt
root@mint: /home@mint# mount /dev/sda1 /mnt/boot/efi - 將 /mnt 暫時虛擬為根目錄
為防止在 chroot 时,出現下面的警告:
chroot: failed to run command '/bin/bash': No such file or directory
root@mint: ~# for dir in /root /opt /proc /dev /sys /etc /bin /sbin /var /usr /lib /lib64 /tmp; do mkdir /mnt$dir && mount -B $dir /mnt$dir; done
為防止在 grub-install 时,出現下面的警告:
Installing for x86_64-efi platform.
grub-install: warning: EFI variables are not supported on this system.
root@mint: ~# for dir in /sys/firmware/efi/efivars; do mount -B $dir /mnt$dir; done
root@mint: ~# chroot /mnt(注意粗體部份的變化) - 刪除既有 grub
root@mint: ~# dpkg --configure -a
root@mint: ~# apt-get install -fy
root@mint: ~# apt-get purge --allow-remove-essential -y grub-com*
root@mint: ~# apt-get purge --allow-remove-essential -y grub2-com*
root@mint: ~# apt-get purge --allow-remove-essential -y shim-signed
root@mint: ~# apt-get purge --allow-remove-essential -y grub-common:*
root@mint: ~# apt-get purge --allow-remove-essential -y grub2-common:* - 重新安裝 grub
root@mint: ~# apt-get install -y grub-efi - UEFI 啟動用(有兩個作法都可採用)
root@mint: ~# grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda
或
root@mint: ~# grub-install /dev/sda
如果出現下面,就一切OK
Installing for x86_64-efi platform.
Installation finished. No error reported. - 更新 grub 產生/boot/grub/grub.cfg
/boot/grub/grub.cfg=/etc/grub.d/01~ + /etc/default/grub + others
先編寫 /etc/grub.d/40_custom,加入 menuentry
再修改 /etc/default/grub,加入 GRUB_DISABLE_OS_PROBER=false、變動預設啟動順序及選單是 hidden (不出現) 或 menu (出現)
root@mint: ~# update-grub
或
root@mint: ~# grub-mkconfig -o /boot/grub/grub.cfg
- 離開
Ctrl + D 先跳出 chroot /mnt 環境
Ctrl + D 再跳出超级使用者環境
reboot
2022年10月1日 星期六
重新安裝 grub 的程序步驟
2022年8月18日 星期四
2022年6月3日 星期五
超輕量、可攜帶、容易客製化的 Linux ----- Slax11
下載:
安裝 slax:
- 準備一個硬碟或隨身碟,格式化成 Fat32 或 ext4,分割模式 MBR 不要 GPT。
- 解壓縮下載的 iso 檔,將所得到的 /slax/ 目錄放在硬碟或隨身碟的根。
- 找到並執行 /slax/boot/ 中的 bootinst.bat (Windows系統) 或 bootinst.sh (Linux系統)。
- 經過步驟 3,你的硬碟或隨身碟即成為可開機狀態。
- slax需要swap partition,可下指令$ sudo mkswap /dev/sda?,開機自動啟用$sudo nano /etc/fstab 加一行 /dev/sda2 none swap defaults 0 0
開機選項:
- 開機後 4 秒內按下 Esc 鍵,可叫出開機單:
- Run Slax (Keep changes persistent):系統的改變會自動存入
- Fat32 格式:/slax/changes/changes.dat(受限於 Fat32,<=4Gb)
- ext4 格式:/slax/changes/
- Run Slax (Fresh start):不保留系統的改變
- Run Slax (Copy to RAM):不保留系統的改變
必要先處理的套件:
- $apt install sudo(以 root 身份做)
- $apt reinstall locales
- $apt remove mdadm(與 raid 有關,無用)
安裝桌面環境:
- 文字、GUI界面切換:
- 立即生效:Ctrl+Alt+F1文字界面,Ctrl+Alt+F7 GUI界面,文字界面打 startx 進入 GUI界面
- 下次生效:$systemctl set-default multi-user.target
- 卡在 GUI 界面無法進入
- 用救援 USB 中其他 Linux 開機
- 將 /etc/x11/default-display-manager 更名
- 將 /usr/sbin/當家的 DM 更名
- 進入到文字界面修正錯誤後在改回
- reboot
- 安裝 xfce:
- 方法1:(安裝完畢重開機仍然進入舊的桌面環境
$ sudo apt install xfce4 xfce4-terminal
$ sudo apt install lightdm(disply manager)
有2個以上 DM 就要執行
$dpkg-reconfigure lightdm(選那一個 DM 當家)
查現在誰當家
$cat /etc/x11/default-display-manager
方法2:(出現錯誤 debconf failed to run 原因不明)
- $ sudo apt install tasksel
- $ sudo tasksel
方法3:(目前測試以這個方法最佳,安裝完後再加裝方法 1)
- $ apt update
$ apt upgrade
$ apt install task-xfce-desktop
$ apt install xfce4 -goodies - $ systemctl get-default
- 答案必須為 graphical.target
- 如果不是,下指令更改 $ systemctl set-default graphical.target
- 重啟系統,顯示登錄界面時,選擇登錄 xfce session
安裝 Mate:
- $ sudo apt update
- $ sudo apt install mate-desktop-environment -core (精簡版)
- $ sudo apt install mate-desktop-environment (完整版)
- $ sudo apt install mate-desktop-environment-extras (加強版)
- sudo reboot
中文化 slax:
幾個中文化重要指令、檔案及步驟說明:
- $sudo apt reinstall locales
- 這會讓系統中產生繁中語系
$ sudo locale -a
C
C.UTF-8
en_US.utf8
zh_TW.utf8
POSIX $ sudo dpkg-reconfigure locales
會問兩個問題:
1. 系統中會被用到的語系:en_US.UTF8、zh_TW.UTF8
2. 系統中預設的環境語系:zh_TW.UTF8時區設定(可做可不做)
$ timedatectl set-timezone Asia/Taipei$ sudo update-locale 查閱 /etc/default/locale
有沒有產生一行LANG=zh_TW.UTF8
$sudo reboot$ locale 是不是顯示如下內容: LANG=zh_TW.UTF-8 LANGUAGE= LC_CTYPE="zh_TW.UTF-8" LC_NUMERIC="zh_TW.UTF-8" LC_TIME="zh_TW.UTF-8" LC_COLLATE="zh_TW.UTF-8" LC_MONETARY="zh_TW.UTF-8" LC_MESSAGES="zh_TW.UTF-8" LC_PAPER="zh_TW.UTF-8" LC_NAME="zh_TW.UTF-8" LC_ADDRESS="zh_TW.UTF-8" LC_TELEPHONE="zh_TW.UTF-8" LC_MEASUREMENT="zh_TW.UTF-8" LC_IDENTIFICATION="zh_TW.UTF-8" LC_ALL=
- 安裝文泉中文字型:
$ sudo apt install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy - 安裝中文輸入法:
$ sudo apt install ibus ibus-chewing ibus-table ibus-m17n im-config ibus-gtk ibus-gtk3 ibus-clutter zenity
sound:
$ sudo apt install pavucontrol pulseaudio
新增 sudo 等級使用者:
- 先由 sudo 等級使用者,新增一個普通等級使用者。
$ sudo adduser user1(注意:這裡要用 adduser 不是 useradd) - 再由 root 將其加入 sudo 群組,使成為 sudo 等級使用者。
$usermod -a -G sudo user
網路管理員由connman改為network-manager:
- Install NetworkManager:$sudo apt-get install network-manager-gnome network-manager
- Then remove connman:
$sudo apt-get remove connman connman-gtk - Restart your system.
- Confirm everything is working, then remove conman config files:
$sudo dpkg --purge connman connman-gtk - 安裝openvpn外掛
$sudo apt install network-manager-openvpn-gnome
$sudo systemctl restart NetworkManager
客製化 slax:
- 以指令 apt(application package tools)自動加入軟體。
- 手動加入軟體:
- 有編譯原始碼需求,先安裝:apt install build-essential。
- 有使用 git clone 從 github 下載原始碼需求,先安裝: apt install git。
- 客製化內容的儲存:
- 如果在可寫入的設備,改變會自動永久性生效。
- 如果不是,你也可以在任何改變完成時,以指令 savechanges 路徑檔名 存成模組。
如:savechanges /tmp/mychanges.sb - 客製化儲存的再現:
- 如果在可寫入的設備,copy .sb 檔至
/run/initramfs/memory/data/slax/modules/,立即生效。
- 如果不是,
copy .sb 檔至 /slax/modules/,重開機即生效。
如果要產生 .ios 檔,請使用 genslaxios 指令。
其他指令:
sb2dir 解開 .sb 成為檔案夾
dir2sb將檔案夾還原為 .sb
rmsbdir 移除sb2dir 所產生的檔案夾
安裝各式軟體:
安裝軟體時可能會用到 PPA:
先裝必要套件
$ sudo apt install apt-transport-https software-properties-common
增加 PPA
$ add-apt-repository ppa:ppa_name
列出已裝 PPA
$ ls /etc/apt/sources.list.d
移除 PPA
$ sudo add-apt-repository --remove ppa:ppa_nameMozilla Firefox(非 ESR 版)
- 下載 Mozilla Firefox,解壓縮至家目錄下載夾中
$ wget 'https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=zh-TW' - $ sudo mv firefox /opt/
$ sudo chmod 755 /opt/firefox(改變權限讓它可以自動更新)
$ sudo chmod 755 /opt/firefox/firefox(改變權限讓它可以自動更新) - 安裝選單編輯器軟體,將 firefox 加入到應用程式選單中:
$ sudo apt install menulibre - 設定選單編輯器
- 安裝虛擬鍵盤:
- $ sudo apt install onboard(安裝虛擬鍵盤)
- $ sudo apt install lightdm-gtk-greeter
- $ sudo nano /etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
keyboard = onboard Libeoffice 7.3.1
- $ wget https://download.documentfoundation.org/libreoffice/stable/7.3.1/deb/x86_64/LibreOffice_7.3.1_Linux_x86-64_deb.tar.gz
- $ tar -xvf LibreOffice_7.3.1_Linux_x86-64_deb.tar.gz
- $ cd LibreOffice_7.3.1.3_Linux_x86-64_deb/DEBS/
- $ dpkg -i *.deb
apt install -y bluez blueman pulseaudio-module-bluetooth
藍芽鍵盤安裝時不用配對直接連結即可
如何使用add-apt-repository指令:
sudo apt install software-properties-common
訂閱:
文章 (Atom)