Strona główna
» LINUX
»
Jak wykonać kopię zapasową bootloadera Linuksa na dysku USB
Jak wykonać kopię zapasową bootloadera Linuksa na dysku USB
Zapisz ustawienia GRUB i pliki rozruchowe na USB; w systemach UEFI zapisz również pliki EFI i listę wpisów oprogramowania sprzętowego. Są to pliki referencyjne odzyskiwania, a nie pełny obraz dysku. Jeśli brakuje kodu startowego, użyj nośnika ratunkowego Linuksa, aby ponownie zainstalować GRUB w rzeczywistym układzie rozruchowym.
Co obejmuje kopia zapasowa GRUB
Dystrybucje zazwyczaj generują menu z plików /etc/default/grubi /etc/grub.d/, z plikami pomocniczymi w /boot/grub. /boot/grub2Dokumenty Debiana grub.cfgsą generowane w taki sposób, jak zostały wygenerowane, więc przywróć ustawienia i zregeneruj je. BIOS GRUB może korzystać z MBR i wbudowanych sektorów; UEFI korzysta z plików na partycji systemowej FAT EFI (ESP) i wpisów rozruchowych w zmiennych oprogramowania sprzętowego.
Utwórz kopię zapasową GRUB na dysku USB
1. Podłącz USB i zidentyfikuj tryb rozruchu
Podłącz dysk USB, otwórz go w menedżerze plików i zanotuj lokalizację jego zamontowania. Następnie wyświetl listę dysków i sprawdź, jak został uruchomiony system:
lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS
findmnt /
if [ -d /sys/firmware/efi ]; then echo UEFI; else echo BIOS; fi
Docelowym miejscem przechowywania plików kopii zapasowej jest zamontowany wolumin USB.
Użyj rozmiaru, systemu plików, etykiety i punktu montowania, aby odróżnić dyski USB od dysków wewnętrznych. Nazwy takie jak /dev/sdamogą się zmieniać, a partycja główna nie zawsze jest dyskiem docelowym bootloadera BIOS-u.
Aby zlokalizować ESP i dysk wymienny, skorzystaj ze szczegółów urządzenia.
W systemach UEFI zidentyfikuj partycję systemową EFI (ESP) w wynikach. Często jest to FAT32 z punktem montowania takim jak /boot/efi, /efilub /boot. Zazwyczaj zawiera EFIkatalog.
2. Archiwizuj ustawienia GRUB i pliki pomocnicze
Zastąp przykładową ścieżkę USB znalezionym punktem montowania. Ścieżki zawierające spacje należy ująć w cudzysłów.
USB="/media/$USER/USB_LABEL"
BACKUP="$USB/grub-backup"
sudo mkdir -p "$BACKUP"
paths=(etc/default/grub etc/grub.d)
for p in etc/default/grub.d boot/grub boot/grub2; do
[ ! -e "/$p" ] || paths+=("$p")
done
sudo tar -C / -czf "$BACKUP/grub-files.tar.gz" "${paths[@]}"
Zapisz ustawienia GRUB, skrypty menu i istniejące pliki rozruchowe razem.
Archiwum zachowuje uprawnienia Linuksa nawet w systemach plików USB, które ich nie zachowują. Zawiera opcjonalne katalogi GRUB dostępne w tej instalacji.
3. W UEFI zapisz pliki EFI i wpisy oprogramowania sprzętowego
Ustaw ESPna zidentyfikowany punkt montowania; w tym przykładzie użyto /boot/efi. Archiwum zawiera pliki innych dostawców, jeśli współdzielą oni EFIkatalog.
ESP="/boot/efi"
sudo tar -C "$ESP" -czf "$BACKUP/esp-files.tar.gz" EFI
sudo efibootmgr -v | sudo tee "$BACKUP/uefi-boot-entries.txt" >/dev/null
Współdzielony ESP może zawierać pliki rozruchowe dla więcej niż jednego systemu operacyjnego.Zachowaj listę wpisów oprogramowania sprzętowego obok zapisanych plików rozruchowych.
efibootmgr -vWyświetla szczegóły dotyczące startu, a nie wszystkie ustawienia oprogramowania sprzętowego. Pomiń te polecenia w systemach z samym BIOS-em.
4. Sprawdź kopię zapasową i wyjmij dysk
tar -tzf "$BACKUP/grub-files.tar.gz" | head
[ ! -f "$BACKUP/esp-files.tar.gz" ] || tar -tzf "$BACKUP/esp-files.tar.gz" | head
ls -lh "$BACKUP"
sync
Sprawdź, czy nazwy i rozmiary archiwów wyglądają wiarygodnie, a następnie wyjmij dysk USB przed jego odłączeniem. Trzymaj kopię zapasową oddzielnie od dysku USB z instalatorem na żywo, ponieważ może on zostać skasowany podczas tworzenia nośnika rozruchowego.
Użyj kopii zapasowej po awarii rozruchu
5. Uruchom sesję na żywo w trybie rozruchowym zainstalowanego systemu
Jeśli to możliwe, uruchom Linuksa z dysku USB Live lub Rescue w tym samym trybie UEFI lub starszego BIOS-u. Zidentyfikuj /bootponownie katalog główny, wszelkie oddzielne partycje i ESP; nazwy urządzeń mogą się różnić.
Podczas sesji na żywo dostępne są narzędzia umożliwiające inspekcję i naprawę instalacji.
Zamontuj zainstalowany system w tymczasowej lokalizacji, takiej jak [nazwa /mnt/targetkatalogu], z oddzielnymi partycjami rozruchowymi zamontowanymi w odpowiadających im ścieżkach. Postępuj zgodnie z instrukcjami dystrybucji dotyczącymi dokładnych poleceń partycji i chroot.
Przed uruchomieniem poleceń naprawy w środowisku chroot należy zamontować zainstalowane partycje.
6. Przywróć ustawienia selektywnie, a następnie napraw GRUB
Po zamontowaniu zainstalowanego katalogu głównego i każdej oddzielnej /bootpartycji przywróć archiwum tylko wtedy, gdy pochodzi ono z tej instalacji i wydania:
sudo tar -xzf "/path/to/grub-backup/grub-files.tar.gz" -C /mnt/target
Zastąp przykładową ścieżkę rzeczywistą lokalizacją USB. Nie rozpakowuj archiwum EFI przez współdzielony dysk ESP; skorzystaj z instrukcji ponownej instalacji dystrybucji, aby odtworzyć pliki rozruchowe i wpis oprogramowania sprzętowego. Bezpieczny rozruch może wymagać podpisanych pakietów shim i GRUB.
W chroot ponownie wygeneruj menu, używając polecenia i ścieżki wyjściowej swojej dystrybucji. Debian i Ubuntu często używają update-grub; inne dokumenty grub-mkconfiglub grub2-mkconfig. Jeśli brakuje kodu startowego, zainstaluj ponownie GRUB dla odpowiedniego dysku BIOS lub partycji UEFI. Sprawdź cel przed grub-install.
Wygeneruj ponownie menu z naprawionej instalacji po przywróceniu ustawień.
Dlaczego nie przywrócić tylko pierwszych 512 bajtów?
Kopia jednosektorowa pomija osadzony obraz BIOS GRUB lub partycję rozruchową BIOS. Pierwszy sektor zawiera również dane tablicy partycji, więc przywrócenie starej kopii może uszkodzić zmieniony dysk. Pliki UEFI i wpisy oprogramowania sprzętowego są oddzielne. Użyj tego archiwum jako informacji o odzyskiwaniu; zachowaj przetestowany obraz całego dysku w celu pełnego przywrócenia.