Diit.cz - Novinky a informace o hardware, software a internetu

Jak opravit bootování Windows při přechodu na jinou UEFI desku?

Představte si následující modelovou situaci: máte desku s UEFI a právě v režimu UEFI (nikoli v režimu BIOS) jste nainstalovali na pevný disk operační systém Windows 7 x64. Vezmete disk a připojíte jej ke druhé (třeba stejné) desce, také UEFI. Co myslíte, spustí se po startu PC systém Windows? Nemusí to být pravda. Tedy nám se stalo, že se skutečně systém na nové desce nespustil. A protože se to v budoucnu může klidně stát i vám, poradíme, co se s tím dá dělat.
Ikonka UEFI disku

UEFI je stále (i přes svou dlouholetou existenci) věc nová, zejména v běžných desktopech (a noteboocích). Pro spoustu lidí (přiznáme se, že i pro nás) je to pole neorané a tak na internetu není zase až tolik postupů s UEFI souvisejících. Jak již bylo v úvodu (a v závěru povídání o desce P8P67 PRO) řečeno, pokud přehodíte disk s nainstalovaným systémem Windows v režimu UEFI z jednoho počítače na druhý, může se klidně stát, že počítač z takového disku prostě nenabootuje, tedy přesněji řečeno nespustí zavaděč Windows, což je pro UEFI aplikace jako každá jiná (zatímco BIOS spouštěl boot kód umístěný na přesně určeném místě na disku). Pro „UEFI bootování“ (což svým způsobem není výraz až tak úplně přesný, nicméně stále použitelný) platí také určitá pravidla, jsou však značně volnější než bootování pomocí BIOSu. UEFI by tedy měl být schopen spustit v rámci „bootování“ určitou aplikaci z určitého umístění, aniž by mu o ní někdo předem řekl, ale zrovna v podání desek ASUS, s nimiž jsme měli tu čest, to nějak neplatí. Nevíme, zda je to „by design“, nebo zda to máme přičítat tomu, že desky ještě nejsou na trhu a tudíž ani jejich firmware ještě nebude tak docela finální (máme k dispozici aktuálně nejnovější verzi, ale ani tam to nefunguje), je ale určitě dobré se na to připravit a vědět, co s tím v případě, že na takový problém narazíte.

Systém Windows 7 (a vlastně i Windows Vista) byl navržen tak, aby mu bylo prakticky jedno, zda bude bootovat z BIOSu, nebo jej bude spouštět UEFI jako aplikaci. V obou případech totiž dochází ke spouštění systému ve formě „aplikace“, zde by se ale spíše hodilo říci „programu“. V případě UEFI je pak v NVRAM (flash) počítače uložen seznam možností bootování. Realita je taková, že instalátor Windows sem při instalaci skutečně zapíše položku „Windows Boot Manager“, aby UEFI věděl, že má odtud bootovat (systém to samozřejmě do flash paměti nepíše přímo, spíše říká UEFI, aby si to tam sám poznamenal). Dělá se to proto, že lze pak proces bootování zoptimalizovat vypnutím zbytečných detekcí všeho možného a třeba i namísto „hledání“ při každém spuštění počítače, odkud se co bude bootovat, se přejde rovnou k věci a počítač ví, odkud má zavést systém. Pokud to neví, tak jej buďto nezavede, nebo zkouší, odkud by se to dalo udělat. Když mu dojdou „UEFI nápady“, zkusí bootovat v režimu BIOS (UEFI typicky obsahuje cosi jako emulátor BIOSu).

A tak se můžete na následujícím videu podívat na situaci, kterou vám popíšeme: systém je nainstalovaný na desce ASUS P8P67 PRO a její UEFI ví o Windows Boot Manageru (do boot menu v NVRAM se dá zapisovat i pořadí položek, instalátor Windows tak zavaděč logicky umisťuje na první místo). Pak ale disk odpojíme a počítač znovu spustíme. Co se stane? Nic, položka Windows Boot Manager v UEFI zůstane, protože ji nikdo nesmazal. Jen se pak při skutečném startu nepovede Windows Boot Manager zavést, protože disk, na kterém je umístěn, prostě chybí. A přejde se k pokusu nabootovat z dalšího zařízení v seznamu, což je optická mechanika (to už jde o pokus o boot v režimu BIOS). Tam nic není, takže proces bootování logicky skončí chybovou hláškou.

Nyní vyměníme desku a podíváme se rovnou do jejího boot menu. Zde žádný Windows Boot Manager není, což je logické – na tuto desku nikdy nikdo Windows neinstaloval a nikdo do boot menu v NVRAM nezapisoval informaci o umístění Windows Boot Mangeru.

ASUS UEFI: dva bootable zdroje, žádný z nich UEFI

Pozor – bootování přímo z disku (tedy v režimu BIOS) v tomto případě není k ničemu, protože disk skutečně není „bootable“ (není určen k bootování) v režimu BIOS. To je onen hlavní rozdíl mezi spouštěním systému přes BIOS a přes UEFI. BIOS „bootuje“, UEFI „spouští aplikaci“. A přestože by se UEFI mohl kouknout, jakou aplikaci bude spouštět, v tomto případě (u desek ASUS) to u pevného disku z nějakého důvodu nedělá.

ASUS UEFI: bootable UEFI optický disk

Zajímavé však je, že když se do mechaniky strčí instalační DVD s Windows 7 x64 (které mimochodem „je UEFI bootable“), toto si UEFI osahá a skutečně jej k bootování v režimu UEFI nabídne. A tak toho využijeme a provedeme opravu boot menu v UEFI pomocí programu Bcdedit.exe. Magický příkaz, který problém bootování s přidaného disku vyřeší, je:

bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst

To by mělo stačit k tomu, aby systém Windows z disku, z něhož již úspěšně bootoval na jiném PC, nabootoval i zde.

ASUS UEFI: UEFI bootable pevný i optický disk

Pro kontrolu se tedy ještě podíváme do UEFI a zjistíme, že tam skutečně přibyla položka „Windows Boot Manager“ a ověříme její funkčnost spuštěním systému.

ASUS UEFI: Windows Boot Manager v menu

Popsanou situaci můžete zhlédnout celou na videu.

Tagy: 

WIFT "WIFT"

Bývalý dlouholetý redaktor internetového magazínu CDR-Server / Deep in IT, který se věnoval psaní článků o IT a souvisejících věcech prakticky od založení CD-R serveru. Od roku 2014 funguje v jedné mezinárodní firmě jako databázový administrátor a psaní článků už fakticky pověsil na hřebík.

více článků, blogů a informací o autorovi

Diskuse ke článku Jak opravit bootování Windows při přechodu na jinou UEFI desku?

Úterý, 4 Prosinec 2012 - 09:18 | Franta Rusher | Zdravim,nejak nechapu kam mam zmineny prikaz...
Sobota, 12 Březen 2011 - 23:19 | Fangorn | Chyba firmware mozna ne, trpi tim i dnesni verze...
Sobota, 4 Prosinec 2010 - 12:11 | Aleš Stárek | JJ, tipuju na chybu ve firmware.
Pátek, 3 Prosinec 2010 - 15:11 | kubik | Pripadne mi to nejaky divny - jsem zvyklej pomoci...
Pátek, 3 Prosinec 2010 - 11:39 | JVc | rekl bych ze toto by se melo dat vytvorit nejakym...
Pátek, 3 Prosinec 2010 - 10:56 | nereus | Konecnie nieco deep in it :-)

Zobrazit diskusi