如何在 do-release-upgrade 之后从 grub 提示符手动启动?

如何在 do-release-upgrade 之后从 grub 提示符手动启动?

我读了几个关于这个主题的其他问题,他们都提到了 Grub2 社区文档和从安装盘安装 grub 配置。我在阅读文档时遇到了一些问题,所以我就在这里。这可能是完全的 PEBKAC。

我在一台 KVM 虚拟化的 Ubuntu 10.04 服务器上安装了两台客户机,两台服务器最初都运行 10.04。我使用“do-release-upgrade”将两台机器都顺利更新到 10.10,重新启动,然后运行“do-release-upgrade”将两台机器都更新到 11.04。由于太匆忙,我忽略了有关缺少 grub 配置的错误。当我重新启动客户机时,自然会出现 grub 提示符。发出“boot”命令会出现“错误:未加载内核”。

以下是根分区的 ls 输出:

grub 提示符 ls 输出

按照手动引导指南操作时,我无法直接使用“SS928-root”或“hda0,1”作为根文件系统获取选项。大多数情况下都会出现“文件未找到”错误。

在这两个文件系统上发出“ls”会显示 vmlinuz 和 initrd.img 的几个选项。如果有帮助的话,这些客户机正在使用 LVM。

编辑

我又走了一步。以下命令序列:

半成功启动

出现以下屏幕(滚动浏览相当多的文本后):

BusyBox 外壳

答案1

看了 jdehaan 的帖子后,我检查了一台配置相似的机器。从另一台机器的 grub.cfg 中,我使用以下命令来启动它:

recordfail
insmod ext2
set root='(hd0,1)'
linux /vmlinuz-2.6.32-server root=/dev/mapper/SS928-root ro quiet
initrd /initrd.img-2.6.32.30-server
boot

我想下一步就是弄清楚如何替换这台机器上的 grub.cfg。

答案2

我遇到了同样的问题,可以通过指定来解决问题

linux /boot/vmlinuz.... root=/dev/sda1

所以/dev/sda1(或者与您的系统匹配的内容)而不是 SS... 在我尝试期间,您的其余帖子保持不变。

答案3

如果您在某处有一个有效的 grub 配置,ls则根级别会列出分区,并configfile (boot device)/path/to/grub.config允许您启动 grub 配置。

相关内容