我进行了aptitude full-upgrade之后无法启动,并且让它更新menu.lst(先做一个diff,看起来不错)。
这就是我在BusyBoxshell中所做的:
mkdir /tmp/xvda1 mount /dev/xvda1 /tmp/xvda1 chroot /dev/xvda1 nano /boot/grub/menu.lst
这个文件看起来像这样:
title Ubuntu 12.04.1 LTS, kernel 3.2.0-31-virtual root(hd0,0) kernel /boot/vmlinuz-3.2.0-31-virtual root=UUID=/dev/xvda1 ro quiet splash initrd /boot/initrd.img-3.2.0-31-virtual title Ubuntu 12.04.1 LTS, kernel 3.2.0-31-virtual (recovery mode) root(hd0,0) kernel /boot/vmlinuz-3.2.0-31-virtual root=UUID=/dev/xvda1 ro single initrd /boot/initrd.img-3.2.0-31-virtual titleUbuntu 12.04.1 LTS, kernel 3.2.0-24-virtual root(hd0,0) kernel/boot/vmlinuz-3.2.0-24-virtual root=UUID=/dev/xvda1 ro quiet splash initrd/boot/initrd.img-3.2.0-24-virtual titleUbuntu 12.04.1 LTS, kernel 3.2.0-24-virtual (recovery mode) root(hd0,0) kernel/boot/vmlinuz-3.2.0-24-virtual root=UUID=/dev/xvda1 ro single initrd/boot/initrd.img-3.2.0-24-virtual titleUbuntu 12.04.1 LTS, kernel 3.2.0-24-generic root(hd0,0) kernel/boot/vmlinuz-3.2.0-24-generic root=UUID=/dev/xvda1 ro quiet splash initrd/boot/initrd.img-3.2.0-24-generic titleUbuntu 12.04.1 LTS, kernel 3.2.0-24-generic (recovery mode) root(hd0,0) kernel/boot/vmlinuz-3.2.0-24-generic root=UUID=/dev/xvda1 ro single initrd/boot/initrd.img-3.2.0-24-generic titleChainload into GRUB 2 root(hd0,0) kernel/boot/grub/core.img titleUbuntu 12.04.1 LTS, memtest86+ root(hd0,0) kernel/boot/memtest86+.bin
从我记得,升级添加了UUID=string。 我应该删除这些? 或者说,我怎样让我的系统重新上线? 谢谢。
更新:似乎我甚至不能编辑文件。
[ Error writing /boot/grub/menu.lst: Read-only file system ]
更新2:
我现在从图像重build了服务器。 现在检查差异,这似乎是市长的事情:
-kernel /boot/vmlinuz-3.2.0-24-virtual root=/dev/xvda1 console=hvc0 ro quiet splash +kernel /boot/vmlinuz-3.2.0-31-virtual root=UUID=/dev/xvda1 ro quiet splash
所以如果我能保存menu.lst ,我想我可以解决它。
我剩下的问题是:我怎么能写menu.lst ?
我刚刚遇到同样的问题 – 在重新启动之前编辑您的/boot/grub/menu.lst – 删除UUID=并添加console=hvc0 。
从我可以收集console=hvc0允许Xenredirect和捕获控制台输出。 此外,可以使用UUID来标识根分区,但使用的语法不正确。
来源于此 。