操作系统: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
/dev/sda5 上的 / 也是一个 ext4 分区吗?
你的默认 grub 条目是什么?
我看到两种可能性:a) 您的默认 grub 条目是 /dev/sda2 的链式加载命令,并且您没有在 /dev/sda2 上安装 grub。b) 此错误消息不是由 Grub 生成的,而是由您的内核生成的,并且它不支持 ext4,因此您必须重建 ramdisk 以包含 ext4 驱动程序。