Migrating an existing Windows 7 installation to an SSD

With the advent of affordable and reliable high performance SSD storage, the possibility of running Windows on an SSD for lightning quick boot times and highly responsive applications is becoming more and more attractive. But the thought of reinstalling Windows from scratch is not so appealing, regardless of how good your backups are and how organised you might be. There is a regularly cited argument that in order to get the best possible performance from new storage, you should reinstall Windows. I don’t disagree with that, but we don’t live in an ideal world where we all have unlimited free time. And in the case of migrating from a fairly old desktop HDD to a brand new SSD, I’m not sure how noticeable the performance improvement will be if you take the extra time to reinstall Windows from scratch, compared to just migrating your existing installation.

Lots of SSDs are now available in a “retail kit” or “reseller kit” form, which include a bundle of helpful accessories selected by the manufacturer. These usually comprise a 2.5″ to 3.5″ drive bay adapter for desktop PC cases, a standard SATA data cable, an adapter from a 4 pin Molex plug to an SATA power connector, and some free cloning software. Clearly the manufacturers expect at least some users to migrate their old operating system across to the new drive, and have tried to make this easy. Some of them (including Samsung), also provide a USB to SATA adapter cable, allowing you to connect your new SSD to any machine with a USB port in order to migrate data to it. These kits usually only cost a little more than the barebones OEM packs, making them excellent value for money.

The two main migration software packages provided in these kits are Acronis True Image and Norton Ghost, or a rebranded manufacturer-specific derivative of them. If you are trying to migrate data from your OS disk, these software tools usually provide the ability to create a bootable CD version which allows you to gain full access to your existing OS disk by booting into a separate self-contained mini operating system (usually based on Linux). From this environment, you can clone your main OS partition directly to the new SSD.

If you elect to follow this approach and migrate your Windows 7 installation to your new SSD, what are the main steps you need to perform?

Backup Everything

This is a universal rule: before you change anything, backup everything. No excuses. No second chances!

I would recommend making not only a standard set of file backups, but also a full system image so you can get back to your starting point quickly/easily if you need a second attempt, or something goes horribly wrong!

Spring Clean

You only want to migrate the minimum amount of data, so delete any files you don’t need:

  • Run the Windows 7 “Disk Cleanup” tool and blow away any temp files and error dumps it finds.
  • Try the “Clean up system files” option also in the “Disk Cleanup” tool, which for some reason must be run separately. Consider deleting all but the most recent “System Restore” points, which is available from the “More Options” tab of this dialog.
  • If you’re migrating from a large desktop HDD to a much smaller SSD, you may have to be more aggressive and consider uninstalling redundant applications, and moving large data files to another HDD or network storage system (or even to the cloud).
  • It’s not a bad idea to run “Disk Defragmenter” when you’ve finished deleting unwanted files, in preparation for a clean migration.

Connect SSD

  • Mount your SSD on a 2.5″ to 3.5″ adapter plate (if required).
  • Install the SSD in the selected drive bay in your PC.
  • Connect the SSD to your motherboard with the appropriate SATA power/data cables.
  • Boot up your PC, enter the BIOS and ensure your new SSD was correctly detected.

RAID Options

Some of you may be running proper RAID cards, or (like myself) on-board “fake RAID” such as the Intel Rapid Storage Technology. You may be considering whether to RAID your new SSD. Some people have created RAID 0 arrays with two identical SSDs for the ultimate gaming performance, albeit at the expense of robustness, but this is excessive for most users. Please bear in mind that for some RAID and SSD controllers, certain RAID configurations prevent Windows 7 from applying TRIM commands to the SSD to optimise free space and performance. Do your research first so you know all the implications before you add your new SSD to a RAID array. I elected to just keep my SSD as a non-RAID disk, as it benefits from all the advanced AHCI features such as Native Command Queuing, with none of the penalties of being part of a RAID array.

Validate and Update SSD

  • Boot Windows from your old drive(s).
  • Install the manufacturer-provided SSD maintenance software, e.g. Intel SSD Toolbox.
  • Perform the available diagnostics tests for your drive to make sure it is working correctly. Also check the SMART attributes (if displayed) to ensure there are no warnings/errors already flagged from the initial factory tests of the drive.
  • NOTE – you may have to create a temporary partition on the drive, format it as NTFS and then assign a drive letter to it in order to run the drive diagnostics. This is certainly the case for Intel SSD Toolbox. If so, just do this and then delete the partition once the drive has been tested.
  • Check for firmware updates for your SSD. Now is definitely the time to do this, before you have copied data across, since the firmware update process is not totally without risk.

SSD Alignment

A lot of information (and paranoid nonsense) has been written in forums about partition alignment for SSDs. Many people don’t seem to understand the issues or implications. Assuming we are talking about Windows 7 only (and not Windows XP), then this is my personal simplified assessment:

  • If you’re installing Windows 7 on an SSD from scratch, there is no issue as Windows 7 will use the appropriate alignment attributes.
  • If you use Windows 7 “Backup and Restore” to create a System Image, and then the Windows 7 “System Recovery” disc to restore it to an SSD, it will be restored with the correct alignment.
  • If you use a commercial disk cloning tool such as Acronis True Image (or an equivalent that was provided with the SSD), assuming it is new enough to be SSD-aware e.g. Acronis True Image 2011 or 2012, it will retain the correct alignment settings when cloning partitions to your SSD or restoring your partition images to it.

Some migration instructions will have you manually create your target partitions on your new SSD using the diskpart command-line tool. If you want to follow this path, there is no harm (assuming you don’t run the wrong commands!) but it is wholly unnecessary these days in my humble opinion. As a general rule of thumb, if the alignment of your Windows 7 installation is correct on your original HDD (and it should be), then it should still be correct after being migrated to your SSD, if the migration is carried out in the proper way.

Clone Windows 7 Installation

This section will be written for Acronis True Image 2012, although the general principles will still apply for alternative cloning software.

One important thing to remember is to ensure you clone your unnamed Windows 7 bootloader partition (if present) to the SSD, as well as the main C: partition. If you have a small NTFS partition of around 100MB in size, with no drive letter assigned, and “System, Active” attributes, this is the bootloader which must be cloned to the new SSD in order for Windows 7 to boot correctly.

If you’re literally cloning an entire disk to your new SSD, you can use the Acronis “Clone” mechanism. As long as your SSD is at least big enough to hold all of your actual data, this will still work even if your old drive partitions are too big to fit on your SSD, as they will be dynamically resized to fit. If your old partitions are smaller than the new SSD, you can choose to retain their original size or stretch them during cloning to fill the SSD. Clearly if your raw data is too big to fit, you have a problem and cloning is not going to be possible at all.

If you only want to migrate some of the partitions from your old drive, for some reason Acronis 2012 won’t let you use “Clone” for this, even though the “Manual” clone mode looks like what you want to do here. In fact, you need to do a “Disk and partition backup” and just select the partitions you want to move. Save the resultant image file somewhere else, e.g. another internal drive, an external USB drive, or a network drive. Then you can restore this image file to the SSD, and resize it if required, from the Acronis bootable media disc.

Boot from SSD

At this stage I would recommend powering off and disconnecting your old OS drive. If you’ve used Acronis to clone it, this is not strictly necessary as it will have changed the drive letter of your old Windows installation to something other than C:, so in theory it won’t interfere if you boot from your new cloned SSD installation. However, it is safer to disconnect it at this stage.

  • Shutdown your PC and disconnect the old drive (if desired).
  • Power on your PC.
  • Enter the BIOS and check the drive boot order. Ensure the new SSD is first in line to be booted.
  • Save your BIOS settings (if changed) and reboot.
  • If you’re lucky, your cloned Windows 7 installation will now boot from your SSD.

If Windows fails to start for any reason, you most likely need to repair your MBR or boot sector. Whilst I won’t go into too many details here, since Google has a million articles on this, here are the basic steps to perform:

  • Boot using your Windows 7 “System Recovery” disc.
  • Start the “Repair Console”.
  • Try running the following commands in order:
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
  • Reboot and cross your fingers.

If this doesn’t work, I’m afraid you need help beyond the scope of this post.

Basic Checks

Once you’ve booted Windows 7 from your SSD, you need to check that Windows 7 has made the necessary configuration changes for your new drive;

  • Start “Disk Defragmenter”, click the “Configure Schedule” button, then the “Select disks…” button, and ensure that C: is no longer available in this list. If its gone, this means Windows 7 has correctly identified it as an SSD and removed it from the list. Never attempt to defragment an SSD, as this is not necessary for SSD devices but it causes huge amounts of wear on the internal memory chips.
  • Now we should check that TRIM is enabled. Start an elevated Command Prompt (i.e. “Run as administrator”) and run the following command:
fsutil behavior query DisableDeleteNotify
  • If the command returns “0”, TRIM is correctly enabled. If it returns “1”, you can try to enable TRIM by running this command:
fsutil behavior set DisableNotify 0
  • If TRIM cannot be enabled, this means Windows cannot automatically optimise free space for you, so you will have to use the SSD manufacturer’s software to do this yourself.

Run Manufacturer Checks

Some SSD management tools, including Intel SSD Toolbox, provide “System Tuner” checks which ensure Windows 7 is correctly configured. Now is the time to run these checks and follow up on any recommendations they make, e.g. disabling certain power management options.

Benchmark (and Check Alignment)

Even though it is highly unlikely that your partition alignment is incorrect (for reasons covered earlier on), we should still double check:

  • Download the free AS SSD Benchmark tool.
  • No installation is necessary – just unzip the download and run the “AS SSD Benchmark.exe” executable.
  • In the top-left table cell of AS SSD, it reports basic details of your SSD drive. Hover over the second line up from the bottom, above the size of your SSD – it should pop up a tooltip saying “Offset/Alignment @ 4K Cluster”. If the label is green and says “OK” (as below), your alignment is fine!

  • Now run the benchmark by clicking the “Start” button. The top row “Seq” (i.e. Sequential) figures should be roughly the same as the manufacturer specs for your SSD for sequential reads/writes.

Test Sleep/Hibernate

Some SSDs (namely those which use Sandforce controllers) have a reputation for problems when resuming from sleep/hibernate. I recommend you test waking your PC up from a slumber at this stage to see if you get a blue screen or undesired reboot. Some people have found it necessary to disable “Hybrid Sleep” and various other options to get stable behaviour on some SSDs. I regret to report that I still cannot reliably resume from sleep/hibernate with my Intel 330 Series SSD.

Further Optimisations

If you want to get the absolute best possible performance from your new SSD and make the most of the limited available space, I recommend you read these SSD optimisation tweaks.

Enjoy!

Now you can sit back, relax, and enjoy your lightning fast SSD in peace.

4 thoughts on “Migrating an existing Windows 7 installation to an SSD

  1. Nice post. When I migrated I had:
    1) installed a fresh copy of windows 7 on the SSD
    2) cloned my old windows partition over the new windows 7 partition
    3) repaired booting

    This seems more streamlined though so I will keep it mind!

  2. Thanks for a good write-up!
    Since you made major changes to your system I would immediately back up the new SSD disk or partitions right after the Basic checks. That ensures you an additional backup and you verify that your image/backup sw/licensing works. Check the anti-virus sw to.

Leave a Reply