在我的托管 VPS 上运行 Ubuntu 时出现问题。我只能访问恢复控制台,以便安装设备。
我已将问题缩小到混乱menu.lst
。我的内核和 initrd 指向正确的映像,但我不知道虚拟机启动时的驱动器标识符是什么。此外,使用 grub 命令行尝试访问驱动器时会出现错误。
有人能给我一些建议,告诉我该怎么做才能确定驱动器标识符,或者做其他任何可能有帮助的事情吗?
Grub版本是0.97。
更新:
我将快速地稍微检查一下我的环境。
- 我处于恢复控制台中,从它的外观来看,它的作用就像一张 Live CD。
- 我已将我的 VPS 根目录(sdb1)挂载到 /mnt。
- 我已经使用
mount -o bind /dev /mnt/dev
- 我可以在 /dev; 中看到另外两个驱动器
sda
(包含isolinux
)并且sdb2
它是我的 VPS 交换。 然后我 chroot 到 /mnt/ 来访问 grub 提示符。然后我得到以下内容:
grub> root (hd0, <TAB>
grub> root (hd0,0)
Error 5: Partition table invalid or corrupt.
在第一个命令中,当我按下 Tab 键时,grub 没有显示任何建议。而且,只找到了 hd0。
一旦获得许可,我将立即为这个问题提供悬赏。感谢您的帮助!
更新2:
fdisk -l /dev/sdb // Doesn't exist.
fdisk -l /dev/sdb1 // My root partition.
...
Disk /dev/sdb1 doesn't contain a valid partition table.
答案1
如果你能做到这一点,这需要访问 grub shell
grub> root (hd0,0) #Replace with your root drive
grub> cat /<TAB> #Check if files appear
grub> configfile /grub/menu.lst #Check menu.lst
答案2
在设法进入 busybox 后,发现磁盘被命名为一些不寻常的名字 ( vxda1
)。一旦我知道这一点,我就可以通过编辑 轻松解决问题menu.lst
。
问题是由 引起的grub_update
,在调用时会删除 的内容menu.lst
。原因不明。