如何将[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
