⚙️ 一、迁移前准备
-
备份关键数据
- 备份
/home
、/etc
、/var
等目录(个人文件及配置):sudo tar -czvf backup.tar.gz --exclude='.cache' /home /etc /var
- 记录已安装软件包列表(用于新系统恢复):
sudo dpkg --get-selections > packagelist.txt
- 备份
-
连接目标电脑
- 通过局域网或外接硬盘共享数据:
- 局域网传输:用
scp
或rsync
将备份文件传到新电脑(需SSH服务开启)scp backup.tar.gz user@新电脑IP:/目标路径
- 外接存储:将备份文件复制到移动硬盘/U盘,再接入新电脑。
- 局域网传输:用
- 通过局域网或外接硬盘共享数据:
🔧 二、迁移方法(分场景选择)
方法1:文件级同步(推荐)
适用:新旧电脑均可联网,且系统版本兼容(如Ubuntu→Ubuntu)
-
在新电脑安装基础系统
- 安装与旧系统相同版本的Ubuntu(避免驱动冲突)。
-
同步系统文件
- 挂载旧系统的
/
分区(通过SSH或NFS)并同步到新电脑:sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*"} \ user@旧电脑IP:/ /mnt/new_root/
注:
--exclude
跳过虚拟文件系统。
- 挂载旧系统的
-
恢复软件环境
- 导入软件包列表并安装:
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
需外接硬盘容量 ≥ 旧系统已用空间。
- 用
-
在新电脑恢复镜像
- 从Ubuntu Live USB启动,用以下命令写入:
sudo dd if=/mnt/external_disk/backup.img of=/dev/sda bs=4M status=progress
- 或用 Clonezilla 图形化操作(更安全)。
- 从Ubuntu Live USB启动,用以下命令写入:
⚠️ 三、迁移后关键设置
-
修复引导与分区
- 更新GRUB配置:
sudo update-grub sudo grub-install /dev/sda # sda为新硬盘设备名
- 调整分区大小(若新硬盘更大):
sudo parted /dev/sda resizepart 1 100% sudo resize2fs /dev/sda1
- 更新GRUB配置:
-
更新硬件驱动
- 重装显卡、网卡驱动(硬件变更时必需):
sudo ubuntu-drivers autoinstall
- 重装显卡、网卡驱动(硬件变更时必需):
-
验证系统完整性
- 检查挂载点:
df -h
- 测试服务状态:
systemctl list-units --type=service
- 检查挂载点:
🔄 四、替代方案(无网络/外接设备时)
- 硬盘盒/U盘中转
拆下旧硬盘装入USB硬盘盒,挂载到新电脑后直接复制文件。 - 基于云存储的备份恢复
将备份上传至Nextcloud/阿里云OSS等,在新电脑下载恢复。
⚠️ 注意事项
- 硬件兼容性
- 若新旧电脑CPU/显卡型号差异大,建议用方法1(文件级同步),避免驱动冲突。
- 引导失败处理
- 出现GRUB错误时,用Ubuntu Live USB执行:
sudo mount /dev/sda1 /mnt sudo chroot /mnt grub-install /dev/sda update-grub
- 出现GRUB错误时,用Ubuntu Live USB执行:
- 权限问题
- 用
rsync
时加-A
参数保留ACL权限;若遇文件属主错误,执行:sudo chown -R $USER:$USER /home
- 用
小贴士:迁移后旧系统保留1周再清理,以防回滚。完整流程约1-3小时,取决于数据量和网络速度。
迁移的核心是备份-传输-恢复-引导修复,优先推荐文件级同步(方法1),平衡效率与兼容性。若需深度克隆,Clonezilla更安全(避免dd
误操作)。