Pokud na svém počítači provozujete více oddělených operačních systémů, tzn. při startu počítače volíte mezi zavedením např. MS Windows a Linuxu, pak možná znáte ten pocit, kdy přijdete o linuxový zavaděč (GRUB). Typicky k této situaci dochází při přeinstalování druhého operačního systému. Jak ovšem obnovit původní nastavení GRUBu a nainstalovat ho opět do MBR hlavního disku?
V dobách, kdy jsem ještě používal Mandrake Linux, jsem tuto operaci prováděl jednoduše pomocí instalačního média, když jsem přeskočil většinu instalačních kroků a obnovil zavaděč. Nyní jsem se pokoušel to samé provést pomocí instalačního média v podobě „bussiness card“ CD Debian GNU/Linuxu, ale nějak se mi nedařilo...
Tak jsem se vrátil k osvědčené metodě, pocházející z dob mé práce s Gentoo Linuxem a k mé nejoblíbenější Live distribuci – System RescueCD. System RescueCD používám s oblibou na zálohování obrazů a oblastí disku, testování HW nebo při pokusech o záchranu dat. Kromě toho se hodí i na takovou operaci, jako je obnova zavaděče.
Po naběhnutí RescueCD je potřeba připojit oddíl, kde se nachází kořenový oddíl (root - /) systému, který budu obnovovat. Předpokladem je také, že se na tomto oddílu nachází i /boot, jinak je potřeba připojit do odpovídajícího adresáře také. Připojení provedete klasicky, např.:
mount /dev/hda1 /mnt/gentoo
To /mnt/gentoo uvádím z toho důvodu, že je v /mnt již předvytvořeno, ale stejně tak můžete použít i /mnt/windows, které tam naleznete taktéž, nebo si vytvořit cokoliv chcete.
Po připojení oblasti nadchází trocha toho kouzlení spočívající v chrootu do připojeného systému. Chroot vlastně není žádné kouzlo, jednoduše vám umožní změnit identitu a udělat z námi připojeného adresáře svůj nový kořenový adresář se vším co k tomu patří. Ještě než chroot provedete, bude dobré si do staronového systému také připojit /proc a /dev, i když to v našem případě nemusí být bezpodmínečně nutné, připojení provedete takto:
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
Konečně se můžeme chrootovat.
chroot /mnt/gentoo /bin/bash
Nyní se nacházíme ve svém systému a můžeme znovu zapsat ztracené informace GRUBu. To se provede zadáním příkazu
grub
který spustí shell GRUBu. V něm zadáme
root (hd0,0)
tento příkaz označuje umístění kořenového oddílu (root), v našem případě tj. první pevný disk hd0 (pozor, čísluje se od nuly a je jedno, zda to je disk hda či sda) a první oddíl na tomto disku, takže vlastně /dev/hda1.
setup (hd0)
tím se provede zápis GRUBu do MBR prvního pevného disku, tzn. do /dev/hda.
quit
Takto ukončíte příkazový řádek grubu. Nakonec stačí stisknout CTRL+ALT+DEL a po restartu vyjmout RescueCD. Objeví se okno zavaděče GRUB s těmi nabídkami jak jste zvyklí.