之前迷你主机安装了三个系统,分别是ubuntu22.04, ubuntu20.04以及windows
在删除ubuntu20.04的过程中似乎连22.04的引导项一起误删了。导致UEFI启动里压根就找不到ubuntu选项,开机直接进入windows
但是ubuntu的主分区以及swap分区都在,同时其实也还有个EFI分区(估计是安装22.04时分的,但是最后没把引导项安装进去)
我不想重装系统,毕竟里面很多软件。因此尝试修复引导项。
我首先在Windows系统中给电脑增加了一个FAT32格式的分区,大约1G
首先制作一个ubuntu22.04的安装盘,插入电脑,启动,进入BIOS,设置U盘启动。之后进入安装Ubuntu界面,选择Try Ubuntu。
开启终端,输入lsblk,查看硬盘各个分区,并找到Ubuntu所在分区。
本人的ubuntu主分区为nvme0n1p4,swap分区为nvme0n1p5,此前设置的1G的FAT32分区为nvme0n1p3
接下来输入,sudo mount /dev/nvme0n1p4 /mnt,把ubuntu主分区挂载至/mnt
再输入
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/nvme0n1p3 /mnt/boot/efi
为了避免之后报/dev挂载相关的错误,我们还需要进行一些重新挂载
sudo mount --rbind /dev /mnt/dev
sudo mount --rbind /proc /mnt/proc
sudo mount --rbind /sys /mnt/sys
之后再使用chroot
sudo chroot /mnt bash
之后,再安装grub到我们事先准备好的分区
grub-install /dev/nvme0n1p3
提示no error reported,安装成功。之后exit退出chroot模式,再reboot重启。我们可以看到又可以选择ubuntu系统了。
但是吊诡的事情是,这时候选项里只有20.04,我选择ubuntu系统后只能一直停留在logo转圈圈界面。于是我先进入advanced mode,不过奇怪的是,recovery menu键盘非常卡,一直按不动。在recovery menu选择了grub选项。再次重启后没有了之前的20.04选项,只有一个ubuntu选项。
但是进去之后还是emergency mode。于是再次进入advanced mode,这次彻底按不动方向了。
暂时先记录到这