I wish to clone a 500gb MBR source disk to a 250gb MBR destination disk manually by making each corresponding partition on the destination disk and restoring just the data contents of each. This way, if a 100GB partition is only 5% full, I am only dealing with 5GB and not all 100 when using dd. I believe I am restoring the contents of each partition correctly, including the partition labels. The only thing that changes is the partition sizes, but that should not matter.
My understanding of MBR disks is that the first 446 bytes is the bootstrap code area. And with the subsequent 64 bytes being the partition table makes up the familiar 512 bytes of MBR. But I have already handled these 64 bytes (partition table) manually on the destination disk.
- How does one deal with the bootstrap code area, the first 446 bytes of the first sector of the disk?
- Is it as simple as
dd if=/dev/sdb of=/dev/sdc bs=446 count=1? - Will bootstrap code be the same on every MBR disk, or does it need to be modified to work on the destination disk? If modified, then how?
- What does the bootstrap code do?
I want to know how to clone different size MBR disks, myself manually, and not rely on some 3rd party free software. I have already successfully dd if=/dev/sdb of=/dev/sdc bs=32M between same sized disks and had the destination disk work. Everything is mount by disklabel. And I am dealing with Fedora 18 (Spherical Cow), and I believe grub2 and all my partitions are ext3.
/dev/sdb#and destination partitions as/dev/sdc#and as root do acp -rp *mount /dev/sdb# /z; cd z; tar -cf /root/sdb#.tar *then doing amount /dev/sdc# /zz; cd zz; tar -xf /root/sdb#.tar. Replace#with partition number