I have seen How to Make a Bit Copy of my Internal HD to an Extneral HD?. It does not address the question I pose.

I need to upgrade my /dev/sda (disk 0) to a bigger disk. /dev/sda supports 7 volumes (logical and extended partitions) and 2 OS (Win XP and Lx Trusty). I do not want to reinstall everything. It would take me a week ful time to get to where I am now.

Can I actually bit-copy /dev/sda to /dev/sdb, replace /dev/sda physically and copy the content of /dev/sdb back to the new /dev/sda ? Or do that via an ISO image ? Does it work at all ? Would any OS not balk at the new hardware found ? (/dev/sda will have changed and for instance I surmsise I would need to look carefully at my fstab after the fact because of the fact that partitions are referred to by their UUID).


Yes, bit-by-bit copy is possible from a smaller to a bigger drive.
I did so from a regular SCSI-ATA 240 GB conventional HDD (/dev/sda) to a new ATA 500 GB SSD, mounted as a USB external drive, using a live Ubuntu DVD with GParted, ddrescue and dd available. Obviously the new SSD needed to be formatted (using GParted) into something suitable for the live Lx to be able to mount it. It does not matter what the format really is as long as its partition(s) can be mounted under Lx. After formatting, one might want to check each available volume tag and signature, with:

sudo lshw -C disk

Cloning command syntaxes:

1) using dd:

dd -v if=/dev/sda of=/mnt/sdb bs=1024k

The default bs or block size is 512kB. I chose 1024kB hoping that it would speed up a little the bit-by-bit copy process.

2) using ddrescue:

ddrescue -d -f -b512 -n -v -r3 /dev/sda /dev/sdb [logfile-name]

A discussion on the differences between dd and ddrescue and even gddrescue does not fall within the scope of my initial question. It can be found elsewhere on askubuntu.com.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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