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.
Výchozí konfigurační soubor pro Grub 2
Soubor /etc/default/grub obsahuje variabilní nastavení grubu 2. Kupříkladu se jedná o časové zpoždění v menu, výchozí položky, které budou v menu aktivovány, parametry jádra, použití grafiky a další.
Skriptovací soubory pro Grub 2
Soubory v /etc/grub.d kontrolují 'výsledný' soubor nazývaný grub.cfg, který je k nalezení v /boot/grub/.
grub.cfg by nikdy neměl být ručně pozměněn. Všechny změny by měly být prováděny s jedním nebo všemi skriptovacími soubory v /etc/grub.d. os-prober by měl zvládat 90% případů:
00_header:
05_debian_theme: Nastavuje pozadí, barvu písma, témata.
10_hurd: Vyhledává jádra Hurd.
10_linux: Vyhledává jádra Linuxu založená na výsledku příkazu lsb_release.
20_memtest86+: Jestli je přítomen soubor /boot/memtest86+.bin, tak bude tímto umístěn v menu.
30_os-prober: Prohledává všechny diskové oddíly pro Linux a jiné operační systémy a zahrne je ve spouštěcím menu
40_custom: Šablona pro přidání vlastních položek jiných operačních systémuů ve spouštěcím menu.
60_fll-fromiso: Šablona pro přidání vlastních položek spouštěcího menu pro fromiso na USB-klíč nebo SSD-kartu.
60_fll-fromiso není určen ke změnám, použijte /etc/default/grub2-fll-fromiso
Přečtěte si Spouštění 'fromiso' s Grub 2
Potom co je provedena změna, je nutné, aby se projevila v grub.cfg. V případě aktualizace jader aptosidu je příkaz, který změnu reflektuje, automaticky spuštěn. V případě vámi, administrátorem, provedených úprav jakéhokoliv z výše uvedených souborů je potřeba spustit:
update-grub
Balíček deb v Debian pro Grub2 je navrhnut tak, aby jakékoliv ruční úpravy byly jen zřídka nutné.
Úprava spouštěcích nastavení Grubu 2 před upravovací obrazovku
Jestli potřebujete z jakéhokoliv důvodu provést dočasné úpravu spouštěcích nastavení u zvýrazněného jádra, tak stiskněte e pro úpravu nastavení jádra a pomocí šipek se přesuňte na řádek, který chcete upravit. Poté, stále v upravovací obrazovce, stiskněte Ctrl+x , abyste spustili počítač s upravenými vlastnosti jádra.
Kupříkladu, abyste přešli přímo na spouštěcí úroveň 3, přidejte 3 na konec řádku linux /boot/vmlinuz.
Změny, které provedete přes upravovací obrazovku, nejsou trvalé. Abyste provedli trvalé změny, je nutné upvavit vhodné soubory. Podívejte se na Soubory Grubu 2.
Zavádění dvou či více systémů s Grub 2
Jelikož je konfigurace Grubu 2 modulární, umožňuje to, aby jediný příkaz vyhledal nově nainstalované operační systémy a pokud nějáký nalezne, pokusí se takovou změnu zahrnout do menu.cfg. Tento příkaz je :
update-grub
Jestliže budete mít potřebu vložit vlastní položku do menu.cfg nebo pokud 30_os-prober selže při vepsání chainloader nabídek do grub.cfg, můžete použít váš oblíbený textový editor, abyste příslušný dodatek vepsali sami do /etc/grub.d/40_custom.
Příklady vlastních úprav souboru 40_custom :
menuentry "druhý mbr"{ set root=(hd1) chainloader +1 }
menuentry "druhý oddíl"{ set root=(hd0,2) chainloader +1 }
Potom co jste provedli změny, spusťte:
update-grub
Jestliže se zobrazí stížnost, že zařízení disku v grubu není známo, znamená to, že je potřeba znovu vytvoři mapu zařízení.
Ujistěte se, že zvolíte diskový oddíl a ne MBR, když budete instalovat další operační systém:
grub-mkdevicemap --no-floppy update-grub
Varování mohou být bez problémů ignorována.
Jestliže uděláte chybu, tak aktualizace pravděpodobně přepíše váš MBR a to budete muset spravit s Grub2 - Přepsaný MBR .
Pro pouhé přepsání Grubu 2 do MBR z pevného disku:
/usr/sbin/grub-install --recheck --no-floppy /dev/sda
Tento příkaz bude možná nutné spustit vícekrát, dokud si nebude opravdu jistý, že to myslíte vážně.
Zaváděcí úsek MBR přepsaný systémem Windows či poškození a / nebo jak obnovit Grub2
POZNÁMKA: pro obnovu zavaděče Grub2 bude potřebovat aptosid.iso 2009.04 (moros) nebo novější. Alternativně můžete použít chroot jakéhokoliv live.iso.
Pro přepsání zavaděče Grub2 do MBR a/nebo obecně k obnovení Grubu 2 budete potřebovat aptosid.iso:
- K rozeznání a potvrzení vašich diskových oddílů (např. [h,s]d[a..]X) budou všechny následující akce vyžadovat práva root, takže se jím musíte stát (#):
$ su
- Jakmile jste root, zadejte:
fdisk -l cat /etc/fstab
Tím obržíte správná jména. - Jakmile jste se ujistili o správném diskovém oddílu, vytvořte přípojný bod:
mkdir -p /media/[hdxx,sdxx,diskx]
- Připojte ho:
mount /dev/xdxx /media/xdxx
- Nyní přepište Grub do MBR prvního pevného disku (obecně):
/usr/sbin/grub-install --recheck --no-floppy --root-directory=/media/xdxx /dev/sda
Použítí chroot k obnově přepsaného nebo poškozeného Grubu v MBR
K obnově poškozeného nebo jinak přepsaného Grubu v MBR vytvořte prostředí chroot. Jakékoliv live.iso bude dostačující, jelikož vás chroot zavede do operačního systému nainstalovaného na vašem pevném disku, abyste tak mohli obnovit příslušnou verzi Grubu, grub1 (grub-legacy) nebo grub2.
Zaveďte live aptosid.iso, které odpovídá vašemu systému (32 nebo 64 bitové CD, DVD, USB klíč nebo SSD karta) a otevřete konzoli. Zadejte su a potvrďte enterem k získání práv roota.
Použitím fdisk -l nebo blkid se ujistěte, který diskový oddíl je zaváděcí a zjistěte správné jméno. Jestli upřednostňujete grafické prosředí, použijte Gparted:
blkid
a pro zjištení, jestli fstab odpovídá výstupu blkid:
cat /etc/fstab
Předpokládejme, že se váš kořenový souborový systém nachází na /dev/sda2
mkdir /mnt/aptosid-chroot mount /dev/sda2 /mnt/aptosid-chroot
Nyní musíte připojit /proc, /run, /dev a /sys následovně:
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
If you boot using an EFI system partition you will also need to mount it. Assuming this is /dev/sda1:
mount /dev/sda1 /mnt/aptosid-chroot/boot/efi
Your chroot environment is now set up, access it with:
-->Vaše prostředí chroot je nyní nachystáno, takže do něj můžete vstoupit:
chroot /mnt/aptosid-chroot /bin/bash
Nyní můžete využít cache aptu nebo pozměnit soubory, které chcete opravit, tak, jako byste měli zavedený operační systém. V tomto případě budeme provádět opravu Grubu zpět na MBR.
Pro obnovu Grubu 2
apt-get install --reinstall grub-pc
To ensure that grub was installed to the correct disk or partition, run:
dpkg-reconfigure grub-pc
To restore Grub 2 EFI
apt-get install --reinstall grub-efi-amd64
Pro obnovu Grubu 1 (grub-legacy)
apt-get install --reinstall grub-legacy
Sledujte instrukce instalátoru.
Pro uvolnění se z chroot:
Ctrl+d
Restartujte svůj počítač.