不重装也能扩容:麒麟Kylin V10系统盘增容(非LVM)

2026年01月21日/ 浏览 5

原文链接:「链接」

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 -a

2.盘与挂载总览

作用:定位系统盘、数据盘、新硬盘,明确文件系统与挂载点。

pdsyw@pdsyw-pc:~/桌面$ lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID pdsyw@pdsyw-pc:~/桌面$ df -hT pdsyw@pdsyw-pc:~/桌面$ sudo blkid

3.规划新盘分区表(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/nvme0n2p1

4.记住新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/newdata

2.预拷贝

作用逐项解释:

-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 || true

4.最终同步(增量“收口”)

作用:把停服到现在这段时间的新改动补齐,确保新盘数据与旧/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/fstab

7.验证挂载

作用: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 -a

8.查看挂载结果

作用:findmnt验证/data确实来自新盘。

pdsyw@pdsyw-pc:~/桌面$ df -h pdsyw@pdsyw-pc:~/桌面$ findmnt -R /data

9.重启系统

10.启动后再次查看分区

作用:重启后再确认一次。

pdsyw@pdsyw-pc:~/桌面$ df -h pdsyw@pdsyw-pc:~/桌面$ findmnt -R /data pdsyw@pdsyw-pc:~/桌面$ findmnt /home pdsyw@pdsyw-pc:~/桌面$ findmnt /root

11.关机

阶段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 blkid

24.查看系统盘挂载点

kylin@kylin:~/Desktop$ df -h

25.编辑fstab中交换分区的UUID

kylin@kylin:~/Desktop$ sudo vim /media/livecddir/SYSROOT/etc/fstab kylin@kylin:~/Desktop$ grep swap /media/livecddir/SYSROOT/etc/fstab

26.重启系统使用硬盘启动

作用:重启从硬盘进系统,使用lsblk/df -h再次核对。

27.查看分区大小

pdsyw@pdsyw-pc:~/桌面$ lsblk

28.查看文件管理器中图标的显示

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 -y

32.重新生成initramfs

作用:重建initramfs确保启动镜像匹配最新分区布局。

root@kylin:/# update-initramfs -c -k all

33.更新grub

作用:grub-install + update-grub修复引导记录与菜单。

root@kylin:/# grub-install /dev/nvme0n1 root@kylin:/# update-grub

34.退出并重启

root@kylin:/# exit root@kylin:~# umount -R /mnt root@kylin:~# reboot

35.启动正常

常见坑与规避

rsync参数别简化:-aHAXS --numeric-ids能最大程度保持权限、ACL、xattr、硬链接与稀疏文件,避免迁移后应用“权限怪”。

服务一定要停:最终同步前别忘了停掉会写/data的服务,否则数据不一致。

只改一处挂载依据:统一用UUID写在/etc/fstab,避免LABEL/设备名混用。

LiveCD扩容顺序:先删旧/data &旧swap→扩/→再新建swap→最后改fstab。

结语

这套“新增一盘→迁移/data→扩容/”的路线,优点是可回退(切换fstab前原/data还在),操作风险可控。如果你也在为系统盘空间“红线”发愁,不妨按本文步骤实战一遍。欢迎收藏转发,点个在看和关注吧!

picture loss