内核恐慌,无法同步VFS,无法在未知块oo上挂载根文件系统,交换机未被污染。

我把我的笔记本电脑(Ubuntu)升级到了11.10版本,但是不知道出了什么问题,当我重新启动电脑时,它只会告诉我:

内核恐慌,无法同步VFS,无法挂载根文件系统在未知块上 oo swapper未被污染...

我是一个新用户,对此一无所知。有什么建议吗?

2个回答

你缺少该内核的initramfs。从grub菜单中选择另一个内核,或者运行update-initramfs -u -k version来生成该版本的initrd,然后再运行update-grub。
启动到LiveCD,选择试用Ubuntu,然后打开终端。运行以下命令:
sudo fdisk -l

这将显示我们可用的分区。您需要寻找您的主Ubuntu分区。在大多数新安装的系统上,这将是sda1,但实际上可以是任何内容。请在下面的fdisk输出中用您认为正确的内容替换sda1。
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /run /mnt/run
sudo chroot /mnt 

现在你可以运行update-initramfsupdate-grub而不会出现错误,这应该能解决所有问题。重新启动时不要插入光盘,你应该能进入Ubuntu桌面。
此外,在chroot之后:
cp -r /usr/lib/i386-linux-gnu/pango /usr/lib/

update-initramfs -u -k 2.6.38-8-generic #(or your version)
update-grub2

你可以使用以下命令查找已安装的内核列表:dpkg --list | grep linux-image。然后重新启动你的系统。

+1 这对我在虚拟机崩溃后起作用。我只是挂载、更新 initframfs 和 update-grub2。我检查了/boot/grub/grub.init 中的最新内核版本。 - ralu
太棒了!这个方法完美地运行了。我只有一张Knoppix Live CD可用,但它仍然非常好用。 - N.C. Weber
我甚至无法进入恢复模式的命令行界面来执行这些命令。我该怎么办? - IgorGanapolsky
1这对我有用。使用其他内核启动,并运行上述命令。 - Jay Dharmendra Solanki

  1. 获取/刻录一张带有Linux系统的安装光盘。

  2. 从这张光盘启动(可能需要按F12(或其他键)选择启动选项)。

  3. 挂载旧文件系统,我使用以下命令:

    代码:

    mount -t ext4 /dev/sda1 /mnt
    
  4. 在ROOT账户下,进入我的引导卷(位于/mnt/boot/grub),并编辑"grub.conf"文件,以便(A)显示菜单和(B)给我几秒钟的时间选择选项:

    代码:

    timeout=10
    #hiddenmenu
    
  5. 重新启动(这次从硬盘启动)。

  6. 选择第二个内核(而不是最近的损坏的内核)。

  7. 它成功了!

  8. 然后,我回到grub(现在在"/etc/grub.conf",它是软链接到"/boot/grub/grub.conf"),并编辑它来注释掉(或删除)与损坏内核相关的行:

    代码:

    # title Fedora (2.6.40-4.fc15.i686)
    #        root (hd0,0)
    #        kernel /vmlinuz-2.6.40-4. ......
    
我注意到这个节奏没有“initrd…”行。也许这就是为什么它无法启动的原因。