As I mentioned in my previous post, the hard disk in my Acer Aspire One D150 had some issues last week, to the extent that I don’t trust it anymore and planned to replace it with an SSD drive instead.
Transferring the contents of the old drive to the new turned out to be far simpler than I expected, as the SSD drive came with a USB-SATA dock; I’d been planning on copying all the data onto a different drive, then booting Linux from an SD card and copying it all back onto the new drive. The dock made it all very easy, as I could carve out the partitions (keeping in mind this advice about aligning filesystems to an SSD’s erase block size) and then copy all the data across to the new drive from my existing disk (noting to make changes to /etc/fstab and /boot/grub/menu.lst, as I had to change the name of the LVM volume group). I also have a small windows XP partition on the netbook, mainly for emergency use when having to deal with idiotic telcos, which I copied across using dd.
Changing the disk inside the Acer couldn’t have been easier; it has a slot on the bottom that gives direct access to it; just remove the two screws and lift the lid:
This exposes the hard drive, which is sitting upside down in a tray:
To remove it, I simply slid the whole tray away from the SATA connector to the outside of the laptop case (ie, to the left, in the above photo) and lifted it out. After that, I removed the four screws holding the HDD into the tray, and replaced it with the SDD drive:
The SSD drive then slid straight into the SATA connectors in the netbook – exactly the same form factor as the old drive.
I was surprised to find that grub worked straight away, when booting up – I’ve had a history of messing up manual grub installations. Linux started up, but I soon found that I’d forgotten to rebuild the initramfs, and it was having trouble with the new LVM volume group name. Once that problem was solved, it booted without any further issues.
Windows XP was a little trickier – it simply wouldn’t boot at all. I soon found that this was because XP doesn’t like it when the starting sector of its partition changes. Fortunately, someone has written a program called relocntfs that allows this to be fixed from Linux. After I ran that on the XP partition, it worked perfectly.
The one final issue that I had was that resuming from hibernation no longer worked. It turns out that Ubuntu stores the UUID of the swap space partition in /etc/initramfs-tools/conf.d/resume; obviously the uuid of the swap space changed when I created the partitions on the new disk, so I had to put the new UUID had to be put into this file and then build a new initramfs.
The new SSD drive has been running well in the netbook for about 12 hours now. I haven’t noticed any particular increase or decrease in file access speed, but it is rather pleasant not feeling the vibration or hearing the whirr of a hard disk anymore.