Ubuntu启动修复(无法找到GRUB|引导加载器)
问题: 笔者的一台双系统主机,里面有两个硬盘,1T的硬盘装的是windows系统,2T硬盘装的是ubuntu20.04系统。因为长期使用ubuntu系统,所以选择格式化了1T的硬盘,但这导致我开机时bios无法识别启动项(循环进入bios不进系统),无法进入原先的ubuntu系统。
如果你是双系统,需要考虑你的引导加载器在哪个盘,这对你后续处理硬盘很重要
该方法对开机时无法找到硬盘引导加载器的Ubuntu系统适用
一、进入Ubuntu系统
- 使用另一电脑下载Ubuntu的ISO文件,制作一个可启动的USB安装盘
- 插入USB后重启电脑,并在BIOS中选择从USB设备启动
- 启动后在安装界面选择
Try Ubuntu withou installin
(试用Ubuntu不安装)
二、重装GRUB(引导加载器)
首先在你试用的Ubuntu终端输入
bash
lsblk
来查看你的硬盘是否能被识别
可以看到我目前需要重装GRUB的是nvme1n1,nvme0n1就是我之前装windows的盘,原先的引导都在那,但是因为格式化所以都没了。
在终端输入
bash
sudo blkid
来查看你的nvme1n1分区下的目录分别对应哪些,我们这里需要找到三个
- /
- /boot
- /boot/efi(类型为vfat)
上述三个目录是我们需要挂载到新分区下的,在确定后进行挂载
bash
sudo mount /dev/nvme1n1p5 /mnt #挂载根分区
sudo mount /dev/nvme1n1p3 /mnt/boot #挂载boot分区
sudo mount /dev/nvme1n1p4 /mnt/boot/efi #挂载EFI系统分区
挂载好后chroot到ubuntu环境
bash
sudo chroot /mnt
重新安装GRUB
bash
# 安装GRUB到EFI分区
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu --recheck
# 更新GRUB配置
update-grub
# 退出chroot环境
exit
重启
bash
sudo reboot
之后等待系统自检开机就可以了