内核恐慌不同步 vfs 无法在未知块上挂载根 fs oo 交换器未受污染

Ade*_*ata 9 kernel

我将我的笔记本电脑 (Ubuntu) 更新到 11.10,我不知道出了什么问题,当我重新启动计算机时它会启动,它只会告诉我。

内核恐慌未同步 vfs 无法在未知块上挂载 root fs oo 交换器未受污染...

我是一个新用户,我不知道该怎么做。有任何想法吗?

小智 9

您缺少该内核的 initramfs。从 grub 菜单中选择另一个内核,或运行 update-initramfs -u -k version 以生成版本的 initrd,然后运行 ​​update-grub。

启动到 LiveCD,选择 Try Ubuntu,然后打开终端。运行以下命令:

sudo fdisk -l
Run Code Online (Sandbox Code Playgroud)

这将向我们显示可用的分区。您需要查找您的主 Ubuntu 分区。在大多数全新安装的系统上,这将是,sda1但它真的可以是任何东西。sda1在下面的替代品中,无论您认为在fdisk输出中是什么都是正确的。

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 
Run Code Online (Sandbox Code Playgroud)

现在您可以运行update-initramfs并且update-grub没有错误,这应该可以解决所有问题。在没有 CD 的情况下重新启动,您应该登陆您的 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
Run Code Online (Sandbox Code Playgroud)

(如果使用以下方法安装内核,您可以找到列表:)dpkg --list | grep linux-image并重新启动系统


小智 0

  1. 获取/刻录 Linux 系统的安装 CD。

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

  3. 挂载旧文件系统,我使用:

    代码:

    mount -t ext4 /dev/sda1 /mnt
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在 ROOT 帐户中,转到我的启动卷(位于 /mnt/boot/grub)并编辑“grub.conf”,以便 (A) 我会看到菜单,(B) 它会给我几秒钟的时间来选择和选项:

    代码:

    timeout=10
    #hiddenmenu
    
    Run Code Online (Sandbox Code Playgroud)
  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. ......
    
    Run Code Online (Sandbox Code Playgroud)

我注意到这节没有“initrd ...”行。也许这就是它无法启动的原因。