In my experience, I don't think there is something faster in the command line as dd
. Adjusting the bs
parameter can increase the speed, for example, I have 2 HDD that I know have a read/write speed greater than 100 MB/s so I do this:
dd if=/dev/sda of=/dev/sdb bs=100M
There is also pv
(Needs to be installed first) that checks for the fastest speed on both drives and then proceeds on cloning. This has to be done of course from root:
pv < /dev/sda > /dev/sdb
With PV I got 156 MB/s
The nice thing about pv
apart from the speed is that it shows the progress, current speed, time since it began and ETA. In regards to HFS+ I would not know, am just trying to help on the "speed" part. With pv
or a very optimized bs
parameter, you can do a 4 TB drive in less than 7 Hours (6 Hours 50 Minutes at a current speed of 150 MB/s).
I did a couple of tests with the connection types you were using and others I had available. I was using the Asus Z87 Pro and the Intel DZ68DP. This were my results, but first we need to know that the theoretical speeds for many transfer rates (Raw speeds) are just that, theory. Doing real tests revealed they are between 40% to 80% of that raw speed. This tests can change depending on Device used, connection type, motherboard, type of connecting cable, filesystem type and more. With that in mind, this is what I got (I only tested Write speed to the Device, read is typically higher):
Connected Device - Connection Type - Speed (Write Speed)
USB 2.0 USB 2.0 25 MB/s
USB 3.0 USB 2.0 35 MB/s
USB 3.0 USB 3.0 73 MB/s
eSata eSata 80 MB/s
Sata 2G HDD Sata 2G 120 MB/s
Sata 3G HDD Sata 2G 140 MB/s
Sata 3G HDD Sata 3G 190 MB/s
Sata 2G SDD Sata 2G 170 MB/s
Sata 3G SDD Sata 2G 210 MB/s
Sata 3G SDD Sata 3G 550 MB/s
Your plan sounds good to me. If your MBR is installed on sda then you are right in assuming that you won't be able to boot into Ubuntu easily.
Point 7 will be the one that you will want to look at boot repair.
Your other option could also be to clone your dying drive. If you can temporarily replace your SSD with your new hard drive (or use a USB to SATA connector), you could use dd
to copy over the information from your old hard drive. This would save you the reinstallation of Windows, your programs, your data and your MBR.
- You can do that by having both your old hard drive and your new hard drive connected to your computer.
- Then you start up the computer with a Live CD (or USB).
- Use dd to copy your old drive:
sudo dd if=/dev/sdX of=/dev/sdY bs=16M
You will need to replace /dev/sdX
with the drive letter of your old drive, and /dev/sdY
with your new drive.
You can find out the drive letters with sudo fdisk -l
.
Your new drive will be the disk with no partition information.
It will take a couple hours to copy it, and you won't see any progress updates during that time. If you want a more verbose solution that will even try to copy bad blocks of data, you can use the excellent 'ddrescue' program as well.
To use ddrescue, you will need to enable all repositories in the LiveCD, do a apt-get update and then install it (sudo apt-get install gddrescue
). The command is a bit different too: sudo ddrescue /dev/sdX /dev/sdY
Hope this helps. Let me know if you need more information.
Best Answer
smartctl
command fromsmartmontools
package is what you want for that