Today I upgraded my 500GB hard drive to a 250GB SSD (transfer lead not included). Although that sounds like a downgrade, I wasn’t using much more than 100GB. The change from HDD to SSD represents a massive speed boost, particularly on startup/shutdown, but also across a whole range of operations. I have to say, credit where credit is due, the Samsung Data Transfer program included did its job admirably, cloning 100GB of data over USB2 in just under two hours.
My only hiccough came when I tried to boot into Ubuntu. Having previously dual-booted it alongside Windows via (the now unsupported) Wubi without incident, I was braced for problems. First step: get back the boot menu, so I can even express my interest in booting into Ubuntu. Thanks to HowToGeek, this goal was soon accomplished. Next, however, I update grub to let it know where Ubuntu actually was on my system.
error: no such device, it complained bitterly,
file '/ubuntu/disks/root.disk' not found.
The solution to this problem is, in fact, relatively easy. The first step is to work out what partition Ubuntu is on, in Ubuntu’s own language. The answer is likely to be /dev/sdaN, where N is the number of the partition (N=3 in my case). Once you’ve thought of a first guess – it doesn’t matter if you’re wrong, press “C” when asked which version of Ubuntu you want to load. This gives you a prompt. Then run, one after the other:
linux /vmlinuz root=/dev/sdaN loop=/ubuntu/disks/root.disk
If you’re wrong, you’ll get a different terminal to play with. On it, run
blkid and read off the correct partition identifier, then jam down the power button, rinse and repeat.
Hurray! Ubuntu should now be loading. Pull up a terminal and run
sudo update-grub. Job done.
Or maybe not. You see, somewhere along the line the UUIDs of the partitions became identical. UUID stands for “universally unique identifier”. These two statements are not really compatible. To rectify this, while you’ve got Ubuntu running, run
sudo blkid and see which, if any, need changing. Then run
sudo dd if=/dev/urandom bs=80 count=1 | xxd -l 80 -c 8 | tail -1 | xxd -r - /dev/sdaN, replacing N with the relevant number. Finally, (re)run