Zde je uveden návod tak jak jsem ho přeložil z těchto stránek.
Snad jen několik poznámek k tomuto textu.
Varování:
Tento dokument je poskytnut „jak je“ bez záruky. Použití na vlastní
riziko. V žádném případě nejsem zodpovědný za jakékoliv ztráty použitím
tohoto postupu.
Tento postup lze
použít jestliže:
- Váš počítač má
nainstalovány Windows a instalujete Linux jako druhý operační systém a
- Chcete použít Windows boot
loader (NTLDR) na MBR (Master Boot Record). Toto vám umožní stále
bootovat Windows bez problémů. Slyšel jsem, že Windows 2000/Windows XP
nebo antivirový program mohou hlásit chybu, když MBR neobsahuje Windows
boot loader
Můžete použít buď
GRUB nebo LILO pro dvojité bootování Windows 2000/Windows XP a Linux.
Oba pracují bez problémů, ale podle toho co jsem četl GRUB nepotřebuje
tolik nastavovat jako LILO, které vyžaduje znovu instalovat boot
loader (spuštením /sbin/lilo) pokaždé, když přestavujete
kernel nebo změníte nastavení v /etc/lilo.conf.
Nastavení dvojitého bootování
Následující kroky
popisují jak rozchodit dvojité bootování s GRUB; Jak na to jsem zjistil
prostudováním podobného postupu pro LILO. Ověřil jsem si, že to
funguje pro Windows 2000 a Windows XP a mělo by i na Windows NT
(všechny 3 OS používají stejnou bootovací architekturu).
- Instalujte GRUB na první
sektor oddílu /boot. NEINSTALUJTE JEJ DO
MBR! Pozor, umístění oddílu /boot na disku je důležité abyste
se vyhnuli možným problémům s omezením 1024
cylindrů u BIOSu.
Jestliže
instalujete Red Hat, pak je instalace Boot Loader:
- Vyberte "Use
GRUB as the boot loader"
- Vyberte
Install Boot Loader record on "...First sector of boot partition".
- Po skončení
instalace Red Hat restartujte do Linuxu. Jestliže nemáte boot disk,
nastartujte do linux
rescue mode
Jestliže už
máte Linux nainstalován:
- Spusťte
následující příkaz (předpokládá se /boot je /dev/hda2): grub-install
/dev/hda2
- Upravte /etc/grub.conf a ujistěte se, že je zde
řádek pro vaši verzi Windows. Pro přiklad uvádím kopii mého souboru /etc/grub.conf.
- Vytvořte kopii
Linux boot sektoru z /boot oddílu použitím tohoto
příkazu (předpokládá se /boot je /dev/hda2): dd
if=/dev/hda2 of=/linux.bin bs=512 count=1
- Kopírujte soubor linux.bin do oddílu FAT32 (vfat) nebo
na disketu.
Pro kopírování
do
oddílu FAT32, pokud jste v linux rescue mode, tento oddíl je přístupný
pod /mnt/sysimage.
Kopírování na
disketu:
- Připojte
disketu jestliže není připojená (předpokládá se /mnt/floppy existuje): mount
-t msdos /dev/fd0 /mnt/floppy
- Kopírujte na
disketu: cp
/linux.bin /mnt/floppy
- Restartujte do
Windows
- Kopírujte soubor linux.bin do C:\
- Spusťte
Poznámkový blok a upravte C:\boot.ini. Pro vaši informaci C:\boot.ini je skrytý systémový soubor,
takže se pravděpodobně neukáže v Průzkumníkovi. Pro úpravu souboru
zkuste: Start->Spustit a napište: notepad
C:\boot.ini.
Přidejte následující řádek na konci: c:\linux.bin="Linux"
Jestliže váš
systém souborů je NTFS (ne FAT32), musíte upravovat C:\boot.ini jako uživatel s právy
administrátora.
Aby se dalo
zapisovat do C:\boot.ini můžete buď:
- Použít
Průzkumník:
- Jděte do Nástroje->Možnosti
složky…->Zobrazit a vyberte Zobrazit
všechny soubory a zrušte Nezobrazovat
skryté a systémové soubory (Doporučeno).
- Klikněte
pravým tlačítkem na soubor a vyberte Vlastnosti a zrušte Jen
pro čtení.
Nyní můžete upravovat soubor.
- Po
skončení úprav, vraťte nastavení do původního stavu.
- Použít
příkazový řádek:
- Zpřístupněte
soubor pro úpravy: C:\attrib
-R -S -H boot.ini.
- Po
skončení úprav, vraťte nastavení: C:\attrib
+R +S +H boot.ini
Pro porovnání, zde
je kopie mého souboru boot.ini
.
- Znovu
restartujte. Měli byste být schopni vybrat buď Windows nebo Linux.
Výběr Linux spustí GRUB.
Odstraňování závad
- Když
vyberu Linux z boot menu, zamrzne mi GRUB (nebo L v případě LILO)
- Ujistěte se, že jste
vytvořil linux.bin správně příkazem dd. Jestliže si myslíte, že
jste použil příkaz správně, problém může být v tom, že vaš oddíl /boot je za omezením 1024
cylindrů a BIOS ho nemůže najít. Při startu systému Windows boot loader
zobrazí
možnosti z boot.ini. Když vyberete Linux, boot
loader čte 512 byte souboru linux.bin a BIOS se snaží najít oddíl
/boot aby spustil GRUB. Některé
verze BIOSu jsou schopny adresovat pouze prvních 1024 cylindrů
harddisku, což je zhruba 8 GB. Jak to opravíte? Vytvořte oddíl /boot před 1024 cylindrem; tj. do ~8 GB.
- Vyberu-li
Linux z boot menu,
objeví se chybové hlášení "Windows XP could not load: The file hal.dll
(windows/system32/) is missing or corrupt. Please reinstall”.
- To
je většinou způsobeno chybou v souboru boot.ini.
Poděkování
- Jason Noll: za
sdělení, že problém s hal.dll je způsoben chybou v boot.ini
- Garth Patil: za
pomoc při odstraňování závady proč GRUB zamrzne a za smysl pro humor
- Piete Brooks: za
připomínku že úprava for C:\boot.ini vyžaduje práva
administrátora a za přispění postupem jak zpřístupnit soubor použitím
Průzkumníka.
- Paul Feehan: za
přispění příkazy pro zpřístupnění C:\boot.ini ve Windows XP.
- Jan Holm Jensen: za
upozornění, že C:\boot.ini je skrytý systémový soubor.
- Hampus Hedberg Hankell: za následující návrh:
Myslím, že
byste měl přidat pomoc zoufalým uživatelům, kteří už nainstalovali GRUB
na MBR čímž ztratili možnost nastartovat do Windows XP. Postup pro
tohle je nastartovat Windows ze záchranné diskety a spustit fdisk
/mbr. Přinejmenším potom budou schopni dostat se do Windows a tentokrát
to udělat správně
- Mark Jordan: za
ověření že toto funguje pro Windows XP a doporučení pro kopírování
souboru na disketu
Doufám,
že jste shledali obsah této stránky užitečný (a přesný). Prosím pošlete
mi email s připomínkami nebo dotazy.
Copyright © 2002 Ed B. Park