Próbuję stworzyć własną pamięć USB Multiboot z niestandardową konfiguracją GRUB2. Zasadniczo postępowałem zgodnie z instrukcjami z https://wiki.archlinux.org/index.php/Multiboot_USB_drive, aby zainstalować GRUB2 na pamięci USB w trybie EFI:
- Formatuj pamięć, mając jedną partycję EFI (100 MB) i partycję EXT4
- zamontuj partycje w jakiejś lokalizacji
- Wykonywanie
grub-install --target=x86_64-efi --recheck --removable --efi-directory=/EFI_MOUNTPOINT --boot-directory=/DATA_MOUNTPOINT/boot
Mam więc partycję EFI, w tym grub.cfg
search.fs_uuid <uuid> root hdX,gptY
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
i partycja rozruchowa zawierająca tylko jeden folder / boot / grub
- czcionki (folder)
- locale (folder)
- x86_64-efi (folder)
- grubenv (plik)
Działa to tak dalece, jak mogę napisać własny plik grub.cfg w katalogu / boot / grub, zawierający pewne menuentrys, i mogę uruchomić z tych wpisów. Ale nie mogę załadować żadnych modułów. Jeśli wprowadzę wiersz poleceń, np. Pisanie
insmod ntfs
absolutnie nic nie robi. Nie ma żadnego komunikatu o błędzie ani nic, moduł po prostu się nie ładuje (sprawdzane przez lsmod). Próbowałem też adresować bezwzględnie
insmod (hdX,gptY)/boot/grub/x86_64-efi/ntfs.mod
z tym samym wynikiem. Ścieżka jest poprawna, ponieważ na przykład mogę cat plik .mod do standardowego wyjścia.
To, co właściwie mogę zrobić, to usunąć moduły. Na przykład
rmmod btrfs
rmmod btrfs
powoduje wyświetlenie komunikatu o błędzie tylko w drugim wierszu, więc moduł btrfs zostaje usunięty, co potwierdza wyjście lsmod. Ale pisanie (gdy btrfs jest już usunięte)
insmod btrfs (or absolute addressing like above)
rmmod btrfs
powoduje wyświetlenie komunikatu o błędzie w wierszu 2, więc pierwszy wiersz oczywiście nie przyniósł żadnego efektu.
Czy masz pojęcie, co się dzieje? Próbowałem nawet skopiować folder mod na partycję EFI, ale to nie pomogło ...
Z góry dziękuję