如何让我的服务器再次正常启动?卡在 Grub 命令行

如何让我的服务器再次正常启动?卡在 Grub 命令行

突然间,我的 Ubuntu 13.04 (Raring) 服务器无法正常启动。它停在 grub 命令行上。

如果我输入ls,我会得到

(hd0) (hd0,msdos5) (hd0,msdos1) (fd0) 

然后我可以对ls每个单独的分区进行检查,唯一找到东西的是 hd0,msdos1

我把硬盘连接到另一台电脑上,我发现所有数据仍然在那里!

我怎样才能再次正常启动?

答案1

看起来 grub 菜单有问题。

首先从 LiveCD 或 Live USB 启动 ubuntu。您需要在服务器硬盘设备上重新安装 grub。要知道设备地址,请在终端中输入

sudo fdisk -l

这将在列表中列出磁盘及其卷。记下您需要安装 grub 的设备。设备的大小会给您提示。如果 /dev/sda 是需要安装 grub 的设备,请转到终端并输入

sudo grub-install /dev/sda

重新启动服务器并检查问题是否解决。

更新:如果上述方法失败,请使用启动修复工具来修复问题,或者你可以尝试

sudo grub-install /dev/sda --force

答案2

我猜那是在进行 ubuntu 内核更新后发生的,所以你更新了内核但没有更新 grub 配置,grub 尝试启动旧内核文件但它已被删除,所以让我们从 grub 命令行手动启动

首先尝试 ls (hd0,msdos1)/ 和...并找到你的 /boot 分区(或者如果都在一个分区中,则找到你的 ubuntu 分区)

当您找到“/boot”(如果您有单独的分区)或“/”时,请输入:set root=(hd0,msdosX) 这将为 grub 设置根浏览目录(替换 X)

查找名称以“vmlinuz”开头的文件和名称以“initrd”开头的文件(它们应该位于 /boot 或其子文件夹中的同一文件夹中,如果有多个同名文件,请选择名称中具有相同版本的一对文件(最后一个最好))

现在我们假设您找到的文件是:vmlinuz-4.19.0-kali4-amd64 & initrd.img-4.19.0-kali4-amd64

在 grub 命令行中输入: linux /boot/vmlinuz-4.19.0-kali4-amd64 initrd /boot/initrd.img-4.19.0-kali4-amd64 boot

恭喜你已成功从 grub 命令行手动启动了 ubuntu(或任何其他 unix),如果你正确完成了这些步骤,你应该会看到你的操作系统正在启动

相关内容