GRUB 2
Podsumowanie istotnych różnic między GRUB 1 (teraz grub-legacy) i GRUB 2:
- Plik menu.lst już nie istnieje.
- Plik grub.cfg steruje teraz ekranem Gruba.
- grub.cfg zostaje automatycznie stworzony poprzez skrypty w /etc/grub.d.
- Nazwa partycji również się zmienia. Numeracja zaczyna się od 1 partycji, a nie 0 (numeracja napędów (drives) się nadal zaczyna od 0):
Linux grub1 grub2 /dev/sda1 (hd0,0) (hd0,1) /dev/sda2 (hd0,1) (hd0,2) /dev/sda3 (hd0,2) (hd0,3) /dev/sdb1 (hd1,0) (hd1,1) /dev/sdb2 (hd1,1) (hd1,2) /dev/sdb3 (hd1,2) (hd1,3)
- Strofy (stanzas) w grub.cfg mają inną składnie niż w menu.lst i nie można ich bezpośrednio kopiować z menu.lst (Grub 1) do grub.cfg (Grub 2). Pliku grub.cfg nigdy nie powinno się zmieniać ręcznie.
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.
Aktualizacja Grub Legacy na Grub 2
Zalecamy czystą aktualizację na Grub 2 i całkowite usunięcie Grub 1. Trzeba mieć świadomość, że można wszystko zepsuć należy więc zachować dużą ostrożność.
Krok 1:
Upewnij się, że system jest w pełni zaktualizowany (dist-upgrade w init 3).
apt-get update Ctrl+alt+F1 init 3 apt-get dist-upgrade init 5 && exit
Krok 2:
Usuń Grub 1, całkowicie:
rm -rf /boot/grub apt-get purge grub-gfxboot
Efektem będzie to, że: fll-iso2usb* grub-gfxboot* install-usb-gui* będą usuwane. Kliknij Y aby potwierdzić.
Krok 3:
apt-get install grub2 os-prober

Użyj klawisza TAB, aby wybrać OK.

Użyj klawisza TAB, aby wybrać OK.

Użyj strzałek i spacji na klawiaturze, aby umieścić * (gwiazdkę) i wybrać dysk na którym w MBR grub2 będzie zapisany. (Ten przykład to instalacja na dysku USB).
Krok 4:
update-grub
Krok 5:
apt-get install install-usb-gui fll-iso2usb
Krok 6:
Uruchom ponownie komputer i menu.cfg wyświetli listę systemów operacyjnych z jądrami podobną do tej:

Jeśli coś poszło nie tak i grub2 jest uszkodzony, przeczytaj Nadpisany lub uszkodzony Grub w MBR
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 (#):
$ sux
- 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 sux 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.