update-grub/grub-probe: hiba: ismeretlen fájlrendszer
Probléma: az update-grub
parancs futtatásakor a következő hibaüzenetet kapod: /usr/sbin/grub-probe: hiba: ismeretlen fájlrendszer.


Probléma: az update-grub
parancs futtatásakor a következő hibaüzenetet kapod: /usr/sbin/grub-probe: hiba: ismeretlen fájlrendszer.
Konkrét update-grub
kimenet:
~# update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
GRUB beállítófájl előállítása…
Megtalált linux lemezkép: /boot/vmlinuz-5.15.0-88-generic
Megtalált initrd lemezkép: /boot/initrd.img-5.15.0-88-generic
Megtalált linux lemezkép: /boot/vmlinuz-5.15.0-87-generic
Megtalált initrd lemezkép: /boot/initrd.img-5.15.0-87-generic
Megtalált linux lemezkép: /boot/vmlinuz-5.8.0-63-generic
Megtalált initrd lemezkép: /boot/initrd.img-5.8.0-63-generic
Megtalált linux lemezkép: /boot/vmlinuz-5.4.0-166-generic
Megtalált initrd lemezkép: /boot/initrd.img-5.4.0-166-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
/usr/sbin/grub-probe: hiba: ismeretlen fájlrendszer.
Megtalált openSUSE Tumbleweed ezen: /dev/sda2
/usr/sbin/grub-probe: hiba: ismeretlen fájlrendszer.
kész
Miért?
Valószínűleg be van kapcsolva az ext4 metadata_csum_seed
funkciója azon a kérdéses partíción. Ez azért gond, mert a Grub nem képes ezt a funkciót kezelni, ezért nem tudja az ilyen ext4-et olvasni. Részletek ebben a jegyben: https://savannah.gnu.org/bugs/index.php?56897
Ha nincs a kérdéses partíción kernel, amit a Grubnak be kellene töltenie, akkor nincs teendőd.
Megoldás (gyors és egyszerű)
Hacsak nem ragaszkodsz a metadata_csum_seed
funkcióhoz, akkor kapcsold ki (az openSUSE telepítő automatikusan ezzel a funkcióval hozza létre az ext4 fájlrendszert).
A következő parancsokat (ahogy az a promptból is látszik) rootként kell kiadni.
0. lépés: ne legyen csatolva a kérdéses partíció!
1. lépés: ellenőrizd, grub-probe
paranccsal a problémásnak vélt partíciót (nálam a /dev/sda2
lesz a célpont).
~# grub-probe --target=fs --device /dev/sda2
grub-probe: hiba: ismeretlen fájlrendszer.
2/a. lépés: A tune2fs -l
paranccsal kérdezd le fájlrendszer adatait, hogy tényleg be van-e kapcsolva a problémás funkció:
~# tune2fs -l /dev/sda2
tune2fs 1.45.5 (07-Jan-2020)
Filesystem volume name: OpenSUSE
Last mounted on: /run/media/linux/OpenSUSE
Filesystem UUID: 5c938dd8-7be7-4a90-8c30-1b9a98ad5d0b
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index FEATURE_C12 filetype extent 64bit flex_bg metadata_csum_seed sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
...
2/b lépés: A kimenetre közvetlenül rá is szűrhetsz, úgy talán átláthatóbb:
~# tune2fs -l /dev/sda2 | grep metadata_csum_seed
Filesystem features: has_journal ext_attr resize_inode dir_index FEATURE_C12 filetype extent 64bit flex_bg metadata_csum_seed sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
3. lépés: Kapcsoljuk ki a funkciót:
~# tune2fs -O ^metadata_csum_seed /dev/sda2
tune2fs 1.45.5 (07-Jan-2020)
4. lépés: Ellenőrizzük, hogy sikeres volt-e a művelet, és a Grub immár hozzá tud-e férni a partícióhoz:
~# grub-probe --target=fs --device /dev/sda2
ext2
5. lépés: Futtassuk újra az update-grub
parancsot:
# update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
GRUB beállítófájl előállítása…
Megtalált linux lemezkép: /boot/vmlinuz-5.15.0-88-generic
Megtalált initrd lemezkép: /boot/initrd.img-5.15.0-88-generic
Megtalált linux lemezkép: /boot/vmlinuz-5.15.0-87-generic
Megtalált initrd lemezkép: /boot/initrd.img-5.15.0-87-generic
Megtalált linux lemezkép: /boot/vmlinuz-5.8.0-63-generic
Megtalált initrd lemezkép: /boot/initrd.img-5.8.0-63-generic
Megtalált linux lemezkép: /boot/vmlinuz-5.4.0-166-generic
Megtalált initrd lemezkép: /boot/initrd.img-5.4.0-166-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Megtalált openSUSE Tumbleweed ezen: /dev/sda2
kész
Készen vagyunk! Ha minden igaz, akkor mostantól nem csak, hogy a Grub nem pampog, de indul is a problémás rendszer (a mi esetünkben egy openSUSE Tumbleweed).
Megoldás (bonyolult)
Van egy patch a Grubhoz, ami elvileg megoldja a problémát itt: https://git.savannah.gnu.org/cgit/grub.git/patch/?id=7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763.
Ha érzed magadban a bátorságot, akkor a foltot felhasználva csinálhatsz egy javított Grubot. Ennek a folyamata sajnos túlnő a kisokos keretein.