修复Grub引导

双系统安装后, Grub进不去的问题解决方式

Posted by Chopong on May 2, 2019

Table of Contents

修复Grub引导

系统进不去?

  1. 使用命令行进入系统, 或者使用Live 系统进入, 打开终端, 挂载需要修复系统的 / 挂载到/mnt,可以利用Gparted或者 sudo fdisk -l 命令查看,例如需要修复系统的/分区为/dev/sda1。 执行以下命令:

         sudo mount /dev/sda1 /mnt
    
  2. 如果需要修复系统的/boot单独分了出来(假设为/dev/sda2),也要挂上,终端执行:

         sudo mount /dev/sda2 /mnt/boot
    
  3. 另外,将Live CD系统的/dev目录同时挂在/mnt下,终端执行:

         sudo mount --bind /dev /mnt/dev
    
  4. 然后使用chroot命令,将Live CD的 / 设为以前的 /,终端执行:

         sudo mount --bind /proc /mnt/proc
         sudo mount --bind /sys /mnt/sys
         sudo chroot /mnt
    
  5. 安装并刷新GRUB设置(主板为BIOS引导),请终端执行:

         grub-probe -t device /boot/grub
         sudo grub-install /dev/sda
         sudo grub-install --recheck /dev/sda
         sudo update-grub
    
  6. 安装并刷新GRUB设置(主板为UEFI引导): 启动root shell后,检查您的EFI系统分区(最可能 /dev/sda1)是否安装在 /boot /efi 上:

         mount /dev/sda1 /boot/efi
    
  7. 重新安装 grub-efi 包:

         apt-get install --reinstall grub-efi
    
  8. 将debian引导加载程序放在 /boot/efi 中,并在计算机NVRAM中创建一个适当的条目:

         grub-install /dev/sda
    
  9. 重新创建一个基于磁盘分区模式的grub配置文件:

         update-grub
    
  10. 挂载EFI分区到 /boot/efi,安装 grub-efi 包:

        grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Deepin
        grub-mkconfig -o /boot/grub/grub.cfg
    
  11. 修复完成,重启电脑生效。