GRUB 无法挂载 ext4 逻辑分区

GRUB 无法挂载 ext4 逻辑分区

我正在尝试不同的 GNU/Linux 发行版,并且我的磁盘上有几个分区,即:

/dev/sdc1   - primary, 83, ext4
/dev/sdc2   - primary, 83, ext4
/dev/sdc3   - primary, 82, swap
/dev/sdc4   - extended
/dev/sdc5   - logical, 83, ext4
/dev/sdc6   - logical, 83, empty
/dev/sdc7   - logical, 83, empty
/dev/sdc8   - logical, 83, empty
/dev/sdc9   - logical, 83, empty
/dev/sdc10  - logical, 83, ext4

我已经在 上安装了 Void Linux /dev/sdc1,在 上安装了 Arch Linux /dev/sdc5。由于我无法启动 Arch,所以我进入 grub shell 尝试手动启动它。所以我做了以下事情:

grub> set root=(hd2,msdos5)
grub> ls ($root)/
error: unknown filesystem

我不明白这个错误。如果我尝试

grub> set root=(hd2,msdos1)
grub> ls ($root)/

我得到了/dev/sdc1.所以我认为这可能与逻辑分区有关,我尝试了:

grub> set root=(hd2,msdos10)
grub> ls ($root)/

这也有效。那么为什么grub看不到分区/dev/sdc5呢?它有什么特别之处?所有三个分区均使用ext4文件系统进行格式化。有什么线索吗?

答案1

我注意到某些版本的 Linux 不允许将 ext4 文件系统用作 /boot 目录。我相信这就是为什么在许多 Linux 系统上你会看到类似下面的分区:

 /dev/sda1 -- /boot ext3 -- about 1GB
 /dev/sda2 -- SWAP -- 1* memory but could be smaller
 /dev/sda3 -- /  ext4 -- The rest of the disk

这也允许 / 分区是 ext4 分区以外的分区……例如 btrfs、zfs 或 xfs,它们很可能与 grub 不兼容。

具体来说,这是 RHEL 5/Centos 5 的问题。

相关内容