Moving to an SSD

For whatever reason, despite running a custom built workstation since early 2003, I haven't made the switch from an HDD to an SSD for my boot, root, and home partitions. This Christmas I changed that with a little purchase for myself. I acquired a Kingston 120 GB SSD during the Amazon lighting deals at quite the bargin of a price.

With all the holiday festivities out of the way, and my daughter fast asleep for an afternoon nap, it was time to move my system over. I've worked on this installation of Arch for over a year, and really have no desire to do a fresh install on the new drive. Thus, I'm undertaking moving the OS.

Step 1 - Preparing the Drive

Here I used gptfdisk to perform the following:
- Create a GPT Partition Table
- Create /boot, /home, /, and swap partitions that mirror my current HDD configuration
Next up, I formated each of the partitions:

# mkfs.ext4 -L SSD_BOOT /dev/sdb1 
# mkfs.ext4 -L SSD_ROOT /dev/sdb3
# mkfs.ext4 -L SSD_HOME /dev/sdb4
# mkswap -L SSD_SWAP /dev/sdb2

Step 2 - Mounting the Drive

It's then time to mount up the new partitions so that they are ready to be copied to:

# mkdir /mnt/prep
# mount /dev/sdb3 /mnt/prep
# mkdir /mnt/prep/boot
# mkdir /mnt/prep/home
# mount /dev/sdb1 /mnt/prep/boot
# mount /dev/sdb4 /mnt/prep/home

Step 3 - Copying the Data

With everything all setup, it's time to use rsync to copy over all the files to the new location:

# rsync -aAXv /* /mnt/prep --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/home/*/.gvfs}

Step 4 - Quick Reconfigure on the New Drive

Now that all of the data is moved over, it was time to ensure the new drive is bootable. I booted up with the Arch Install CD, and when at the prompt performed the following:

# mount /dev/sdb3 /mnt
# mount /dev/sdb1 /mnt/boot
# mount /dev/sdb4 /mnt/home
# arch-chroot /mnt
# pacman -S syslinux
# syslinux-install_update -i -a -m
# nano /boot/syslinux/syslinux.cfg    (confirmed root=/dev/sda3 rw)
# nano /etc/fstab            (confirmed ext4 and drive assignments)
# mkinitcpio -p linux

Step 5 - Bring Up the New System

With everything reconfigured, simply shutdown from the machine, switch the SATA cable so that the SSD will be discovered as /dev/sda, and power up.

Resources

The following sites helped immensely in figuring out everything to do.
- Core of the Solution
- Selecting EXT4 for my SSD
- Re-installing Syslinux

Hope someone out there finds this helpful!