Troubleshoot grub2-install: error: unknown filesystem

Issue

Saat menghidupkan VM Linux, sistem operasi tidak menampilkan GRUB sehingga tidak dapat masuk ke dalam kernel sistem. Setelah melakukan penelusuran dengan memindahkkan disk ke VM lain, ditemukan bahwa terdapat error pada partisi boot seperti berikut.

# grub2-probe --device /dev/sda1
grub2-probe: error: unknown filesystem.

Umumnya pada sistem operasi yang normal dapat menampilkan tipe filesystem yang digunakan oleh partisi boot.

# grub2-probe --device /dev/sda1
xfs

Solution

Penyebab dari masalah tersebut bisa jadi karena ada perubahan pada partisi boot. Misalnya seperti menghapus partisi, mengubah ukuran partisi, atau telah menginstall ulang sistem operasi.

Untuk memperbaikinya, Anda hanya perlu memindahkan disk dari VM yang error tersebut ke VM normal dengan sistem operasi yang sama.

Lalu format partisi boot dari disk VM yang error. Anda dapat melihat tipe file system yang digunakan serta flags partisi dari VM normal.

# parted -l
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  105MB   104MB   fat16              boot, esp
 2      105MB   1153MB  1049MB  xfs
 3      1153MB  1158MB  4194kB                     prep
 4      1158MB  1159MB  1049kB                     bios_grub
 5      1159MB  4294MB  3135MB                     lvm
Hati-hati dan pastikan kembali number yang digunakan oleh partisi boot. Kesalahan format partisi dapat menghapus keseluruhan disk OS.

Setelah diformat, mount partisi boot ke /mnt/boot

mount /dev/sdb2 /mnt/boot

Kemudian rsync semua file dan direktori /boot VM normal ke /mnt/boot/

rsync -avzhr /boot/ /mnt/boot/

Tunggu sampai selesai, lalu install grub dengan perintah.

grub2-install /dev/sdb

Selanjutnya pindahkan disk ke VM semula dan hidupkan VM kembali.