User Tools

Site Tools


wiki:os:linux:windowsgpttombr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

wiki:os:linux:windowsgpttombr [2018/01/22 09:53]
root vytvořeno
wiki:os:linux:windowsgpttombr [2018/01/22 09:58] (current)
root
Line 15: Line 15:
 </code> </code>
  
 +4) **fdisk** - spojit prvni tři partition do jedné, čtvrtou přečíslovat na druhou, oflagovat první partition jako bootable. 
 +
 +Stav před změnou:
 <code bash> <code bash>
 +fdisk /dev/vda
 + p
 + 
 +Command (m for help): p
 +Disk /dev/vda: 127 GiB, 136365211648 bytes, 266338304 sectors
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 512 bytes
 +I/O size (minimum/optimal): 512 bytes / 512 bytes
 +Disklabel type: dos
 +Disk identifier: 0x00000000
 +
 +Device     Boot   Start       End   Sectors   Size Id Type
 +/dev/vda1          2048    616447    614400   300M 27 Hidden NTFS WinRE
 +/dev/vda2        616448    819199    202752    99M ef EFI (FAT-12/16/32)
 +/dev/vda3        819200   1081343    262144   128M  c W95 FAT32 (LBA)
 +/dev/vda4       1081344 266336255 265254912 126.5G  7 HPFS/NTFS/exFAT
 </code> </code>
 +
 <code bash> <code bash>
 +# Smažeme první tři parttion.
 +d 1     
 +d 2
 +d 3
 +
 +# Vytvoříme novou první parttion od začátku disku 2048 až po začátek původně čtvrté partition.
 +n p 1 <enter (2048)> <konec 3.part. (1081343)>
 +
 +Na nové partition, která je teď první, vytvoříme filesysytém NTFS.
 +t 1 7
 +p
 +
 +Command (m for help): p
 +Disk /dev/vda: 127 GiB, 136365211648 bytes, 266338304 sectors
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 512 bytes
 +I/O size (minimum/optimal): 512 bytes / 512 bytes
 +Disklabel type: dos
 +Disk identifier: 0x00000000
 +
 +Device     Boot   Start       End   Sectors   Size Id Type
 +/dev/vda1          2048   1081343   1079296   527M  7 HPFS/NTFS/exFAT
 +/dev/vda4       1081344 266336255 265254912 126.5G  7 HPFS/NTFS/exFAT
 </code> </code>
 +
 <code bash> <code bash>
 +# Vda4 bychom chtěli jako vda2 - pro pořádek.
 +# Smažeme tedy čtvrtou partition. (Ke ztrátě dat nedojde, vytvoříme-li ji znovu se stejným začátkem a koncem.)
 +d 4
 +
 +# Vytvoříme novou partition 2.
 +n p 2 <enter (1081344)> <konec puvodni 4. part (266336255)>
 +
 +# Vytvoříme na ní filesysytém NTFS.
 +t 2 7
 +
 +# Oflagujeme ji jako boot.
 +a 1
 +p
 + 
 +Command (m for help): p
 +Disk /dev/vda: 127 GiB, 136365211648 bytes, 266338304 sectors
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 512 bytes
 +I/O size (minimum/optimal): 512 bytes / 512 bytes
 +Disklabel type: dos
 +Disk identifier: 0x00000000
 + 
 +Device     Boot   Start       End   Sectors   Size Id Type
 +/dev/vda1  *       2048   1081343   1079296   527M  7 HPFS/NTFS/exFAT
 +/dev/vda2       1081344 266336255 265254912 126.5G  7 HPFS/NTFS/exFAT
 +
 +# Zapíšeme změny na disk
 +w
 </code> </code>
 +
 +5) **dd**
 +
 +  * připravit si referenční čistou instalaci windows v oVirtu.
 +  * připojit referenční disk se vzorovou čistou instalací widlí
 +  * zkopírovat (dd) obsah první partition z referenční čisté instalace windows (připravený image by se hodil)
 +  * bacha, aby cílová nebyla menší než zdrojová (opak nevadí)
 +
 <code bash> <code bash>
 +fdisk -l
 +Disk /dev/vda: 127 GiB, 136365211648 bytes, 266338304 sectors
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 512 bytes
 +I/O size (minimum/optimal): 512 bytes / 512 bytes
 +Disklabel type: dos
 +Disk identifier: 0x00000000
 +
 +Device     Boot   Start       End   Sectors   Size Id Type
 +/dev/vda1  *       2048   1081343   1079296   527M  7 HPFS/NTFS/exFAT
 +/dev/vda2       1081344 266336255 265254912 126.5G  7 HPFS/NTFS/exFAT
 +
 +
 +Disk /dev/loop0: 138.8 MiB, 145498112 bytes, 284176 sectors
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 512 bytes
 +I/O size (minimum/optimal): 512 bytes / 512 bytes
 +
 +
 +Disk /dev/vdb: 130 GiB, 139586437120 bytes, 272629760 sectors
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 512 bytes
 +I/O size (minimum/optimal): 512 bytes / 512 bytes
 +Disklabel type: dos
 +Disk identifier: 0xfe809e9f
 +
 +Device     Boot  Start       End   Sectors   Size Id Type
 +/dev/vdb1  *      2048    718847    716800   350M  7 HPFS/NTFS/exFAT
 +/dev/vdb2       718848 272627711 271908864 129.7G  7 HPFS/NTFS/exFAT
 </code> </code>
 +
 +<code bash>
 +dd if=/dev/vdb1 of=/dev/vda1 bs=512
 +</code>
 +
 +6) **opravit MBR za pomoci dd a hexdumpu**
 +  * /dev/vdb = vzor (tento byl připojen za běhu)
 +  * /dev/vda = cil (s timto VM nastartoval)
 +  * Z blokového zařízení nelze pomocí dd číst po jednotlivých bytech (min. 512). Chceme-li tedy sloučit prvních 446 byte ze vzorového disku se zbytkem (partition table) z cílového disku, musíme použít jako prostředníka soubory - z nich již lze číst a a zapisovat do nich po jednom byte. Viz. postup níže...
 +
 +Zkopírujeme prvních 512 byte do souboru ./vzor.
 +
 +(pozn. od adresy 000001be zacina partition table)
 +<code bash>
 +dd if=/dev/vdb bs=512 count=1 > ./vzor
 +hexdump -C ./vzor
 +</code>
 +
 +Z cílového disku si také zkopírujeme prvních 512 byte do souboru ./cil
 +
 +<code bash>
 +dd if=/dev/vda bs=512 count=1 > ./cil
 +hexdump -C ./cil
 +</code>
 +
 +Nyní zkopírujeme jen 446 prvních byte ze souboru ./vzor do souboru ./cil (conv=notrunc zajistí aby zbytek souboru ./cil zůstal nezměněn)
 +
 +<code bash>
 +dd if=./vzor bs=1 count=446 conv=notrunc of=./cil
 +hexdump -C ./cil
 +</code>
 +
 +Zkopírujeme obsah souboru ./cil na cílový disk.
 +
 +<code bash>
 +dd if=./cil of=/dev/vda bs=512 count=1
 +</code>
 +
 +Výpis prvních 512 byte cílového disku pro kontrolu.
 +
 +<code bash>
 +dd if=/dev/vda bs=512 count=1 | hexdump -C
 + 
 +sync
 +</code>
 +
 +Vypnout VM.
 +
 +7) **Oživení VM v oVirtu**
 +
 +  * Připojit systémový disk jako IDE k VM
 +  * Nastartovat VM, proběhnou nějaké opravy, ale systém by měl nakonec naskočit
 +  * Připojit dočasně druhý jakýkoliv (fake) disk jako virtio, klidně zaživa
 +  * Otevřít správce zařízení, instalace všech potřebných virtio driverů (síť, disk, atp.)
 +  * Vypnout VM
 +  * Odpojit fake disk
 +  * Změnit primární disk na virtio
 +  * Nastartovat VM
 +  * Nastavit síť dle poznámek - možná nepůjdou nové síťovky pojmenovat stejně jako ty původní. Je to tím, že ty původní tam stále jsou, ale nejsou vidět. Ve správci zařízení stačí dát něco jako “Zobrazit skrytá zařízení” a staré síťovky pak odstranit.
 +  * Zkontrolovat eventlog
 +
wiki/os/linux/windowsgpttombr.1516611193.txt.gz · Last modified: 2018/01/22 09:53 by root