Kiedy ostatnim razem byłem zmuszony zainstalować świeży system Linux na moim starym laptopie, miałem okazję dowiedzieć się, jak zmusić GRUB do uruchomienia systemu przy użyciu bootloadera znajdującego się na dysku USB. Ten mały trik oszczędził mi dziesiątki godzin – dopóki nie spróbowałem zrobić tego samego z obrazem Proxmox VE, gdzie mój sposób po prostu nie działał.

Ostatecznie udało mi się to uruchomić. Oto krótka instrukcja – dla mnie i dla Ciebie.

Przygotowanie USB z Proxmox VE

Jeden z moich komputerów uparcie ignoruje kolejność urządzeń rozruchowych, więc zewnętrzne urządzenie USB zawsze ma niższy priorytet. Nie mogę po prostu włożyć bootowalnej płyty CD lub dysku USB i oczekiwać, że system uruchomi się automatycznie.

Jeśli to czytasz, istnieje spora szansa, że masz ten sam problem i szukasz rozwiązania.

Dla porządku – użyłem macOS oraz balenaEtcher do przygotowania dysku USB. Nie jestem pewien, czy ma to znaczenie, ale jeśli Twoje wyniki różnią się od moich, to może być przyczyną. Działam w oparciu o Proxmox VE 8.0.

Na macOS można zainstalować go przy użyciu Homebrew:

brew install --cask balenaetcher

Wybierz obraz ISO oraz docelowy dysk USB, a następnie pozwól oprogramowaniu zrobić resztę.

Zlokalizuj dysk USB i uruchom system

Po podłączeniu dysku USB uruchom ponownie komputer.

Gdy pojawi się ekran GRUB, naciśnij C lub ESC, aby otworzyć konsolę GRUB. Zobaczysz wiersz poleceń grub> oczekujący na dane wejściowe.

Zacznij od wyświetlenia listy dostępnych dysków:

grub> ls

W moim przypadku wynik pokazał (hd0) i (hd1) z kilkoma partycjami. Aby sprawdzić jedną z nich, wpisz:

grub> set root=(hd0,

… i naciśnij TAB, aby zobaczyć podpowiedzi.

grub> set root=(hd0,

Possible partitions are:

Partition hd0,gpt1: No known filesystem detected - Partition start at 32KiB [...]
Partition hd0,gpt2: Filesystem type fat, UUID 4238-7745 - Partition start at 302K1B [...]
Partition hd0,gpt3: Filesystem type hfsplus - Label 'PVE' - Last modification time [...]
Partition hd0,gpt4: No known filesystem detected - Partition start at 1534730KiB [...]
Partition hd0,apple1: No known filesystem detected - Partition start at 2KiB [...]
Partition hd0,apple2: No known filesystem detected - Partition start at 32KiB [...]
Partition hd0,apple3: Filesystem type hfsplus - Label 'PVE' - Last modification time [...]
Partition hd0,apple4: No known filesystem detected - Partition start at 1534730KiB [...]

Otrzymałem dość długą listę niezidentyfikowanych systemów plików, ale dwie z nich – gpt3 i apple3 – wyglądały obiecująco. Wybrałem gpt3

grub> set root=(hd0,gpt3)

W tym momencie dowiedziałem się, że nie mogłem użyć chainload dla bootloadera, ponieważ nie było ścieżki do EFI, której spodziewałem się zobaczyć. Znalazłem jednak katalog /boot z dwoma interesującymi plikami: linux26 i initrd.img.

Aby uruchomić Proxmox, wpisałem następujące polecenia:

grub> linux /boot/linux26 ro
grub> initrd /boot/initrd.img
grub> boot

System rozpoczął uruchamianie, a kilka minut później na ekranie pojawił się instalator Proxmox VE.

Proxmox uruchamia się w trybie BIOS

Oto czego się nauczyłem:

Polecenie chainloader jest specyficzne dla EFI i nie zadziała w tym przypadku, ponieważ Proxmox nie zawiera bootloadera EFI. Zamiast tego GRUB musi załadować kernel bezpośrednio – co dokładnie robimy przy pomocy poleceń linux i initrd. Ostateczne boot przekazuje kontrolę kernelowi – i po krótkiej chwili pojawia się instalator Proxmox VE.

Jeśli masz problem z uruchomieniem obrazu opartego na EFI, sprawdź instrukcję z mojego innego artykułu.