Deepin修复启动项菜单---grub2启动修复

前言

如果Grub2接管MBR,那么Grub2安装分为三部分:

  • 第一部分(一般情况下)写在了mbr上

  • 第二部分是将core.img嵌入到MBR之后的保留扇区部分

  • 第三部分才是/boot/grub下面的各种模块和文件(如果/boot单独分区,则直接写在对应分区的/grub目录)里面。

注意:本条目只针对Grub2.0

显示Grub菜单

有时候用户会将Grub等待时间设为0,若想临时显示Grub菜单,开机时,在Grub加载前按住Shift键不放即可,部分主板可能需要多重启一次才会生效。若能进入Deepin系统,也可以到 控制中心->启动菜单 调整相应选项。

Grub错误

1.类型一

开机显示:

GRUB loading
error:unknow filesystem
grub rescue>

已经发现下面几种操作会导致这种问题:

  • 想删除Linux,于是直接在windows下删除/格式化了Linux所在的分区。

  • 调整磁盘,利用工具合并/分割/调整/删除分区,使磁盘分区数目发生了变化。

  • 重新安装系统,把linux安装到了新分区,原有分区已经格式化,但是没有重新安装grub2。

  • 用Linux备份工具/衍生版制造工具等,把主分区恢复成了8.X的老版本,结果老版本的grub是grub1,于是把grub2破坏掉了。

2.类型二

重新安装Windows系统后,电脑开机直接进入Windows系统,无法进入Linux系统.

重装Grub

1.使用Deepin Live CD模式启动电脑,任何装有grub2的系统的Live CD都可以。

2.进入Live CD系统后打开终端。判断系统的标准分区后, 如果没有单独分/boot,那么把原来的系统所在分区/(假设在/dev/sda1)挂载

 sudo mount /dev/sda1 /mnt

如果/boot单独分了出来(这里假设为/dev/sda2),也要挂上

 sudo mount /dev/sda2 /mnt/boot

另外,将Live CD系统的dev目录同时挂在/mnt下

 sudo mount --bind /dev /mnt/dev

然后使用chroot命令,将Live CD的根目录设为以前的根目录

 sudo mount --bind /proc mnt/proc
 sudo mount --bind /sys mnt/sys
 sudo chroot /mnt
  • 安装并刷新grub设置,如果你的主板为Bios引导,请终端执行:

 grub-probe -t device /boot/grub
 grub-install /dev/sda
 grub-install --recheck /dev/sda
  • 安装并刷新grub设置,如果你的主板为UEFI引导,请终端执行:

 grub-probe -t device /boot/grub
 grub-install --target=$(ls /usr/lib/grub/ | grep efi)
 grub-install --recheck /dev/sda

重装Grub完毕,重启电脑发现没有windows选项(如果你为多系统),请进入Deepin后终端执行:

 sudo update-grub

使用Boot Repair修复

1.使用Deepin Live CD模式启动电脑

2.打开终端

3.在终端内输入

 sudo add-apt-repository ppa:yannubuntu/boot-repair
 sudo apt-get update
 sudo apt-get install boot-repair boot-sav

4.成功后输入

 boot-repair

5.然后点击“常规修复”等待修复完成即可。

你可能感兴趣的:(grub2,修复,deepin)