以任一款 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 的程序步驟
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言