这是一次踩坑记录
之前在一台【戴尔Inspiron 灵越 15 7000游匣Master 7567】(Intel i7-7700HQ + NVIDIA 1050Ti + 3840*2160高清屏)的笔记本上成功安装Windows 10和Ubuntu 16.04 LTS。两个系统在同一块512GB的固态硬盘里面。结果某天屏幕左下角闪屏,幸亏没过保,送去保修完回来后,发现只能进Windows 10,Ubuntu无法引导,决心想办法修复。遂查阅一些资料,在各大网友的帮助下,成功解决问题。一怒之下,写下经历。以便以后再出问题能快速解决。
- 在此,感谢如下帖子,我的主要问题在这个帖子指引下成功解决。
How can I reinstall GRUB to the EFI partition?
本引导修复仅支持UEFI引导+GPT分区格式的硬盘,MBR分区表请移步BIOS+MBR下Windows+Ubuntu双系统引导恢复
- 先制作一个Ubuntu的LiveCD启动盘,版本我用的18.04(16.04也可以,毕竟系统装的就是16.04)。
- U盘引导启动,开机按F12进行引导选择(不同电脑按键不一样),选择U盘即可。这里注意两点:
1)引导模式,由于系统硬盘采用GPT分区表格式,所以这里需要选择UEFI方式下的引导。
2)可能是屏幕原因,也可能是镜像或者U盘原因,我进18.04的试用时,总会在桌面卡死然后死机,只能长按电源键强制关机。后来在引导的时候,一出现紫色界面,立马按F1,然后会让选择语言,选了English之后,会进行启动选择,我选择Try Ubuntu without installing.进入桌面后,打开一个终端。 - 通过 fdisk 和 blkid命令查看并确定Ubuntu安装所在分区,以及确定引导分区。
sudo fdisk -l
sudo blkid
下面是我这个电脑的截图(主要关注/dev/sdX#
,用于帮助确定相关的分区 )
blkid
从图中可以看出,/dev/sda
是固态盘(512GB大小),/dev/sdb
是机械盘(1TB大小),/dev/sdc
是LiveCD的U盘。我的Ubuntu安装分区是/dev/sda4
,是固态盘的最后分区;引导分区EFI分区(也有的称ESP分区,是一个意思,英文EFI System Partition)是/dev/sda1
,在固态上。
- 挂载Ubuntu分区到一个临时目录,比如挂载到
/mnt/ubuntu
,注意替换下述命令中的/dev/sdXy
为第3步中得到的Ubuntu分区的设备名称:
sudo mkdir /mnt/ubuntu
sudo mount /dev/sdXy /mnt/ubuntu
比如对于我的电脑,就是:
sudo mkdir /mnt/ubuntu
sudo mount /dev/sda4 /mnt/ubuntu
这里需要注意一点,如果有Ubuntu有单独的boot分区,则应该挂在boot分区到/mnt/ubuntu/boot
下,我的整个Ubuntu都在一个分区上,所以这里可以忽略。
5.挂载引导分区(ESP分区),注意需要挂载到上一步中的boot目录下的efi目录
sudo mount /dev/sdXy /mnt/ubuntu/boot/efi
比如对于我的电脑,就是:
sudo mount /dev/sda1 /mnt/ubuntu/boot/efi
- 重新安装grub,将下面命令中的
/dev/sdX
替换为第3步中得到的引导硬盘的设备名称。省略数字号码。
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt/ubuntu$i; done
sudo chroot /mnt/ubuntu
grub-install /dev/sdX
update-grub
比如对于我的电脑,就是:
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt/ubuntu$i; done
sudo chroot /mnt/ubuntu
grub-install /dev/sda
update-grub
6.安装完毕后,一路exit
退出终端,然后重启即可。
网友评论