在 Ubuntu 16.04 中更新后,我进入了 GNU GRUB,但似乎卡在那里

在 Ubuntu 16.04 中更新后,我进入了 GNU GRUB,但似乎卡在那里

我还没有解决这个问题,但我会更新我的问题。

我在 Ubuntu 16.04 中运行正常更新,突然出现了 GNU GRUB 屏幕。我是通过 Ubuntu 软件进行更新的,而不是从终端进行更新。我运行 64 位 AMD,这台电脑上只有 Ubuntu(没有双启动)。我新买的这台电脑不到一年。它是一台联想 Ideapad 510。

白天,我看到至少另外两个人也遇到了同样的问题,也都是在 16.04 上:

https://ubuntuforums.org/showthread.php?t=2384382

升级后无法启动

我认为,但不能确定,我遇到的问题和这两个问题一样。第二个链接中的人似乎找到了一个解决方案,可以启动系统,但会出现一些错误消息。但是,GNU GRUB 似乎相当复杂,很难知道从哪里开始学习它。换句话说,我不明白她做了什么。

我确实发现了这一点:

https://www.linux.com/learn/how-rescue-non-booting-grub-2-Linux

其中提供了一些关于 GRUB 的初学者说明。我确实设法找到了我的内核所在的位置 (hd0,2)。但是,这里关于从 GRUB 启动的说明最终对我没有帮助。它说 vmlinuz 版本和 initrd 版本应该相同。但是,事实证明我的计算机上有许多不同的 vmlinuz 版本,我不知道该选择哪一个。因此,上述文档说:“在某些 Linux 系统上,当前内核和 initrd 被符号链接到根文件系统的顶层:”因此可以尝试这样做:

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

好吧,我试过了。终端里充满了不同的脚本(?),所以我一开始还抱有希望,但现在这个过程以以下几行奇怪的代码结束:

No init found. Try passing init=bootarg.
[    4.104041] usbcore: registered new interface driver usbhid
[    4.104831] usbhid: USB HID core driver
BusyBox v1.222.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands
(initramfs) [   7.925590] random: nonblocking pool is initialized 

这就是我现在的处境。有人能给我一些建议吗?我想不能排除硬件故障,但我的直觉告诉我,这个问题源于今天早上那个决定性的 Ubuntu 更新。

我发现我的问题中有些文字被加粗了。我不知道为什么会这样,如果这让我的问题难以阅读,我深表歉意。

答案1

我已经解决了我的问题,所以我决定回答我自己的问题。

我能够通过 GRUB 启动我的计算机,只需对此处的说明进行微小的修改:

https://www.linux.com/learn/how-rescue-non-booting-grub-2-Linux

在 GRUB 提示符下,我输入:“ls”以获取所有分区的列表。

该列表看起来像这样:(hd0)(hd0,gpt1)(hd0,gpt2)...

获得分区列表后,我输入:“ls (hd0,1)/”来确定启动菜单是否在该分区中。请注意,此时您可以删除“gpt”,只需输入分区号即可。我对每个分区都执行此操作,直到找到哪个分区包含启动目录。

对我来说,启动菜单位于(hd0,2)

因此我输入了以下命令:“ls (hd0,2)/boot”来获取启动目录中的文件列表。

我从上面的链接了解到,在这方面,重要的文件是一个名为 vmlinuz 的文件和一个名为 initrd.img 的文件。我想这两个文件(以及启动菜单中的其他文件)有不同的版本是正常的。无论如何,我都注意到了这两个文件的最新版本,显然,重要的是 vmlinuz 和 initrd 具有相同的版本号。

注意到这一点后,我输入了以下命令。分区号和版本号可能对其他人来说不同,但正如所提到的,重要的是,vmlinuz 和 initrd 具有相同的版本号,并且“sda”后面的数字与分区号相对应。

grub> 设置根目录=(hd0,2)

grub> linux /boot/vmlinuz-4.4.0-89-generic root=/dev/sda2

grub> initrd /boot/initrd.img-4.4.0-89-generic

grub>启动

而且它确实成功了,启动时没有任何明显的错误信息。我不知道是否可以重新启动,但现在我有机会将所有未备份的文件复制到外部硬盘。另外,我可能会下载并制作一张新的安装 DVD。(我放错了原来的安装 DVD,这是我的问题的一部分)。然后我会尝试重新启动。

是的,我再也不会从“Ubuntu 软件”更新了!

答案2

我在 ubuntu 软件 -> 更新方面也遇到了问题。我了解到最好从终端更新系统,因为在某些情况下,GUI 可能会导致失败。如果你是我,我会使用选项“其他”重新安装

相关内容