Om eenvoudig een copy of een backup, te maken van een partition table kan je gebruik maken van sfdisk. In onderstaand voorbeeld ging het om het vervangen van een kapote HD in een dell laptop. op de kapoten disk stond een rescue image van dell. het doel was deze terug te zetten op de nieuwe disk.
De oude disk is verwijderd uit de laptop en de nieuwe disk zit er in, Boot daarna van een Linux live CD of een rescue cd, in het voorbeeld ben ik geboot van een Ubuntu live cd. De oude disk heb ik weer aan het systeem gehangen middels een “Converter kabel sata+ide naar USB”
De nieuwe disk dient uiteraard wel groter of even groot te zijn.
als systeem gestart is controleren of we beide disken zien, gebruik hier voor fdisk -l.
root@ubuntu:~# fdisk -l Disk /dev/sda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sda doesn't contain a valid partition table Disk /dev/sdb: 58.5 GB, 58506416640 bytes 255 heads, 63 sectors/track, 7113 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x434e78fe Device Boot Start End Blocks Id System /dev/sdb1 1 10 80293+ de Dell Utility /dev/sdb2 * 11 6719 53890042+ 7 HPFS/NTFS /dev/sdb3 6721 7112 3148740 db CP/M / CTOS / ...
De oude disk is /dev/sdb 60GB en de nieuwe een 160GB disk vinden we terug als /dev/sda en de nieuwe is leeg.
je kan de partition table in 1 stap copieren maar je kan het ook eerst naar een file doen. voordeel is dan dat je eventueel de size kan aanpassen als moet je er voorzichtig mee zijn.
eerst naar een file
root@ubuntu:~# sfdisk -d /dev/sdb > parttable.txt
en zo ziet de file er uit.
root@ubuntu:~# cat parttable.txt # partition table of /dev/sdb unit: sectors /dev/sdb1 : start= 63, size= 160587, Id=de /dev/sdb2 : start= 160650, size=107780085, Id= 7, bootable /dev/sdb3 : start=107956800, size= 6297480, Id=db /dev/sdb4 : start= 0, size= 0, Id= 0
'”`UNIQ–google-00000003-QINU`”‘
Nu kunnen we de file wegschrijven naar de nieuwe disk.
root@ubuntu:~# sfdisk /dev/sda < parttable.txt Checking that no-one is using this disk right now ... OK Disk /dev/sda: 19457 cylinders, 255 heads, 63 sectors/track sfdisk: ERROR: sector 0 does not have an msdos signature /dev/sda: unrecognized partition table type Old situation: No partitions found New situation: Units = sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sda1 63 160649 160587 de Dell Utility /dev/sda2 * 160650 107940734 107780085 7 HPFS/NTFS /dev/sda3 107956800 114254279 6297480 db CP/M / CTOS / ... /dev/sda4 0 - 0 0 Empty Successfully wrote the new partition table Re-reading the partition table ... If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).)
Als je nu niet zo’n usb converter hebt kan je deze methode ook gebruiken door met een live cd te booten. dan een het parttable.txt bestand wegschrijven op bv een usb drive of een netwerk share. vervolgens het systeem uitzetten en dan de disk wisselen weer booten van live cd en de partition table op de nieuwe disk zetten.
Zonder tussen stap
heb je beide disken wel tegelijk aan het systeem hangen kan je de partition table ook in 1 keer er op zetten.
root@ubuntu:~# sfdisk -d /dev/sdb | sfdisk /dev/sda
je kan bovengenoemde bv ook gebruiken als je bv een disk moet vervangen die onderdeel is van een software RAID set. zie Vervangen kapotte disk in RAID
Recente reacties