grub:移动分区后未找到模块 ext4dev

grub:移动分区后未找到模块 ext4dev

操作系统:Debian 测试版 64 位

高清:

/dev/sda1 20 gig
/dev/sda2 100 mb /boot
/dev/sda3 extended
/dev/sda5 /

我删除了 sda1 和 sda2,创建了一个 100mb 的新 sda1 和 20gig 的 sda2。将 /(sda5)的内容复制到 sda2。

启动到 debian live rescue,chrooted sda2 并将 sda1 挂载到 /boot。我编辑了 /etc/fstab,使 / 和 /boot 的 uuid 与 sda2 和 sda1 相匹配。然后我做了

grub-mkdevicemap
grub-install /dev/sda
update-grub

当我现在重新启动时,我得到一个 grub,其中包含我的内核和内存测试等的菜单。

但是如果我选择我的默认条目 grub 会尝试启动并说

module ext4 not found

找不到文件或目录 /dev/by-uuid/$UUID

还有其他几个模块没有找到

EDIT1:不幸的是,sda5 似乎不是预期的 ext3

EDIT2: grub 条目

os {
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root $UUID_OF_SDA1
    echo    '…'
    linux   /vmlinuz-3.2.0-2-amd64 root=UUID=$UUID_OF_SDA2 ro  quiet
    echo    '...'
    initrd  /initrd.img-3.2.0-2-amd64
}

答案1

  1. /dev/sda5 上的 / 也是一个 ext4 分区吗?

  2. 你的默认 grub 条目是什么?

我看到两种可能性:a) 您的默认 grub 条目是 /dev/sda2 的链式加载命令,并且您没有在 /dev/sda2 上安装 grub。b) 此错误消息不是由 Grub 生成的,而是由您的内核生成的,并且它不支持 ext4,因此您必须重建 ramdisk 以包含 ext4 驱动程序。

相关内容