Monday, September 24, 2012

Migrating to SSD: a faster and more reliable method

I recently bought an SSD and discovered there are several posts about specifically migrating a Windows 7 install from HDD to SSD, which it turns out is a little more tricky than just one HDD to a larger one. The drive has to be "aligned" to sector boundaries like a HDD is, for maximum speed, TRIM needs to be enabled, the system needs to know it's an SSD, the boot sector needs to be restored, etc. These are things that Windows 7 will set up automatically when fresh installing, but when migrating, they have to be set up manually. So they go through a number of steps to make this happen.

I found that most of those options were already set correctly, but unfortunately it didn't seem to help, I couldn't get booting. The Windows installer couldn't find the drive to repair. So I came up with a simpler method which is sure to set up your SSD correctly and therefore get you up and running faster.

This is the short answer, if you're already familiar with this process:
* install Windows 7 on the SSD, letting the installer partition it
* clone your old system partition over the new SSD system partition
* done. (disconnect your old hard drive before booting from SSD the first time)

The longer version, with more general migration advice, follows.

For reference, these are the articles I used:
http://arga.wordpress.com/2010/04/24/how-to-properly-clone-a-windows-7-system-partition-with-clonezilla/
http://www.howtogeek.com/97242/how-to-migrate-windows-7-to-a-solid-state-drive/

Prepare:
* your favourite cloning utility on USB or CD (I used clonezilla on a live USB stick, but it isn't the most user-friendly if you're not familiar with hard drive partitioning)
* install the SSD in your computer, ensure you can access it - try formatting it and throwing some files on it. If a laptop, you'll have to use an external USB connector and swap drives after cloning.
* get your Windows 7 Install media ready


Method:

  1. Make a fresh windows 7 install onto the SSD - it takes about 15 minutes. Delete the partitions on it and let Windows take over the partitioning, unless you have a particular scheme in mind. Ensure that you can boot to the desktop. 
    1. Optionally clone the fresh install to an image in case you want it back some time later - but cloning probably takes as long as a fresh install anyway.
  2. Clone your old partition onto the SSD's partition, overwriting the install you just did. Don't touch the boot sector or partition table.
  3. Shut down, disconnect the old hard drive, so you don't boot the old one, and also so windows doesn't get confused about drive letters. You can reconnect it later, after booting the cloned partition once, if you have other partitions or whatever that you want to recover, or to wipe it, etc. 
  4. Ensure BIOS is booting from SSD
  5. Boot into windows on your SSD!
  6. Ensure the system drive letter is C (if you boot with your old hard drive connected, it will keep that as C and the one you just booted off will get assigned another letter - which gets very confusing, and breaks some programs)
    1. Optionally shut down and reconnect the old hard drive, in case you want more partitions, or to format and re-use it. 

So if all goes well, that should only take about an hour, including prepping a usb stick to boot clonezilla. 15 minutes to install fresh, 15-20 minutes to clone, plus a bit of time for rebooting, disconnecting and reconnecting hard drives, tweaking BIOS etc.

Let me know if you try this and if it works, or if not why not.