Boot linuxu ze zavaděče Windows

14.03.2010, 12:54
Tagy: Linux, Windows

Systém Windows si po instalaci obvykle přivlastní MBR, což platí i pro poslední vydaní, tedy Windows 7. Pokud máme na počítači ještě linux v dual-bootu, stane se pak nedostupným. Je dobré na to myslet dopředu a připravit se. Kromě toho lze přinutit i boot loader z Windows, aby umožnil boot linuxu. Toto nijak nedoporučuju, ale protože je to možné a postup jsem vyzkoušel, píšu o tom v tomto zápise.

Windows boot loader potřebuje k nabootování linuxu kopii jeho boot sektoru (kde by měl být nainstalován jiný zavaděč). Tu získáme v nějakém linuxovém prostředí příkazem dd bs=512 count=1 if=/dev/sdb1 of=/mnt/flashka/bootsect.lin, kde /dev/sdb1 je hlavní linuxový oddíl a na /mnt/flashka je namountováno něco rozumného. Ideální je uložit si boot sektor dříve než nainstalujeme Windows. V opačném případě můžeme nabootovat nějakou malou distribuci buď z CD, USB klíčenky nebo třeba přes PXE a boot sektor zkopírovat v ní.

Získaný boot sektor uložíme do C:\bootsect.lin.

Win2k/XP

Do souboru c:\boot.ini přidáme nový řádek:

c:\bootsect.lin="Debian"

Win7

Spustíme příkazový řádek s právy administrátora (pravé tlačítko, …) a vytvoříme nový BCD záznam.

bcdedit /create /d Debian /application BOOTSECTOR

Program bcdedit vypíše nějaké GUID, které dále použijeme místo {ID}. Zjistit se dá také přes bcdedit /enum.

bcdedit /set {ID} device partition=C:
bcdedit /set {ID} path \bootsect.lin
bcdedit /displayorder {ID} /addlast
bcdedit /timeout 3

Po restartu by se mělo objevit klasické boot menu, s novou položkou „Debian“. Odentrujte a naběhne Grub (nebo cokoliv jiného, co bylo původně nainstalováno na linuxovém oddíle).

Poznámka: cmd.exe má zřejmě ukázat, že konzole je něco nepoužitelného a okýnka jsou mnohem lepší. Zkusit můžete třeba také Console 2 nebo PowerCmd, ale opravdu kvalitní konzole pro windows prostě není.

Komentáře

Zobrazení: prosté / vlákna
milan

Děkuji moc za tento návod. Povedlo se. Skvělá instrukce a nyní jsem jako uživatel dvou OS velice spokojen se zavedením boot Fedory do zaváděče WIN7. Funguje to! Pěkný den.

03.06.2010, 6:11 | Link | Odpovědět
Luděk Ž.

Nazdar. Na tohle jsem se Tě chtěl vždycky zeptat a teď když jsi na to udělal návod, tak to už nepotřebuju :-) (Linux/Unix používám přes Putty). Ale možná to někdy využiju.

07.07.2010, 21:49 | Link | Odpovědět
Přidat komentář
Odpovídáte na komentář .
Vaše stránka. Nepovinné.
**tučné** //skloňené// ''kód''
* seznam pol. 1
* seznam pol. 2
  * vnořený seznam
# číslovaný seznam
{{{
předformátovaný text
}}}
[[http://devl.cz link]]