如何将[LINUX] Arch Linux 硬盘拷贝式装系统时新增的 home 分区为?

摘要:前言 公司发的电脑是 128G SSD + 512G 机械硬盘,我当时直接将 Arch Linux 装在了 SSD 上,分区形式如下: ➜ ~ lsblk -f NAME FSTYPE FSVER LABEL UUID F
目录前言1. 实操1.1 整个磁盘拷贝1.2 创建 home 分区1.3 修改 fstab 实现自动挂载2. 涉及到的知识点2.1 fstab2.2 dd 命令2.3 fdisk 命令2.4 lsblk 命令后记链接 前言 公司发的电脑是 128G SSD + 512G 机械硬盘,我当时直接将 Arch Linux 装在了 SSD 上,分区形式如下: ➜ ~ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sda ├─sda1 │ swap 1 ee4a2a29-3f56-4f87-b905-93039bd54e66 [SWAP] └─sda2 ext4 1.0 68d3f420-6e49-4e45-9bdd-a83575de198e 118.1G 99% / 整个电脑只剩下 8G 左右的 SSD,经常用一段时间就得想办法清一清,实在忍受不了了,决定搞一个 256G 的 SSD,将老的换掉!!! 本文介绍该操作的详细过程,涉及到: 1)硬盘整个拷贝技术 2)新建 home 分区技术 3)修改 fstab 实现自动挂载 1. 实操 1.1 整个磁盘拷贝 将 SSD 插入原电脑,被识别为 /dev/sdb 利用 sudo fdisk /dev/sdb 将其现有分区全部删除 利用 sudo mkfs.ext4 /dev/sdb 将其格式化 利用 sudo dd if=/dev/nvme0n1 of=/dev/sdb 将原硬盘拷贝到新硬盘(会2个小时左右,时间较长) 1.2 创建 home 分区 此时将新 SSD 安装到主板上,配置电脑从该新硬盘启动,会发现我们已经复制了一个一模一样的系统(假设新硬盘被识别为 /dev/sda) 利用 sudo fdisk /dev/sda 将新硬盘剩下的 100G 左右的空间创建一个主分区:/dev/sda3 利用下列命令,将 /dev/sda3 挂载到 /mnt/home 下(拷贝过程中有些 cache 文件报错,可以不管) cd /mnt sudo mkdir home sudo mount /dev/sda3 /mnt/home 利用 sudo cp -ra /home/* /mnt/home 将现在的 home 下的内容拷贝到 /mnt/home 下 利用下列命令,将 /dev/sda3 重新挂载到 /home 下 sudo umount /dev/sda3 cd / mv home home_bk sudo mkidr home sudo mount /dev/sda3 /home 1.3 修改 fstab 实现自动挂载 查看当前的 fstab: ➜ /mnt cat /etc/fstab # Static information about the filesystems. # See fstab(5) for details. # <file system> <dir> <type> <options> <dump> <pass> # /dev/nvme0n1p2 UUID=68d3f420-6e49-4e45-9bdd-a83575de198e / ext4 rw,relatime 0 1 # /dev/nvme0n1p1 UUID=ee4a2a29-3f56-4f87-b905-93039bd54e66 none swap defaults,pri=-2 0 0 查看当前 /dev/sda 分区情况: ➜ ~ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sda ├─sda1 │ swap 1 ee4a2a29-3f
阅读全文