1.手动引导进入Ubuntu
首先,下载Ubuntu的安装镜像(里边有grub2引导),或者直接下个grub2,然后装在U盘里。
开机选择u盘进入Grub引导。 然后按c进去命令行模式。
然后手动引导进入原先的Ubuntu,我的boot分区是独立出来的,在(hd0,gpt6)里边,根分区在(hd0,gpt7)里。
如果忘了自己的分区情况,可以ls,
setroot=(hd0,gpt6)
linux/vmli...roroot=/dev/sda7
initrd/initrd...
boot
省略号部分直接按Tab键补全。然后就能进入ubuntu了。
2.重建ESP分区里的Grub引导
在Ubuntu里打开命令行,先su进入root模式。然后grub-install -v 注意, 这里的v是小写的。然后屏幕一顿弹出消息, 然后就重建好了。
看有没有重建好的话, 可以mount ESP分区,然后看里面有没有个Ubuntu的目录,里面应该有4个文件。
为了以后不再发生这种悲剧,建议折腾前先把ESP分区备份下来,以防不测。
先用fdisk -u -l 看一下哪个是ESP分区。
这里看到我的ESP分区是在/dev/sda4,记下Sectors,这里是522240。
然后:
dd if=/dev/sda4 bs=512 count=522240 of=./efi.backup
dd的作用是把指定的输入文件拷贝到指定的输出文件。
if=源文件路径,这是填我们要备份的分区。
of=目标文件路径,这里我写的是在当前目录下生成一个efi.backup的文件。
bs=512是指块的大小为512字节。
count 就是你要复制多少个块, 这里我们就填上面获得的Sectors。
以后恢复的话,直接dd if=./efi.backup bs=512 of=/dev/sda4恢复就行了。