Ubuntu系统镜像迁移指南
迁移Ubuntu系统镜像的核心目标是保留原系统的完整配置、软件及数据,适配新硬件环境。以下是常用方法及详细步骤,按推荐优先级排序:
备份关键数据
备份个人文件(/home)、系统配置(/etc)、软件列表(/var/lib/dpkg/status)及数据库(如有),避免操作失误导致数据丢失。
示例命令:
sudo tar -czvf system_backup.tar.gz --exclude={'/dev/*','/proc/*','/sys/*','/tmp/*'} /home /etc /var
sudo dpkg --get-selections > package_list.txt # 记录已安装软件包
准备目标环境
通过rsync工具同步系统文件,保留权限、属性及符号链接,适合新旧电脑均能联网的情况。
rsync同步根目录(排除虚拟文件系统):sudo rsync -avz --exclude={'/dev/*','/proc/*','/sys/*','/tmp/*','/run/*'} user@旧电脑IP:/ /mnt/new_root/
sudo dpkg --set-selections < package_list.txt
sudo apt-get update && sudo apt-get -u dselect-upgrade
sudo update-grub
sudo grub-install /dev/sda # 替换为新系统硬盘(如/dev/nvme0n1)
使用dd或Clonezilla创建原系统的逐块镜像,适合新旧电脑硬件完全一致的情况(如更换同型号硬盘)。
dd命令
/dev/sda):lsblksudo dd if=/dev/sda of=/mnt/external_disk/ubuntu_backup.img bs=4M status=progress
sudo dd if=/mnt/external_disk/ubuntu_backup.img of=/dev/sda bs=4M status=progress
Clonezilla(更安全)
Clonezilla Live ISO,用Rufus制作启动盘。Clonezilla会自动处理分区大小调整。使用rsync备份整个文件系统(排除临时文件),适合需要自定义迁移内容的场景。
示例命令:
sudo rsync -aAXv --exclude={'/dev/*','/proc/*','/sys/*','/tmp/*','/mnt/*','/media/*','/lost+found'} / /mnt/backup/
恢复时,将备份内容复制到新系统分区,修复/etc/fstab(更新UUID)及GRUB引导。
修复GRUB引导
若新电脑无法启动,使用Ubuntu Live USB进入“试用模式”,挂载原系统分区并修复:
sudo mount /dev/sda1 /mnt # 挂载根分区
sudo chroot /mnt # 切换到原系统环境
sudo grub-install /dev/sda # 重新安装GRUB
sudo update-grub # 更新引导菜单
exit
sudo reboot
调整分区大小
若新硬盘容量大于原系统,扩展分区以利用剩余空间:
sudo parted /dev/sda # 进入分区工具
(parted) resizepart 1 100% # 调整分区1至100%
(parted) quit
sudo resize2fs /dev/sda1 # 扩展文件系统
更新硬件驱动
自动检测并安装新硬件驱动(如显卡、网卡):
sudo ubuntu-drivers autoinstall
sudo reboot
验证系统完整性
检查挂载点、服务状态及网络连接:
df -h # 查看挂载情况
systemctl list-units --type=service --state=running # 检查服务状态
ping -c 4 google.com # 测试网络
dd命令会覆盖目标磁盘所有内容,请确认设备名称。