说起来,win10 和 Ubuntu的双系统,win10 的自动更新偶尔就会破坏Ubuntu的引导,使得系统不能正常引导。之前的解决的方法是制作启动盘,然后,用boot-repair来修复,但但这里有个问题需要注意的是,该启动盘要以EFI的方式启动,不然boot-repair可能不能正常修复。
其实make hands dirty有时候是有意义的。一般来讲,我们只要用启动盘代理启动后,用Ubuntu的grub-install 工具就能修复。但是同样有个需要注意的问题就是,我们在chroot到原系统后,需要挂载设备到原系统下,我之前就一直挂载不上,一直报错说设备忙,后来注意到这篇文章,并参考了,才发现,“嵌套挂载” 设备需要使用mount -o bind 来进行操作的,即通过绑定的方式,使得对挂载点的访问变成对源文件的直接操作。所以,在这里记录下,省的以后又忘了加-o bind。
mount -o bind /dev /mnt/ubuntu/dev
mount -o bind /proc /mnt/ubuntu/proc
mount -o bind /sys /mnt/ubuntu/sys
mount /dev/sda1 /mnt/ubuntu/boot/efi
chroot /mnt/ubuntu
grub-install --target=x86_64-efi --efi-directory=/boot/efi
update-grub
另外一个种方式记录如下,以备待用
sudo mount /dev/sda5 /mnt
sudo mount /dev/sda2 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sda
update-grub
网友评论