Hlavní menu
Hlavní stránka Seznam rubrik Download Weblinks Ankety Top 15

  Kalendář
<<  Listopad  >>
PoÚtStČtSoNe
  1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30    

Oprava bootování na EFI systému
Datum vydání: 09. 09. 2016 (1714 přečtení)

Windows od verze 6 (Vista a novější, tedy i Windows 10) podporují tzv. EFI systém bootování, který se liší od starého BIOS bootování. Pokud se EFI poškodí, je možno ho opravit z příkazové řádky. Tento návod můžete také použít pro přesun bootovacího svazku nebo pro opravu bootování po zkopírování disku na jiný (např. větší nebo SSD).

Poškozený disk můžete buď připojit k jinému počítači, kde spustíte cmd jako správce nebo použít instalační DVD nebo USB a kliknout na Opravit tento počítač a následně zvolit Příkazový řádek (Command prompt).

Pokud se vám nedaří zobrazit nouzovou obrazovku, podívejte se do staršího článku, kde je uveden podrobný popis.

Nejprve musíte zjistit, jaká písmena mají svazky na poškozeném disku. Zadejte tedy příkaz diskpart a následně list volume, čímž se vypíše seznam všech svazků. Instalace Windows může mít buď jeden disk (který je typicky C:) nebo je rozložen na 2 a více svazků, kde svazek označený jako "system" obsahuje bootovací (EFI) soubory (a je skrytý a bez písmene) a další svazek pak obsahuje složku Windows (tzv. instalační disk, který má písmeno C:). Program diskpart ukončíte příkazem exit.

Pokud máte disk s 2 a více svazky (další svazky mohou být označeny jako "recovery" nebo "obnova" - obvykle je to u notebooků nebo předinstalovaných PC), budete potřebovat přiřadit písmenu skrytému systémovému disku. To provedete tak, že spustíte diskpart a zadáte list volume a zjistíte číslo systémového svazku. Následně zadáte select volume X, kde X je číslo daného systémového svazku, a pak zadáte assign, čímž zvolenému svazku přiřadíte první volné písmenu. Následně znovu zadejte list volume a vypíše se nově přiřazené písmeno. Diskpart ukončete příkazem exit.

Zadejte příkaz bcdedit a stane se jedna ze dvou věcí. Za prvé může příkaz vypsat chybu "Nenalezeno zařízení" ("Cannot find file"), což znamená, že nejprve musíte najít místo, kde je BCD uloženo, nebo za druhé vypíše dlouhý seznam, což znamená, že je BCD uloženo správně. Pro druhý případ rovnou skočte na odstavec Oprava BCD. Pokud příkaz vypsal "Přístup zamítnut" ("Access denied"), znamená to, že musíte příkazový řádek spustit jako správce (což se stane jen při spuštění z Windows - z instalačního disku se vždy spouští jako správce).

Nalezení BCD

Pokud příkaz BCD zdánlivě nefunguje, je to pravděpodobně proto, že jste nabootovali z instalačního media a BCD je nastaven jinak (ale můžete to být způsobeno i jinými důvody).

Zadejte příkaz dir X: /a:hs, kde jako X zadáte nejprve písmenu systémového disku (pokud existuje) a následně písmeno instalačního disku (C:). Disk, na kterém se zobrazí složky Boot, EFI a soubor bootmgr je ten, na kterém je EFI uloženo. Na některých systémech může chybět složka EFI a disk tak obsahuje jen složku Boot a soubor bootmgr.

Pokud je přítomna složka EFI, měl by být BCD uložen v \EFI\Microsoft\Boot\BCD. V opačném případě je BCD v \Boot\BCD. Podle toho příslušně upravte dále uvedené příkazy!

Pokud není EFI uloženo ani na jednom disku, můžete ho vytvořit pomocí příkazu bcdboot C:\Windows /s X:, kde C: je písmeno instalačního disku (se složkou Windows) a X: je písmeno systémového disku, kam se uloží EFI soubory. V případě, že máte jen jeden svazek pak bude příkaz bcdboot C:\Windows /s C:. Následně by příkaz dir X: /a:hs již měl vypsat uvedené složky.

Nyní, když víte, na kterém disku je EFI uloženo, můžete použít příkaz bcdedit /store X:\EFI\Microsoft\Boot\BCD nebo bcdedit /store X:\Boot\BCD, což vypíše obsah daného BCD souboru (tedy totéž, co by vypsal samotný příkaz bcdedit, pokud by byl systém správně nakonfigurován).

Všechny následující příkazy teď budete psát ve tvaru bcdedit /store X:\EFI\Microsoft\Boot\BCD /příkaz a budete tak editovat BCD na daném disku. Například bcdedit /store X:\EFI\Microsoft\Boot\BCD /set {current} /d "Windows 10" změní jméno systému na disku X: na "Windows 10". Nyní se můžete pustit do samotné opravy BCD.

Nejprve se ale - na PC, kam disk patří - podívejte do UEFI (náhrada BIOSu na systému, který podporuje EFI) tím, že během spouštění PC budete mačkat DEL nebo F2. Najděte položku BOOT a jako první zvolte "Windows Boot Manager". Pokud je uveden vícekrát, znamená to, že máte soubor BCD uložen na více svazcích a musíte vybrat ten správný (což teď nemusí být poznat - až BCD opravíte, zkuste zde zvolit různé manažery a zjistit, který nabootuje).

Oprava BCD

Příkaz bcdedit by měl vypsat minimálně 2 položky: Windows Boot Manager a Windows Boot Loader. Pokud ne, podívejte se níže na Vytvoření nového BCD.

Co vás zajímá, jsou položky device a u loaderu ještě path a osdevice. Pokud je device označeno písmenem (např. C:), zkontrolujte, že je to správné písmeno. Pokud ne (např. je uvedeno písmeno D:, ale vy máte systémový disk E: a instalační C:), podívejte se níže, jak ho změnit.

Pokud je device uvedeno ve tvaru \Device\HardDiskVolumeX, znamená to, že daný svazek nemá přiřazené písmeno. Podívejte se výše, jak přiřadit písmeno svazku X. Následně postup opakujte a zkontrolujte, jestli uvedené písmeno odpovídá systémovému a instalačnímu disku.

Hodnota device pod Windows Boot Manager musí být nastavena na disk, na kterém se nalézá soubor BCD. Pokud je nastaven jiný disk, zadejte příkaz bcdedit /set {bootmgr} device partition=E: (nezapomeňte přidat /store, pokud je BCD uložen jinde), kde E: je písmeno disku obsahujícího BCD soubor (viz výše Nalezení BCD). Pokud je místo písmene uvedeno "Neznámý", odkazuje na disk, který již není připojen k počítači. Pomocí předchozího příkazu tedy nastavte správné písmeno.

Hodnota device pod Windows Boot Loader musí být nastavena na disk, na kterém se nalézá složka \Windows, hodnota osdevice musí být nastavena na totéž písmeno a path musí odkazovat na soubor \WINDOWS\system32\winload.efi nebo \WINDOWS\system32\winload.exe (nebo podobný - může se lišit podle verze Windows). Pokud je nastaven jiný disk, zadejte příkaz bcdedit /set {guid} device partition=C:, kde C: je písmeno disku se složkou Windows a {guid} je hodnota, kterou bcdedit uvádí pod identifier (může to být {current}, {default} nebo nějaký náhodný guid jako třeba {4ab0a9ca-72c3-11e6-868b-82ae9943e95d}).

Pokud se liší osdevice, zadejte bcdedit /set {guid} osdevice partition=C:, kde opět změňte C: a {guid}. A pokud path odkazuje na neexistující soubor, můžete to opravit zadáním bcdedit /set {guid} path "\Windows\system32\winload.efi", kde cestu můžete ověřit příkazem dir C:\Windows\system32\*.efi (soubor není skrytý ani systémový, takže se normálně zobrazí).

Vytvoření nového BCD

Pokud jste na disku sice našli soubor \EFI\Microsoft\Boot\BCD nebo \Boot\BCD, ale soubor je příliš malý (měl by mít alespoň 20kB) nebo prostě nefunguje (příkaz bcdedit /store X:\EFI\Microsoft\Boot\BCD vypíše chybu), můžete se ho pokusit opravit nebo vytvořit nový.

Zkuste příkaz dir X:\EFI\Microsoft\Boot\ /a:hs nebo dir X:\Boot\ /a:hs (příp. bez /a:hs) a podívejte se, jestli nejsou v seznamu nějaké záložní soubory (např. BCD.backup.001 nebo BCD.bak). Pokud ano, použijte příkaz bcdedit /import X:\EFI\Microsoft\Boot\BCD.backup.001, čímž soubor BCD přepíšete zálohou. Pokud je záloh více, zkuste je postupně všechny a zjistěte, která funguje.

Pokud žádnou zálohu nemáte, nebo žádná nefunguje, budete muset vytvořit nový soubor BCD. Pozor, následující příkazy uvádějte pouze s uvedenými parametry. Nepřidávejte /store tam, kde to není výslovně uvedeno. Samozřejmě písmeno disku a cestu změňte podle potřeby (X:\EFI\Microsoft\Boot\ nebo X:\Boot\ - pro přehlednost budu používat tu kratší cestu).

Pokud soubor BCD existuje, nejprve ho zbavte jeho atributů attrib -h -s E:\Boot\BCD a následně ho smažte del E:\Boot\BCD. Pokud neexistoval, nic se neděje a pokračujte dál.

Nyní vytvoříme dočasný soubor, se kterým budeme pracovat bcdedit /createstore E:\Boot\BCD.tmp, a vytvoříme v něm nový Boot manažer bcdedit /store E:\Boot\BCD.tmp /create {bootmgr} /d "Windows Boot Manager" (popis neměňte!).

Teď můžete nový manažer naimportovat bcdedit /import E:\Boot\BCD.tmp (pokud nefunguje, zkuste bcdedit /store E:\Boot\BCD /import E:\Boot\BCD.tmp podle cesty k souboru, který jste smazali) a dočasný soubor smazat del E:\Boot\BCD.tmp. Následně postupujte podle výše uvedené kapitoly Oprava BCD a nastavte device příkazem bcdedit /set {bootmgr} device partition=E:.

Teď musíte do manažeru přidat instalaci Windows. To můžete udělat buď příkazem bootrec /rebuildbcd, který automaticky najde všechny složky Windows a přidá je do seznamu (stiskněte A a pak Enter), nebo ručně pomocí bcdboot C:\Windows. První příkaz je dostupný jen z instalačního média.

Třetí možnost je vytvořit všechny položky ručně, postupně pomocí příkazů:

bcdedit.exe /create /d "Windows" /application osloader
bcdedit.exe /set {guid} device partition=C:
bcdedit.exe /set {guid} osdevice partition=C:
bcdedit.exe /set {guid} path \Windows\system32\winload.efi
bcdedit.exe /set {guid} systemroot \Windows
bcdedit.exe /displayorder {guid}
Místo {guid} uveďte GUID, který vrátí první příkaz /create a místo C: a \Windows uveďte správné písmeno a cestu.


[Akt. známka: 0 / Počet hlasů: 0] 1 2 3 4 5
Autor: Nothrem Sinsky | Komentáře: 0 | Přidat komentář | Informační e-mail Vytisknout článek

  Vyhledávání

Vyhledat text

RybolovUbytování CyklistéPenzionChalupa Nová BystřicePenzion Jižní ČechyJižní Čechy chataUbytování samotaKomorníkUbytováníStrmilovKunžakČeská Kanada ubytováníJindřichův Hradec chata

  Administrace
Administrace

  Copyright
2006 © Nothrem Sinsky

Tento web byl vytvořen pomocí redakčního systému phpRS
Layout: SandStorm - verze 0.9.0
based on layout Beach - verze 1.1.0