2026年01月21日/ 浏览 6
原文链接:「链接」
Hello,大家好啊,今天带来一套不重装系统就能扩容系统盘的实战方案:思路是新增一块硬盘→把原来的/data全量迁到新盘→释放出旧盘空间→用LiveCD扩大/(系统盘)。全文按“准备→迁移→扩容”三阶段讲解,并逐条解释每一条命令“到底在干嘛”。
适用场景
系统:银河麒麟 Kylin V10 SP1(ext4文件系统,命令同样适用于多数Debian/Ubuntu系)。
典型现状:/在nvme0n1p5,/data在nvme0n1p6,新增硬盘nvme0n2。
目标:把/data挪到nvme0n2p1,然后把nvme0n1里原先/data的空间“让渡”给/分区。
阶段A:准备与确认
1.查看系统版本
作用:确认发行版与内核,便于判断工具链与兼容性。
pdsyw@pdsyw-pc:~/桌面$ cat /etc/os-release pdsyw@pdsyw-pc:~/桌面$ uname -a2.盘与挂载总览
作用:定位系统盘、数据盘、新硬盘,明确文件系统与挂载点。
pdsyw@pdsyw-pc:~/桌面$ lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID pdsyw@pdsyw-pc:~/桌面$ df -hT pdsyw@pdsyw-pc:~/桌面$ sudo blkid3.规划新盘分区表(GPT)与分区
作用:在新硬盘上新建GPT分区表,并创建覆盖整盘的DATA分区。创建ext4文件系统并写入卷标。
pdsyw@pdsyw-pc:~/桌面$ sudo parted -s /dev/nvme0n2 mklabel gpt pdsyw@pdsyw-pc:~/桌面$ sudo parted -s /dev/nvme0n2 mkpart DATA ext4 1MiB 100% pdsyw@pdsyw-pc:~/桌面$ sudo mkfs.ext4 -F -L DATA_NEW /dev/nvme0n2p14.记住新UUID
作用:再次读取UUID以便fstab使用。
pdsyw@pdsyw-pc:~/桌面$ sudo blkid /dev/nvme0n2p1阶段B:平滑迁移/data到新盘
1.临时挂载新分区
作用:把新盘挂到临时目录,便于数据预拷贝。
pdsyw@pdsyw-pc:~/桌面$ sudo mkdir -p /mnt/newdata pdsyw@pdsyw-pc:~/桌面$ sudo mount /dev/nvme0n2p1 /mnt/newdata2.预拷贝
作用逐项解释:
-a归档(保留权限/时间/软硬链接等),-HAXS进一步保留硬链接、ACL、扩展属性、稀疏文件;
--numeric-ids避免UID/GID名称不一致导致的权限偏差;
--info=progress2显示总体进度。
pdsyw@pdsyw-pc:~/桌面$ sudo rsync -aHAXS --numeric-ids --info=progress2 /data/ /mnt/newdata/3.停止会写入/data的服务(如docker/mysql等)
作用:冻结写入,确保最终同步时数据一致。服务项按你的实际情况补充。
sudo systemctl stop docker || true sudo systemctl stop mysql || true4.最终同步(增量“收口”)
作用:把停服到现在这段时间的新改动补齐,确保新盘数据与旧/data一致。
pdsyw@pdsyw-pc:~/桌面$ sudo rsync -aHAXS --numeric-ids --info=progress2 /data/ /mnt/newdata/5.取消旧分区卷标(可选)
作用:避免后续混淆(尤其用LABEL挂载的人)。
pdsyw@pdsyw-pc:~/桌面$ sudo e2label /dev/nvme0n1p6 ""6.切换/etc/fstab到新盘UUID
作用:将系统的“永久挂载”指向新盘。
pdsyw@pdsyw-pc:~/桌面$ sudo vim /etc/fstab pdsyw@pdsyw-pc:~/桌面$ grep /data /etc/fstab7.验证挂载
作用:mount -a检查fstab是否可用。
pdsyw@pdsyw-pc:~/桌面$ sudo mount /data/home pdsyw@pdsyw-pc:~/桌面$ sudo mount /data/root pdsyw@pdsyw-pc:~/桌面$ sudo mount /data pdsyw@pdsyw-pc:~/桌面$ sudo mount -a8.查看挂载结果
作用:findmnt验证/data确实来自新盘。
pdsyw@pdsyw-pc:~/桌面$ df -h pdsyw@pdsyw-pc:~/桌面$ findmnt -R /data9.重启系统
10.启动后再次查看分区
作用:重启后再确认一次。
pdsyw@pdsyw-pc:~/桌面$ df -h pdsyw@pdsyw-pc:~/桌面$ findmnt -R /data pdsyw@pdsyw-pc:~/桌面$ findmnt /home pdsyw@pdsyw-pc:~/桌面$ findmnt /root11.关机
阶段C:扩容系统盘(用LiveCD操作)
1.使用livecd启动系统
为什么要LiveCD?运行中的系统无法在线移动/扩展正在使用的根分区(/)。进入LiveCD能“线下”改动分区表和文件系统而不被占用锁定。
2.打开分区编辑器
3.卸载旧/data分区
作用:在分区编辑器中卸载并删除旧的/data分区(原 nvme0n1p6)。释放出的空间会变成“未分配”。
4.删除旧/data分区
5.点击应用
6.点击应用
7.点击关闭
8.禁用旧交换分区
作用:在分区编辑器中禁用并删除旧的swap分区。释放出的空间会变成“未分配”。
9.删除旧交换分区
10.点击应用
11.点击应用
12.点击关闭
13.更新大小/移动系统分区
作用:扩大/,选中系统分区(如 nvme0n1p5),把后面的未分配空间合并进来,点击应用。
14.调整大小
15.点击应用
16.点击应用
17.点击关闭
18.在未分配的空间新建分区
作用:新建swap,在末尾留出合适空间(例如 16G)新建为linux-swap。
19.添加交换分区文件系统
20.点击应用
21.点击应用
22.点击关闭
23.查看新交换分区uuid
作用:修正fstab的swap UUID,让系统识别并使用新swap。
kylin@kylin:~/Desktop$ sudo blkid24.查看系统盘挂载点
kylin@kylin:~/Desktop$ df -h25.编辑fstab中交换分区的UUID
kylin@kylin:~/Desktop$ sudo vim /media/livecddir/SYSROOT/etc/fstab kylin@kylin:~/Desktop$ grep swap /media/livecddir/SYSROOT/etc/fstab26.重启系统使用硬盘启动
作用:重启从硬盘进系统,使用lsblk/df -h再次核对。
27.查看分区大小
pdsyw@pdsyw-pc:~/桌面$ lsblk28.查看文件管理器中图标的显示
29.如果系统启动时显示如下
作用:某些机器在分区移动后首次启动可能报错,这时用LiveCD进入chroot做一次“组合拳”。
30.进入livecd后挂载分区进入chroot环境
作用:chroot把LiveCD的“外壳”切换到你的系统根目录。
root@kylin:~# mount /dev/nvme0n1p5 /mnt/ root@kylin:~# mount /dev/nvme0n1p1 /mnt/boot/ root@kylin:~# for i in /dev/ /dev/pts /proc/ /sys ; do mount -B $i /mnt/$i; done root@kylin:~# chroot /mnt/31.重新安装关键包
root@kylin:/# apt install --reinstall lvm2 initramfs-tools -y32.重新生成initramfs
作用:重建initramfs确保启动镜像匹配最新分区布局。
root@kylin:/# update-initramfs -c -k all33.更新grub
作用:grub-install + update-grub修复引导记录与菜单。
root@kylin:/# grub-install /dev/nvme0n1 root@kylin:/# update-grub34.退出并重启
root@kylin:/# exit root@kylin:~# umount -R /mnt root@kylin:~# reboot35.启动正常
常见坑与规避
rsync参数别简化:-aHAXS --numeric-ids能最大程度保持权限、ACL、xattr、硬链接与稀疏文件,避免迁移后应用“权限怪”。
服务一定要停:最终同步前别忘了停掉会写/data的服务,否则数据不一致。
只改一处挂载依据:统一用UUID写在/etc/fstab,避免LABEL/设备名混用。
LiveCD扩容顺序:先删旧/data &旧swap→扩/→再新建swap→最后改fstab。
结语
这套“新增一盘→迁移/data→扩容/”的路线,优点是可回退(切换fstab前原/data还在),操作风险可控。如果你也在为系统盘空间“红线”发愁,不妨按本文步骤实战一遍。欢迎收藏转发,点个在看和关注吧!