我红着脸试图恢复我的 Deepin 安装。
我安装了 Ubuntu 16.04,但想尝试一些不同的东西。当我之前从 Windows 双启动中删除 Ubuntu 时,我不得不手动删除 ubuntu EFI 目录以阻止系统每次都在启动菜单中启动。像个傻瓜一样,我试图对我的 Linux 机器做同样的事情,现在每次启动时我都只会得到:
GNU GRUB 版本 2.02~berta2-36ubuntu2
我尝试使用退出命令退出,但随后只收到一条消息,说安装正确的启动设备。
我尝试从 deepin 启动驱动器进入故障安全模式以重新添加 efi 文件,但我认为这只是一种实时模式,因此每次我重新启动 ubuntu 目录时它都会再次消失。
除了重新安装之外,还有什么办法可以解决这个问题吗?我能以某种方式从 GRUB 或其他东西中恢复 ubuntu efi 目录吗?
我现在已经按照 Boot-Repair 的评论完成了恢复过程,它仍然可以在 gnu grub 中启动。
答案1
由于 efi ubuntu 目录已被删除,因此您必须从与当前 ubuntu 相同版本的 live cd 中复制 efi 文件
因此让我们首先启动 Ubuntu 16.04 LTS 的 Live CD。
有时其他版本的 ubuntu 也可以工作,但不要使用其他发行版来制作 live cd
打开终端并列出计算机上的分区
lsblk
你会得到类似
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 601.4G 0 part
├─sda2 8:2 0 325.2G 0 part
└─sda3 8:3 0 200M 0 part
sr1 11:1 1 1024M 0 rom
sdb
├─sdb1 8:1 0 4.4G 0 part /media/user/pendrive
猜猜你的Linux ext4 文件系统,sdXY。在本例中我的是 sda1。将其替换为您自己的
现在我们应该挂载Linux文件系统:
sudo mount /dev/sdXY /mnt
安装一些其他必需的东西:
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
现在 chroot 进入已挂载的分区。
sudo chroot /mnt
你现在应该位于旧的 ubuntu 文件系统中
现在创建 grub 将安装文件的目录:
# mkdir -p /boot/efi
让我们识别我们的 EFI 分区:
lsblk
它通常约为 100MB 或 200MB。我的是 sda3。我将使用 sdxy 来表示它。磁盘是 sda。
现在挂载 efi 分区:
# mount /dev/sdxy /boot/efi
安装 grub 到磁盘:
# apt install efibootmgr
# grub-install /dev/sdX
grub 将安装启动 PC 所需的所有必要的 efi 文件
安装 grub 后执行以下操作:
# update-grub
完成后退出 chroot:
# exit
现在重启:
reboot
希望这能解决这个问题