Linux 存储空间迁移实战:怎样安全地移动磁盘分区数据

作者:袖梨 2026-07-07
安全迁移Linux分区数据的核心是“先备份、再操作、后验证”,须在Live环境操作;系统盘整体迁移用dd或Clonezilla,目录迁移(如/home)用rsync -avh --progress,空间整合用gparted离线调整。

安全迁移Linux分区数据,核心是“先备份、再操作、后验证”,不直接在运行系统上改挂载点或删分区。关键在于选对工具——系统盘整体迁移用ddClonezilla,目录级迁移(如/home)用rsync,而空间整合(比如把/home腾空并入/)则需gparted配合卸载。

明确迁移目标再动手

不同目标对应不同方法,混用容易出错:

  • 整块系统盘换新硬盘:必须保留引导、分区表和所有元数据,选dd(源目标大小一致时最稳)或Clonezilla(支持压缩、校验、增量);
  • 只迁/home或/var等大目录:无需动引导,用rsync -avh --progress /old/home/ /new/home/,保留权限、软硬链接、时间戳;
  • 释放旧分区空间并合并进根分区:比如把独立的/home分区删掉,把空间加给/,必须用gparted Live USB操作,不能在运行系统里调整已挂载的根分区。

rsync 迁移目录的关键细节

这是最常用也最容易翻车的场景。注意三点:

  • 挂载点结尾斜杠不能少rsync /mnt/old//mnt/new/ 表示同步内容,而/mnt/old(无尾斜杠)会把整个old目录复制进去;
  • 必须卸载旧分区再改fstab:迁移完先umount /old/home,再编辑/etc/fstab,把原/home行注释掉,新增新分区UUID + 挂载点;
  • 验证后再重启:用mount -a测试fstab语法,再ls /home确认内容可见,最后切普通用户登录检查桌面、配置是否正常。

dd 克隆后必做的两件事

dd虽然简单粗暴,但克隆完不处理就会冲突:

  • 生成新UUID:用blkid查新分区UUID,再执行tune2fs -U random /dev/sdb1(ext4)或xfs_admin -U generate /dev/sdb1(xfs),避免和原分区UUID重复导致启动失败;
  • 更新fstab和grub:fstab里替换为新UUID;若迁移的是根分区,还需chroot进新系统重装grub:mount /dev/sdb1 /mnt && mount --bind /dev /mnt/dev && chroot /mnt grub-install /dev/sdb && update-grub

用 gparted 整合空间要离线操作

想把一块空闲磁盘的空间直接加给/,不能靠命令行在线扩容:

  • 下载gparted-live镜像,做成USB启动盘;
  • 从USB启动,识别出旧/home分区(如/dev/sda2)和根分区(如/dev/sda1);
  • 右键删掉/dev/sda2,再右键/dev/sda1选“Resize/Move”,拖动右侧滑块吃掉刚释放的空间;
  • 点绿色对勾提交,等待完成后再重启进原系统。

相关文章

精彩推荐