Archiv štítku: uefi

Oprava zaváděcího sektoru MBR nebo UEFI GPT ve Windows

Je disk typu GPT nebo MBR

diskpart
list disk

Ve výpisu disků, uvidíme sloupec GPT. Pokud je ve sloupci * tak se jedná o disk s rozložením GPT.

Oprava UEFI GPT

Nabootovat z instalačního media Windows 10. Spustit příkazový řádek přes nabídku Opravit počítač>Odstranit potíže>Upřesnit možnosti>Příkazový řádek, případně pomocí klávesové zkratky SHIFT+F10.

Spustit nástroj Diskpart, vypíšeme seznam disků list disk a vyberte systémový disk pomocí sel disk. Ve většině případů to bude disk s ID 0. Následně vypíšeme informace o oddílech pomocí list vol. Zaměříme se na partion s FAT32 kde je uloženo nastavení GPT a na oddíl s Windows. Vybereme oddílu s GPT oddílem ve formátu FAT32 sel vol <cislo oddilu> přiřadíme písmeno assign letter=<pismeno jednotky např. z:>. Vyskočíme z aplikace Diskpart pomocí příkazu exit. Přepneme se na oddíl s GPT cd /d Z:\EFI\Microsoft\Boot\. Opravíme zavaděč bootrec /fixboot. Zazálohujeme starou BCD tabulku ren BCD BCD.old a přidáme aktuální bcdboot e:\Windows /s z: /f ALL. Restartujeme PC.

Příklad:

diskpart
list disk
sel disk 0
list vol
sel vol <cislo oddilu s GPT ve formatu FAT>
assign letter=<pismeno jednotky napr Z>:
exit
cd /d z:\EFI\Microsoft\Boot\
bootrec /fixboot
ren BCD BCD.old
bcdboot e:\Windows /s z: /f ALL

Pro odstranění svazku GPT a všech dat na disku lze použít příkaz clean v programu Diskpart. Dejte si pozot jestli jste vybrali správný disk pomocí select disk <cislo disku>.

Pokud při zadání příkazu bootrec /fixboot dojde k chybě zápisu, může pomoct odstranění a opětovné vytvoření oddílu s BCD.

//spustíme příkaz diskpart
Diskpart 
//vypíšeme seznam disků, jednotka bootovacím oddílem je v našem případě na disku 0
List disk
//vybereme disk 0
Sel disk 0 
//vypíšeme seznam oddílů. Zajímá nás oddíl s FAT32 v našem případě jde o oddíl 4
List vol 
//vybereme oddíl 4
Sel vol 4 
//oddílu přiřadíme písmeno Z
assign letter=z:
//vyskočíme s programu diskpart
Exit


//přepneme se na jednotku z: 
z:

//naformátujeme jednotku z: na FAT32
format z: /FS:FAT32

//od verze W10 1709 stačí k jen tento příkaz k vytoření BCD, kde C:\windows je umístění systému a z: disk s GPT oddílem
bcdboot C:\windows /s z: /f UEFI

//do verze W10 1709, případně pokud předchozí příkaz nebude fungovat
//vytvoříme adresáře pro pro EFI
MD z:\EFI\Microsoft\Boot

//přepneme se do adresáře boot
cd /d Z:\EFI\Microsoft\Boot\

//spustíme
bootrec /FixBoot

//nakonec spustíme příkaz pro češtinu
bcdboot c:\Windows /l cs-cz /s z: /f All
//pro angličtinu
bcdboot c:\Windows /l en-us /s z: /f All
bcdboot c:\Windows /l en-us /s <boot letter>: All

https://support.microsoft.com/cs-cz/kb/300415

Skrytí nebo zobrazení partition

DISKPART
select disk 0
list partition
select partition 1
detail partition
set id=C12A7328-F81F-11D2-BA4B-00A0C93EC93B //pro GPT zavaděč system partition ESP
set id=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 //pro basic data
set id=D3BFE2DE-3DAF-11DF-BA40-E3A556D89593 //pro GPT zavaděč pro intel Rapid
set id=07 override // pro NTFS

07 = Windows NT NTFS
17 = Hidden
27 = OEM Recovery

Pro GPT
Recovery: de94bba4-06d1-4d40-a16a-bfd50179d6ac
Normal: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
EFI: c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Reserved: e3c9e316-0b5c-4db8-817d-f92df00215ae

více na https://en.wikipedia.org/wiki/GUID_Partition_Table

Ve Windows 8 bylo doporučené ozdělení oddílů: oddíl nástrojů prostředí Windows RE, systémový oddíl (UEFI?), MSR, oddíl systému Windows a oddíl bitové kopie pro obnovení.

Oprava MBR

Nejčastějším důvodem pro opravu MBR je pokud chceme použít disk, na kterém byl původně nainstalován Linux. Případně pokud dojde k poškození MBR. Pro opravu zaváděcího sektoru MBR použijeme tyto příkazy:

bootrec.exe /fixmbr
bootrec.exe /fixboot
bootrec.exe /scanos
//doporučuji zazálohovat BCD
bootrec.exe /RebuildBcd

fixmbr – oprava MBR záznamu
fixboot – oprava spouštěče
RebuildBcd – oprava nabídky operačních systémů

Záloha BCD

bcdedit/export C:\BCD_Backup
c:
cd boot
attrib bcd -s -h - r
ren c:\boot\bcd bcd.old
Bootrec/RebuildBcd

Chybějící bootmgr

copy <instalační médium>:\bootmgr <disk s Windows>:\bootmgr

Nastavení aktivního oddílu

list volume
select volume <cislo svazku>
active

Výpis informací o disku a nastavení aktivního oddílu:

diskpart
list disk
select disk <číslo disku>
detail disk
list partition
select partition <číslo partition>
active

Spouštěcí disk:

bootsect /nt60 ALL /force /mbr
ALL může být nahrazeno písmenem jednotky

Ve Windows XP se použijí tyto příkazy:

fixboot c:
fixmbr c:
bootcfg /rebuild

Oprava zavaděče z OS Linux pomocí příkazu ms-sys nebo lilo

Pro windows 7 až 10
ms-sys --mbr7 /dev/sda1

Pro Windows Vista
ms-sys --mbrvista /dev/sda1

Pro Windows XP/2K/2003
ms-sys --mbr /dev/sda1

Pro Windows 98/95
ms-sys --mbr95b /dev/sda1

Pro MS-DOS
ms-sys --mbrdos /dev/sda1

nebo pomocí aplikace lilo
sudo apt-get install lilo
sudo lilo -M /dev/sda mbr

 

Základní vyčištění disku ve Windows

Diskpart
list disk
select disk <číslo disku>
clean

Přiřazení a odebrání oddílu písmeno jednotky (letter)

vypíšeme seznam oddílů
list volume

vybereme oddíl, například 2
select volume 2

přiřadíme písmenko vybranému oddílu
assign letter=Z

odebrání přiřazeného písmena jednotce
remove letter=Z

pokud se po restartu jednotka opět připojí tak v registrech odmazat klíč, obsahující písmeno jednotky
Computer\HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

Vyčištění disku v Linuxu

smazání mbr
dd if=/dev/zero of=/dev/sda bs=512 count=1

formát mbr
dd if=/dev/zero of=/dev/sda bs=446 count=1

vymazání prvních 100MB dat
dd if=/dev/zero of=/dev/sda bs=1048576 count=100

vymazání celého disku
dd if=/dev/zero of=/dev/<disk>

přepsání náhodnými daty
dd id=/dev/urandom of=/dev/<disk>

Chyby po naklonování disku

Chyba 0xc000000e

//Zkontrolovat systémový a i ostatní disky. Skryté oddíly připojit.
chkdsk c: /f
MBR disk
MBR disk
//spustit diskpart
diskpart
//vypsat disky v PC
list disk
//vybrat disk s oddílem Windows
sel disk 0
//zobrazit oddíly
list part
//vybrat oddíl s Windows v našem případě oddíl 2
sel part 2
//aktivovat oddíl
active
//ukončíme program diskpart
exit

//opravíme bcd
bootrec /rebuildbcd
//pokud příkaz skončí "chybou systém nemůže najít zadanou cestu" "system cannot find the path specified" použijte příkaz
bcdboot c:\windows
UEFI disk

Aby oprava fungovala musíte nabootovat instalačné médium v režimu UEFI.

//opravíme bcd
bootrec /rebuildbcd
//pokud příkaz skončí "chybou systém nemůže najít zadanou cestu" "system cannot find the path specified" použijte příkaz, kde disk c: je oddíl s adresářem WIndows
bcdboot c:\windows

Odkazy:

Bezpečné smazaní HDD linux http://vetrnikplejs.blogspot.cz/2007/10/bezpen-smazn-dat-ubuntu.html
Dualboot BCDedit https://superuser.com/questions/511582/how-to-use-bcdedit-to-dual-boot-windows-installations
Odpojení písmena UEFI oddílu https://answers.microsoft.com/en-us/windows/forum/windows_10-files/window-10-efi-system-partition-and-recovery/e7389cec-f0a3-4f85-bc7e-8b22be22680b

Vytvoření Windows PE:
https://www.optimalizovane-it.cz/deployment/geek-deployment-windows-priprava-disku-a-aplikace-image.html