最近新买了个32G的小容量SSD专门来跑Archlinux,SSD为Root分区,HDD为HOME分区。效果非常好,因为Linux下的程序几乎都放在Root分区下,速度非常快。

分区策略

原来的根(/)分区 -> /dev/sda8

/home 分区 -> /dev/sda9

SSD -> /dev/sdb1

SSD使用比较新的Btrfs文件系统,功能丰富,比较适合SSD,/home 分区还是使用 EXT4 分区,追求稳定

准备

  • 一个Linux livecd (支持Btrfs更好)
  • 备份重要数据和配置文件 (/etc)
  • 安装以下包:btrfs-progs, arch-install-scripts

迁移过程

重启进入livecd, 挂载SSD,根分区

1
2
3
# mount /dev/sda8 /mnt/hdd

# mount /dev/sdb1 /mnt/ssd

使用rsync大招!

1
2
3
# cd /mnt/hdd

# rsync -aAXHv /mnt/hdd/ ./

重启至Archlinux,安装Grub2到SSD

1
# grub-install --target=i386-pc --recheck --debug --boot-directory=/mnt/rootvol/boot /dev/sdb

chroot至新系统,更新grub.cfg

此时可以使用arch-chroot,它可以帮你完成一些设备的挂载工作

1
2
3
4
5
# arch-chroot /mnt/rootval

# grub-mkconfig -o /boot/grub/grub.cfg

# exit

更改/etc/fstab,并使用lsblk -f查看SSD的UUID

挂载Btrfs的写法为

1
/dev/sdb1 / btrfs subvol=<yoursubvol>,noatime,discard,ssd,autodefrag,compress=lzo,space_cache 0 1

最后,祈祷一下,重启电脑,进入BIOS设置SSD为第一启动项,看看启动有没问题。

EOF