As anyone who has reads this blog regularly will have probably noticed I’m not exactly an ‘early adopter’. I do use the latest versions of Debian on some of my machines but not on my main machine, not yet anyway – mainly because everything still just works.
However one of the little quirks is that the device names for IDE and SATA devices used to be different, I’ve got used to this and generally it doesn’t matter, but it did cause a few issues when I upgraded my old IDE hard disk to a newer modern SATA solid state drive. Yes, yes – I know I’m using still using a very, very old version of Debian – but my excuse is that my machine is even older! It does have a SATA controller though and so far I’ve had no backwards compatibility issues.
By complete chance both disks were exactly the same size, so I could copy everything from one disk to another using ‘dd’ – a complete fluke that solved the hard part of the job very nicely! (I was expecting to have to create the new partition table manually using ‘fdisk’ and then figure out how to copy over the boot sector, before backing up and restoring each partition separately).
Having successfully copied everything to the new disk and removed the old IDE drive all I had to do was to change the BIOS settings to boot from the new SATA disk, and I was all set to go. However, the different device names used by the older version of Linux mean that before the system will actually boot you need to update the boot loader, in my case GRUB. To do this I used a recent Debian install CD and selected ‘graphical rescue’ mode from the menu which allowed me to run a shell as root. Then to reconfigure the system to boot from the new SATA disk I just had to change all the occurrences of /dev/hda to /dev/sda in the following files
# update-initramfs -u -k all
Or on second thoughts perhaps not!