由于加入了Windows Insider计划,win10频繁更新,在某次更新中丢失了grub2的引导,开机默认进入Windows Boot Manager,无法进入Debian。于是便开始查找各种资料修复grub2。
本机环境
系统:Windows 10(位于SSD) + Debian stretch(位于HDD)
引导方式:UEFI (SSD和HDD均为GPT分区)
使用工具
- 使用rufus制作的Debian Live USB启动盘
修复步骤
- 重启并按F7(本机为神舟系列,请根据机型自行更改)进入启动菜单,选择USB进入Debian Live环境(建议选择纯英文的Debian Live,中文环境下终端会出现乱码)
- 打开终端,使用
sudo passwd root
修改root用户密码(因为不知道Debian Live中root用户默认密码) - 输入
su
切换到root用户下(防止每次命令前都要输入sudo) - 使用
fdisk -l
查看各磁盘分区信息,找到efi(boot)和linux 根目录对应的分区 挂载各个分区,假设efi分区为sda2,根目录为sda3
mount /dev/sda3 /mnt //将/mnt挂载为根目录 mount /dev/sda2 /mnt/boot/efi mount -t proc /proc /mnt/proc //使用-t指定挂载类型,挂载proc文件系统 mount -t sysfs /sys /mnt/sys //挂载sysfs文件系统 mount -o bind /dev /mnt/dev //亦可使用mount --bind,将live系统中的/dev挂载到/mnt/dev mount -t devpts devpts /mnt/dev/pts chroot /mnt 将/mnt作为系统根目录
重装grub2
grub-install /dev/sda2 --targe=x86_64-efi //默认安装32位,需使用参数指定为64位 update-grub2
- 重启即可