GRUB 2
Basic summary of GRUB 2:
- A file called grub.cfg controls the Grub Screen.
- grub.cfg is automatically generated by the scripts in /etc/grub.d.
- Partitions are numbered from 1 instead of 0 and drives are numbered from 0:
Linux grub2 /dev/sda1 (hd0,1) /dev/sda2 (hd0,2) /dev/sda3 (hd0,3) /dev/sdb1 (hd1,1) /dev/sdb2 (hd1,2) /dev/sdb3 (hd1,3)
- As the grub.cfg file is the 'result' file the grub.cfg file should never be altered manually.
Plik konfiguracyjny dla Grub2
Plik /etc/default/grub zawiera ustawienia zmiennych dla Grub2, np. limit czasu w menu (timeout), podstawowe ustawienia w menu, parametry jądra, interfejs graficzny Grub i inne.
Skrypty dla Grub2
/etc/grub.d kontroluje plik 'docelowy' grub.cfg, który znajduje się w katalogu /boot/grub/.
Plik grub.cfg nie powinien być nigdy zmieniany ręcznie. Wszystkie zmiany muszą być wykonywane za pomocą plików skryptowych w /etc/grub.d. os-prober powinien rozwiązać poprawnie 90% przypadków :
00_header:
05_debian_theme: ustawia tło, kolory tekstu, motyw graficzny
10_hurd: lokalizuje jądra hurd
10_linux: lokalizuje jądro Linuksa oparte na wynikach polecenia lsb_release.
20_memtest86+: jeżeli /boot/memtest86+.bin istnieje, to będzie integrowany w startowym menu
30_os-prober: wyszukuje w każdej partycji systemy operacyjne (Linux i inne) i integruje je w startowym menu
40_custom: szablon do tworzenia niestandardowych elementów w menu dla innych systemów operacyjnych
60_fll-fromiso: szablon do tworzenia niestandardowych elementów w menu dla fromiso na USB flash/karte SSD.
60_fll-fromiso nie ma być zmieniany ręcznie. Używa /etc/default/grub2-fll-fromiso.
Więcej informacji pod fromiso z Grub2
Po dokonaniu zmian w ststemie, grub.cfg musi zostać uaktualniony. W przypadku aktualizacji jądra aptosida, polecenie aktualizujace zostanie automatycznie wykonane. Zmiany powyższych plików dokonane przez administratora systemu, które zostały wykonane ręcznie, wymagają polecenia:
update-grub
Pakiet Grub2 w Debianie jest zaprojektowany tak, że zmiana ręczna rzadko jest konieczna.
Edycja opcji startowych w grub2 poprzez ekran edycji
Jeśli z jakiegoś powodu, musisz dokonać tymczasowych zmian w opcji bootowania jądra w grub2, naciśnij e . Do edycji opcji jądra przejdź za pomocą strzałek klawiatury do wiersza, który chcesz edytować. Na ekranie edycji użyj kombinacji Ctrl+x do ponownego wystartowania komputera z wyedytowanymi opcjami.
Na przykład, aby przejść bezpośrednio do uruchomienia run level 3, dodaj 3 na końcu linii linux /boot/vmlinuz.
Zmiany wprowadzone przez ekran edycji nie są trwałe. Aby osiągać trwałe zmiany, musisz edytować odpowiednie pliki. Czytaj Plik konfiguracyjny dla Grub2.
Podwójne i multi butowanie z Grub 2
GRUB 2 ma modularną konfigurację, co pozwala na wykonanie prostych poleceń, aby znaleźć zainstalowane nowe systemy operacyjne i zintegrować je automatycznie w pliku menu.cfg. Tym prostym poleceniem jest:
update-grub
Jeżeli niestandardowe polecenie jest potrzebne w menu.cfg lub jeżeli 30_os-prober nie dodaje wymaganych wpisów menu chainloadera w grub.cfg użyj ulubionego edytora tekstu do zmiany wpisów w /etc/grub.d/40_custom.
Przykłady dostosowywania pliku 40_custom:
menuentry "second mbr"{ set root=(hd1) chainloader +1 }
menuentry "second partition"{ set root=(hd0,2) chainloader +1 }
Po dokonaniu zmiany uruchom:
update-grub
Informacja, że nie można znaleźć gruba na dysku, oznacza, że devicemap musi być regenerowany.
Upewnij się że, wybrałeś partycję a nie MBR instalując inny system operacyjny:
grub-mkdevicemap --no-floppy update-grub
Ostrzeżenia mogą być bezpiecznie zignorowane.
Jeśli się pomylisz, aktualizacja prawdopodobnie nadpisze MBR i trzeba to naprawić przez Przywrócenie Grub 2 .
Wyłączne przepisanie grub2 do MBR z dysku twardego
/usr/sbin/grub-install --recheck --no-floppy /dev/sda
Ta linia polecenia być może wymagać będzie kilkukrotnego wykonania, dla upewnienia się przez system, że rzeczywiście powinno być wykonywana.
MBR nadpisany przez Windows - uszkodzony MBR - przywrócenie Grub 2
UWAGA: aby przywrócić grub2 potrzebny jest dowolny aptosid.iso lub. Alternatywnie, używaj chroot z dowolnym live.iso .
Aby przepisać lub przywrócić grub2 w MBR trzeba będzie uruchomić aptosid.iso:
- Aby zidentyfikować i potwierdzić partycję ([h,s]d[a..]X) wszytkie następujące akcje muszą być przeprowadzone z uprawnioniami roota, tak więc wykonaj (#):
$ su
- Jako root wpisz:
fdisk -l cat /etc/fstab
To pozwala uzyskać prawidłowe nazwy. - Jeżeli prawidłowa nazwa partycji jest wyświetlana, trzeba utworzyć punkt montowania:
mkdir -p /media/[hdxx,sdxx,diskx]
- Następnie, zamontuj partycję:
mount /dev/xdxx /media/xdxx
- Teraz przepisz Grub do MBR pierwszego dysku twardego:
/usr/sbin/grub-install --recheck --no-floppy --root-directory=/media/xdxx /dev/sda
Korzystanie z chroot, aby przywrócić nadpisanego lub uszkodzonego Gruba w MBR
Aby przywrócić Gruba (jeżeli został nadpisany lub uszkodzony w MBR) trzeba ustawić środowisko chroot. Można użyć każdej dowolnej live.iso, ponieważ chroot przenosi Cię na system zainstalowany na dysku twardym, umożliwia to przywrócenie Grub1 (grub-legacy) lub Grub 2.
Wystartuj live aptosid.iso odpowiedni do twojego systemu (32 lub 64 bit CD, DVD, USB flash lub karta SSD) i otwórz terminal. Wpisz su i naciśnij enter w celu uzyskania uprawnień roota.
Z użyciem fdisk -l lub blkid można się upewnić, która partycja jest partycją bootowalną, i otrzymać poprawną nazwę (jeśli interfejs graficzny jest wymagany, użyj Gparted):
blkid
Teraz możesz sprawdzić, czy wpisy w pliku fstab odpowiadają wynikowi z blkid:
cat /etc/fstab
Załóżmy, że główny system plików (root) jest na /dev/sda2
mkdir /mnt/aptosid-chroot mount /dev/sda2 /mnt/aptosid-chroot
Następnie należy zamontować /proc, /run, /dev i /sys w następujący sposób:
mount --bind /proc /mnt/aptosid-chroot/proc mount --bind /run /mnt/aptosid-chroot/run mount --bind /sys /mnt/aptosid-chroot/sys mount --bind /dev /mnt/aptosid-chroot/dev mount --bind /dev/pts /mnt/aptosid-chroot/dev/pts
Jeśli uruchomiłeś system używając partycji systemowej typu EFI potrzebujesz ją zamontować. Jeśli jest to /dev/sda1:
mount /dev/sda1 /mnt/aptosid-chroot/boot/efi
Środowisko chroot jest teraz skonfigurowane, dostęp do niego uzyskujemy przez:
chroot /mnt/aptosid-chroot /bin/bash
Teraz jesteś w stanie użyć apt's lokalnego cache'a apta lub podmienić pliki w celu naprawy, tak jak gdybyś uruchomił właściwy system. W poniższym przykładzie Grub zostanie na powrót przepisany do MBR.
Przywracanie Grub 2
apt-get install --reinstall grub-pc
Aby upewnić się, że grub został zainstalowany na właściwym dysku lub partycji, uruchom:
dpkg-reconfigure grub-pc
Przywracanie Grub 2 EFI
apt-get install --reinstall grub-efi-amd64
Przywracanie Grub 1 (grub-legacy)
apt-get install --reinstall grub-legacy
Postępuj za instrukcjami instalatora.
Aby aby opuścić środowisko chroot wykonaj:
Ctrl+d
Uruchom ponownie komputer.