卡在 GRUB 命令行

卡在 GRUB 命令行

我正在运行 Natty Alpha 3。我使用更新管理器安装了一些东西(不确定是什么),然后我重新启动,但它没有列出所有内核,而是给了我一个命令行。我不知道发生了什么,也不知道如何使用它。救命!

答案1

我可以建议您使用 Live CD 恢复 grub 安装吗?
我可以通过以下说明多次恢复 grub:https://wiki.ubuntu.com/Grub2#Recover

方法 3 - CHROOT

此安装方法使用 chroot 命令来访问损坏的系统的文件。一旦发出 chroot 命令,LiveCD 就会将损坏系统的 / 视为自己的。在 chroot 环境中运行的命令将影响损坏系统的文件系统,而不会影响 LiveCD 的文件系统。

1) 启动 LiveCD 桌面(Ubuntu 9.10 或更高版本)。请注意,Live CD 必须与您正在修复的系统相同 - 32 位或 64 位(如果不是,则 chroot 将失败)。

2) 打开终端 - 应用程序、附件、终端。3) 确定您的正常系统分区 -(开关是小写的“L”)

sudo fdisk -l

如果你不确定,请运行

df-钍
查找正确的磁盘大小和 ext3 或 ext4 格式。4

) 挂载您的正常系统分区:

替换正确的分区:sda1、sdb5 等。

sudo mount /dev/sdXX /mnt  
# 示例:sudo mount /dev/sda1 /mnt

5) 仅当您具有单独的启动分区时:sdYY 是 /boot 分区名称(例如 sdb3)
sudo mount /dev/sdYY /mnt/boot
6)挂载关键虚拟文件系统:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
7)Chroot 到你的正常系统设备:

sudo chroot/mnt

8)如果没有 /boot/grub/grub.cfg 或者不正确,请使用以下命令创建一个

更新 grub

9)重新安装 GRUB 2:

替换正确的设备 - sda、sdb 等。

不要指定分区号(例如,不要指定 sda5,而可以是 sda)

grub-安装/dev/sdX

10)验证安装(使用正确的设备,例如 sda。不要指定分区):

sudo grub-install --recheck /dev/sdX
11)退出 chroot:键盘上的 CTRL-D 12)卸载虚拟文件系统:

sudo 卸载 /mnt/dev/pts
sudo 卸载 /mnt/dev
sudo 卸载 /mnt/proc
sudo 卸载 /mnt/sys

13)如果您安装了单独的 /boot 分区:

sudo umount /mnt/boot

14)卸载 LiveCD 的 /usr 目录:

sudo 卸载 /mnt/usr

15)卸载最后一个设备:

sudo 卸载/mnt

16)重新启动。

sudo 重启

答案2

我在常规升级时也遇到过这种情况。幸运的是,我当时正在开发系统,在将升级推向生产之前确定了升级的稳定性。

“steabert” 的回答毫无帮助。这是针对运行 Windows 的用户的回答。早期版本用于查找错误,而 Cg2916 发现了一个错误。

我通过使用 grub 控制台继续启动来恢复,然后在能够登录后重新安装了 grub。

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

有很多有趣的事情发生

sudo grub-install /dev/sda

当然,您需要调整正确的分区号和设备名称,但在克服最初的痛苦之后,一切都变得相当轻松。

现在,我如何在仅具有 SSH 访问权限的远程位置的虚拟机上执行此操作......

相关内容