Raspberry Pi 4 i 5: uruchamianie systemu z dysku SSD przez zmianę bootloadera
Część 1 z 4 serii Homelab na Raspberry Pi

Raspberry Pi w wersjach 4 i 5 to niezwykle potężne minikomputery, które bez problemu radzą sobie z obsługą serwerów domowych, baz danych czy systemów automatyki. Niestety, mają one jedną powszechnie znaną słabość: karty microSD.
Działanie systemu operacyjnego z poziomu standardowej karty pamięci to tykająca bomba. Karty te są projektowane do zapisu sekwencyjnego (np. zdjęć w aparacie), a nie do ciągłych, drobnych operacji zapisu i odczytu, jakich wymaga system operacyjny. Nagła utrata zasilania (zanik prądu) bardzo często prowadzi do uszkodzenia systemu plików. Efekt? Malina nie włącza się po powrocie zasilania, a wszystkie dane znikają.
Rozwiązanie tego problemu jest jedno: przeniesienie systemu i bootloadera na dysk SSD.
Korzyści z przejścia na dysk SSD
- Niezawodność: Dyski SSD posiadają zaawansowane kontrolery i algorytmy równoważenia zużycia (wear-leveling). Ryzyko utraty danych po nagłym odcięciu prądu spada niemal do zera.
- Ogromny skok wydajności: Dysk SSD podłączony pod port USB 3.0 (lub złącze PCIe w przypadku Pi 5) oferuje drastycznie wyższą liczbę operacji wejścia/wyjścia na sekundę (IOPS). System uruchamia się szybciej, a kontenery Docker czy Home Assistant działają błyskawicznie.
- Długa żywotność: SSD przetrwa dziesiątki kart microSD, co czyni go jedynym rozsądnym wyborem do zastosowań serwerowych.
Poradnik krok po kroku: Zmiana bootloadera i uruchomienie z USB
Aby Raspberry Pi mogło uruchomić się z dysku podłączonego pod USB, należy zaktualizować jego wewnętrzną pamięć EEPROM (bootloader).
Krok 1: Przygotowanie karty z aktualizacją bootloadera
- Pobrać i zainstalować program Raspberry Pi Imager na komputerze.
- Włóż pustą kartę microSD do czytnika w komputerze.
- W programie Imager wskazać własny model (Pi 4 lub 5) w sekcji Wybierz urządzenie.
- W sekcji Wybierz system operacyjny zjechać na dół i wskazać Misc utility images -> Bootloader -> USB Boot. Obraz ten zapisuje
BOOT_ORDER=0xf14(najpierw USB, potem karta SD) i nie obejmuje NVMe. - Dla dysku NVMe podłączonego do złącza PCIe w Pi 5 należy zamiast tego wybrać Misc utility images -> Bootloader (Pi 5 family) -> NVMe/USB Boot. Ten obraz zapisuje
BOOT_ORDER=0xf416, więc jako pierwszy sprawdzany jest NVMe (cyfra 6). W przypadku adapterów niezgodnych ze standardem HAT+ mogą być dodatkowo potrzebnePCIE_PROBE=1w konfiguracji bootloadera (rpi-eeprom-config) orazdtparam=pciex1w/boot/firmware/config.txt. Kolejność startu da się też później ustawić wraspi-configw sekcji Advanced Options -> Boot Order. - Jako nośnik wskazać kartę microSD i nacisnąć Dalej, aby wgrać oprogramowanie.
Krok 2: Wgranie bootloadera na Malinę
- Wyjmij przygotowaną kartę z komputera i włóż ją do wyłączonego Raspberry Pi.
- Włączyć zasilanie Raspberry Pi (żadne dyski USB nie mogą być wtedy podłączone).
- Odczekaj około 10–15 sekund. Jeśli masz podłączony monitor, ekran zaświeci się na zielono. Jeśli nie, spójrz na zieloną diodę ACT na płytce – zacznie ona równomiernie i szybko migać. Oznacza to, że bootloader został pomyślnie zaktualizowany i priorytetem jest teraz bootowanie z USB.
- Odłącz zasilanie od Raspberry Pi i wyciągnij kartę microSD.
Krok 3: Wgranie systemu na dysk SSD
- Podłączyć dysk SSD do komputera (np. za pomocą adaptera USB-SATA/NVMe).
- Ponownie otworzyć Raspberry Pi Imager.
- Wskazać docelowy system operacyjny (np. Raspberry Pi OS 64-bit).
- Jako nośnik wskazać podłączony dysk SSD.
- Nacisnąć Dalej i poczekać na zakończenie procesu zapisu.
Krok 4: Uruchomienie systemu z SSD
- Podłączyć dysk SSD z wgranym systemem do jednego z niebieskich portów USB 3.0 w Raspberry Pi (lub do nakładki NVMe HAT w modelu Pi 5).
- Gniazdo microSD może pozostać puste, ale nie musi: po aktualizacji bootloadera jako pierwszy sprawdzany jest dysk SSD, a pozostawiona karta pełni już tylko rolę awaryjną.
- Podłączyć zasilanie. Dzięki nowej kolejności startu Raspberry Pi sięga najpierw po dysk SSD i błyskawicznie uruchamia z niego system; dopiero gdy ta próba się nie powiedzie, wraca do karty SD.
Podsumowanie
Przeniesienie procesu uruchamiania systemu Raspberry Pi z karty microSD na dysk SSD to najskuteczniejszy sposób na zapewnienie niezawodności i wysokiej wydajności. Dzięki aktualizacji wewnętrznego bootloadera i migracji systemu na dysk SSD, urządzenie staje się odporne na typowe dla kart pamięci uszkodzenia systemu plików, zyskując przy tym znacznie szybszy start oraz responsywność. Taka konfiguracja jest kluczowa w projektach długoterminowych, takich jak serwery domowe czy systemy automatyki, gdzie stabilność jest priorytetem.
Homelab na Raspberry Pi
- Raspberry Pi 4 i 5: uruchamianie systemu z dysku SSD przez zmianę bootloadera
- Zasilanie awaryjne (UPS) dla Raspberry Pi 4 i 5: Top 5 urządzeń do wymagających projektów
- Zautomatyzowane wdrożenia Docker na Raspberry Pi: Środowiska deweloperskie Local-First
- Lokalny CI/CD dla Raspberry Pi: Automatyzacja wdrożeń Docker Compose
Jeden komentarz
Kolejność bootowania opisana z konkretnymi wartościami (
0xf14dla USB,0xf416dla NVMe) to rzecz, której brakuje w połowie poradników — bez niej pozostaje zgadywanie, dlaczego dysk jest niewidoczny.Dorzucę przypadek spoza artykułu, bo kosztował mnie dwa wieczory: obudowa USB-SATA z układem, który źle obsługuje tryb UAS. Dysk startował poprawnie, a po kilku godzinach pracy odpadał z błędami wejścia-wyjścia. Rozwiązaniem był wpis
usb-storage.quirksz identyfikatorem układu wcmdline.txt, wymuszający zwykły tryb pamięci masowej. Objaw wygląda jak wadliwy dysk albo za słaby zasilacz, a jest kwestią mostka w obudowie.