如何获取我的 grub2 Ubuntu

如何获取我的 grub2 Ubuntu

我准备了(gParted)我的多重启动系统(使用 gpt 分区表,因为我的 BIOS 启用了 UEFI 模式......)

/dev/sda1  ntfs  "Win"      50 GB
/dev/sda2  ext4  "Boot"     1 GB   → for "/boot"
/dev/sda3  ext4  "Linux"    89 GB  → for _crypt Volume, therein "/"
/dev/sda4  fat   "Xfer"     ca 27 GB  (the rest) transfer partition (one day…)

然后安装了 Windows 10 Pro(顺便说一下,在安装过程中将第一个分区切成 4 个,这是正常行为。但同样,安装工作顺利,我可以反复启动 Win10、更改东西等等。)。

然后我安装了 Ubuntu-Mate 16.0.4 LTS,选择了扩展“其他”选项。虽然提供了现成的 Windows 多重启动选项,但我想要加密,所以我将 89GB 分区设为“用于加密的物理卷”,然后在“/”内。(我已经多次完成这个 Ubuntu 安装部分。应该不是问题……)

无论如何,在看似成功安装并第一次重启后,我现在正盯着一个最小的 grub 提示符:

在此处输入图片描述

现在怎么办?如何找回我的/任何引导加载程序?

以及/或者如何诊断问题?

答案1

这就是让你开始操作的方法(如果你手边没有 Live-USB)。进入 grub 提示符后:

列出分区

grub> ls

(hd0)(hd0,msdos2)(hd0,msdos1)

识别 Linux 分区

如果你不知道哪个是 Linux 可启动分区,请尝试

grub> ls (hd0,1)/ 结尾的斜杠表示根 ~ 列出了分区 1 的根

在我的系统上(hd0,msdos5)因此命令如下:

grub> ls (hd0,5)/

输出应类似于:

lost+found/bin/boot/cdrom/dev/etc/home/lib/
lib64/media/mnt/opt/proc/root/run/sbin/
srv/sys/tmp/usr/var/vmlinuz vmlinuz.old
initrd.img initrd.img.old

启动进入 Linux

使用tab键将在下面命令中自动完成内核名称

grub> set root=(hd0,5)
grub> linux /boot/vmlinuz-4.13.0-39-generic root=/dev/sda5 *
grub> initrd /boot/initrd.img-4.13.0-39-generic
grub> boot

* sda1 对应于 (hd0,1) - 请注意,在 GRUB 中,分区和设备的索引从 0 开始,而在 GRUB 2 中,分区索引从 1 开始

内核文件的位置可能是符号链接的,所以这很简单

grub> set root=(hd0,1)
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot

这应该可以启动 Linux,无需回答任何问题。

修复 GRUB

$ sudo update-grub

此时,无论当前有多少个操作系统,都应该恢复启动。包括 Windows。


这些指示的荣誉归于Carla 的如何在 Linux 上修复无法启动的 GRUB 2帖子。我建议阅读它,因为它包含许多细节和诀窍。

我敢说我的系统启动被 Win10 更新破坏了。但是,我们永远不应该说 Windows 或 Bill 不应该存在。他们是历史的推动力,为 Linux 这样伟大的操作系统创造了合适的环境。

相关内容