Archlinux Root根目录硬盘迁移
原来安装双系统的时候,将Archlinux安装到了普通机械硬盘上。最近感觉实在太慢受不了,就买了一块500GB的SSD,准备把当前系统迁移过来。
电脑的主板上只有一个m.2接口,目前已经插了一块256G的,上面装了Windows。NVME协议的一般都在1000MB/s以上,有的甚至能到3000MB/s(三星的那款,好贵),而SATA协议的SSD读写速度最高也就只到500MB/s左右,觉得没有多大意义。上网一搜,发现有NVME转PCIE的转接卡,立马下单。
新盘安装好,但是不想重装Archlinux系统,就只有想办法把根目录迁移过来吧。原来系统中硬盘分区和挂载情况是这样的:
设备 挂载点 大小 /dev/nvme0n1p1 /efi 500M /dev/sdb5 / 120G /dev/sdb3 /home 250G /dev/sdb4 swap 16G 新盘的方案为:
设备 挂载点 大小 /dev/nvme0n1p1 /efi 500M /dev/nvme1n1p3 / 剩余大小 /dev/nvme1n1p1 /home 300G /dev/nvme1n1p2 swap 16G 确定方案后,接下来就开始正式的迁移步骤,用archlinux的安装USB Stick启动系统,进入安装模式:
首先将原来的系统盘全部挂载到目录/oldRoot/中: mkdir -p /oldRoot mount /dev/sdb5/ /oldRoot mount /dev/sdb3 /oldRoot/home 用cfdisk为新盘分区,选择gpt分区表。分区完后格式化,并且挂载到/mnt上: mount /dev/nvme1n1p3/ /mnt # 这里一定要注意挂载顺序 mkdir -p /mnt/home mount /dev/nvme1n1p1/ /mnt/home # 激活swap分区 swapon /dev/nvme1n1p2 新旧系统盘挂载后,下面要开始迁移了,注意路径别弄反了,我们需要从/oldRoot迁移到/mnt中去: # -a 选项表明复制所有内容,包含子文件夹,链接等 # -f 默认强制覆盖已存在文件 # -v 显示复制文件,如果不想查看满屏刷文件,可以不加 # 一定要注意末尾的*号,没这*号,新盘中就是一个文件夹…… cp -afv /oldRoot/* /mnt 好的,现在你可以稍微休息下。喝一杯咖啡,等待复制完成。接下来需要做一些小小的设置,主要是更改原系统中的硬盘挂载点和启动设置。
Read more