Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm tring to back up the partition table of a Linux Ubuntu 10.04 LTS.

Actually I'm making the tests with Virtualized machines (VirtualBox). And I have one source system in a virtual disk, another virtual machine as the rescue system, and another empty virtual disk with the same size exactly than the source system disk.

So, running the rescue system I mount the source system disk and user this command for making the partition table backup:

sfdisk /dev/sdb –d > /backup/sdb-part-table.sf

And the file gets generated and saved with this output message:

Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.

Once I Have the partition table file I unmount the source disk and mount the backup empty disk.

I try to use this command:

sfdisk /dev/sdb < /backup/sdb-part-table.sf

Then I try again to restore the parition table but gives me this error:

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdc: 265 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdc1   *      0+    245-    246-   1973248   83  Linux
/dev/sdc2        245+    265-     20-    155649    5  Extended
/dev/sdc3          0       -       0          0    0  Empty
/dev/sdc4          0       -       0          0    0  Empty
/dev/sdc5        245+    265-     20-    155648   82  Linux swap / Solaris
New situation:
Units = sectors of 512 bytes, counting from 0

Device Boot    Start       End   #sectors  Id  System
/dev/sdc1   *      2048   3948543    3946496  83  Linux
/dev/sdc2       3950590   4261887     311298   5  Extended
/dev/sdc3             0         -          0   0  Empty
/dev/sdc4             0         -          0   0  Empty
/dev/sdc5       3950592   4261887     311296  82  Linux swap / Solaris
Warning: partition 1 does not end at a cylinder boundary

sfdisk: I don't like these partitions - nothing changed.
(If you really want this, use the --force option.)

So Finally I user force to make the restoration and seem to work:

sfdisk --force /dev/sdb < /backup/sdb-part-table.sf

Getting this result:

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdc: 265 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdc1   *      0+    245-    246-   1973248   83  Linux
/dev/sdc2        245+    265-     20-    155649    5  Extended
/dev/sdc3          0       -       0          0    0  Empty
/dev/sdc4          0       -       0          0    0  Empty
/dev/sdc5        245+    265-     20-    155648   82  Linux swap / Solaris
New situation:
Units = sectors of 512 bytes, counting from 0

Device Boot    Start       End   #sectors  Id  System
/dev/sdc1   *      2048   3948543    3946496  83  Linux
/dev/sdc2       3950590   4261887     311298   5  Extended
/dev/sdc3             0         -          0   0  Empty
/dev/sdc4             0         -          0   0  Empty
/dev/sdc5       3950592   4261887     311296  82  Linux swap / Solaris
Warning: partition 1 does not end at a cylinder boundary
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).)

But, when I move the backup to the new file system witch seem to be alright, the system do not start, I have a black screen as if no OS where installed in the backup machine, comparative of Partition Tables are equal in the working source disk and in the backup not-working disk.

Mbr backup is already done and installed. I've tried to install after and before the partition table restoration.

So, any idea of how can I make it work?

Thanks in advance, and have a nice week :D

share|improve this question
add comment

1 Answer

Did you tried a lower level approach? For example, using dd if=/dev/sdc of=mbr.sav bs=512 count=1, which will do exactly what you are expecting, that is to say backing up the first 512 bytes of your HDD to mbr.sav? To restore backup, invert if and of arguments values.

share|improve this answer
2  
That only gets the primary partitions however, /dev/sdc5 would be missed –  stew Mar 12 '12 at 15:01
    
Of course; I forgot the extended partitions. –  Penegal Mar 13 '12 at 7:58
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.