I am trying out different GNU/Linux distributions and I have several partitions on my disk, namely:

/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

I have installed Void Linux on /dev/sdc1 and Arch Linux on /dev/sdc5. Since I cannot boot Arch, I went to the grub shell to try and boot it manually. So I did the following:

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

I do not understand this error. If I try

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

I get a listing of the root directory of /dev/sdc1. So I thought it might have to do with the logical partition and I tried:

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

which also works. So why doesn't grub see partition /dev/sdc5? What can be so special about it? All three partitions are formatted with an ext4 filesystem. Any clue?

  • 1
    Any differences in tune2fs -l for these? – frostschutz Mar 20 '17 at 22:52
  • @frostschutz: Many thanks! This solved my problem. The partition that wouldn't mount had 64bit in its features. I formatted it again and now it works. Probably I have a version of grub that does not support this feature. If you make your comment into an answer I will mark it as accepted. – Giorgio Mar 21 '17 at 10:08
  • How large is the fs? 64bit is mandatory for growing ext4 filesystem beyond 16T mark. It might be used be default nowadays... not sure. (I still stick to ext2 for boot partitions / works with every bootloader, so why not) – frostschutz Mar 21 '17 at 10:31
  • @frostschutz: The whole disk is much smaller than 16T (about 300G). The partition itself is 20G. I find it a bit early to default to 64bit. I do not use an extra boot partition for these tests, but it is a good tip to use ext2 for a boot partition. – Giorgio Mar 21 '17 at 11:14

I have noted that some versions of Linux do not allow ext4 filesystems to be used as the /boot directory. I believe that is why on many Linux system you will see partitioning something like the following:

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

This also allows the / partition to be something other than an ext4 partition ... like btrfs, zfs or xfs for instance which are most likely not grub compatible.

Specifically, this is a problem with RHEL 5/Centos 5.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.