linux

Linux分区怎样进行数据迁移

小樊
51
2025-10-18 02:31:10
栏目: 智能运维

Linux分区数据迁移的完整流程与注意事项

一、迁移前的准备工作

  1. 备份重要数据:使用tarsudo tar -czvf backup.tar.gz /source/path)或rsyncsudo rsync -avh /source/path/ /backup/path/)创建源数据的完整备份,确保数据安全。
  2. 检查目标存储设备:确认目标分区(如/dev/sdb1)有足够空间(可通过df -h查看源分区使用量,lsblk查看目标分区大小),并已格式化为兼容文件系统(如ext4xfs)。
  3. 准备工具与环境:根据迁移场景选择工具(系统盘迁移推荐Clonezilladd;目录迁移推荐rsync;小范围调整推荐cp),并在Live CD/USB环境下操作(避免影响正在运行的系统)。

二、常见迁移场景与工具选择

1. 整个分区/系统盘迁移(保留所有数据与引导)

2. 特定目录迁移(如/home/usr

3. 系统盘分区调整后迁移(如缩小/分区,新增/home

三、迁移后的验证与收尾

  1. 验证数据完整性
    使用diff命令递归比较源与目标目录,无输出则表示一致:

    sudo diff -r /mnt/old_path/ /mnt/new_path/
    

    或使用rsync--checksum选项(更严格,但耗时):

    sudo rsync -avh --checksum /mnt/old_path/ /mnt/new_path/
    ```。  
    
    
  2. 更新引导配置(系统盘迁移必做)

    • 若目标分区UUID与源不同,需更新/etc/fstab(目标分区UUID可通过blkid /dev/sdb1获取):
      sudo vim /mnt/new_root/etc/fstab
      
      将原UUID替换为新UUID。
    • 重新安装GRUB引导加载器(确保从新硬盘启动):
      sudo mount /dev/sdb1 /mnt/new_root  # 挂载新根分区
      sudo mount /dev/sdb2 /mnt/new_root/boot  # 挂载新boot分区(若有)
      sudo chroot /mnt/new_root           # 切换到新系统环境
      sudo grub-install /dev/sdb          # 安装GRUB到新硬盘
      sudo update-grub                    # 更新GRUB配置
      exit                                # 退出chroot
      ```。  
      
      
  3. 清理源数据
    确认迁移无误后,删除源分区数据(如sudo rm -rf /mnt/old_path),释放空间。

四、关键注意事项

0
看了该问题的人还看了