温馨提示×

Ubuntu文件系统迁移步骤是什么

小樊
197
2025-10-07 21:16:36
栏目: 智能运维

Ubuntu文件系统迁移通用步骤

一、迁移前准备

  1. 备份关键数据:
    使用tar命令备份个人配置与数据(排除临时文件、缓存等),例如备份/home、/etc、/var目录:
    sudo tar -czvf backup.tar.gz --exclude={'/home/*/.cache','/tmp','/proc','/sys'} /home /etc /var
    
    记录已安装软件包列表(便于新系统恢复):
    sudo dpkg --get-selections > packagelist.txt
    
  2. 准备目标存储:
    • 若本地迁移,确保目标磁盘/分区有足够空间(可通过lsblk查看磁盘容量);
    • 若远程迁移,确保新旧电脑处于同一局域网,且开启SSH服务(sudo systemctl enable --now ssh)。

二、常见迁移方法

1. 文件级同步(推荐,适用于Ubuntu→Ubuntu同版本迁移)
  • 本地同步:使用rsync命令将原系统文件同步到目标目录(如/mnt/new_root),跳过虚拟文件系统(/dev、/proc等):
    sudo rsync -aAXv --exclude={'/dev/*','/proc/*','/sys/*','/tmp/*','/run/*','/mnt/*','/media/*','/lost+found'} / /mnt/new_root/
    
  • 远程同步:通过SSH将原系统文件同步到新电脑的目标目录:
    sudo rsync -aAXv -e ssh user@旧电脑IP:/ /mnt/new_root/
    
  • 恢复软件环境:导入软件包列表并安装:
    sudo dpkg --set-selections < packagelist.txt
    sudo apt-get update && sudo apt-get -u dselect-upgrade
    
2. 完整系统克隆(适用于硬件差异大或需完全一致镜像)
  • 制作镜像:使用dd或Clonezilla将原系统写入外接硬盘(需外接硬盘容量≥原系统已用空间):
    sudo dd if=/dev/sda of=/mnt/external_disk/backup.img bs=4M status=progress
    
    (注:dd会复制所有数据,包括空闲空间,建议优先使用Clonezilla图形化操作,更安全。)
  • 恢复镜像:从Ubuntu Live USB启动,将镜像写入新硬盘:
    sudo dd if=/mnt/external_disk/backup.img of=/dev/sda bs=4M status=progress
    
    或使用Clonezilla的“device-image”模式选择源镜像与目标硬盘。
3. 硬盘盒/U盘中转(无网络/外接设备时)
  • 拆下旧硬盘,装入USB硬盘盒,挂载到新电脑:
    sudo mkdir /mnt/old_disk
    sudo mount /dev/sdb1 /mnt/old_disk  # 假设旧硬盘为/dev/sdb1
    
  • 将旧硬盘中的系统文件复制到新硬盘(步骤同文件级同步)。

三、迁移后关键设置

  1. 修复引导与分区:

    • 更新GRUB配置:确保系统能识别新硬盘的分区:
      sudo update-grub
      sudo grub-install /dev/sda  # /dev/sda为新硬盘设备名
      
    • 调整分区大小(若新硬盘更大):
      使用parted扩展分区(如/dev/sda1):
      sudo parted /dev/sda
      (parted) resizepart 1 100%  # 将分区扩展至100%
      (parted) quit
      
      使用resize2fs扩展文件系统:
      sudo resize2fs /dev/sda1
      
    • 更新UUID(若使用dd克隆,需修改新分区UUID以避免冲突):
      查看新分区UUID:
      sudo blkid
      
      修改/etc/fstab中的UUID(替换为blkid获取的新UUID):
      sudo nano /mnt/new_root/etc/fstab
      
      保存后退出。
  2. 验证系统完整性:

    • 检查挂载点:df -h(确认新分区已正确挂载);
    • 测试服务状态:systemctl list-units --type=service(确认关键服务如SSH、网络正常运行)。

四、注意事项

  • 硬件兼容性:若新旧电脑CPU/显卡型号差异大,建议使用文件级同步(方法1),避免驱动冲突;
  • 引导失败处理:若出现GRUB错误,用Ubuntu Live USB启动,挂载新系统根分区并chroot修复:
    sudo mount /dev/sda1 /mnt
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot /mnt
    grub-install /dev/sda
    update-grub
    exit
    
  • 权限问题:用rsync时加-A参数保留ACL权限;若遇文件属主错误,执行:
    sudo chown -R $USER:$USER /home/$USER
    
  • 保留原系统:迁移后建议保留原系统1-2周,确认新系统稳定后再清理。

0 踩