4.5 KiB
4.5 KiB
#软件配置
是的,你可以将台式机上的 Ubuntu 系统完整复制到另一台计算机上,通常通过创建系统镜像(克隆)实现。以下是几种主流方法及其操作流程,根据硬件条件和需求选择合适方案:
🔧 一、磁盘级克隆(推荐硬件相同或相似时使用)
适用于完整复制系统分区、引导程序和用户数据,要求目标磁盘容量 ≥ 源磁盘。
1. 使用 dd 命令(命令行工具)
-
步骤:
-
在源电脑启动 Ubuntu Live USB(试用模式)。
-
执行
sudo fdisk -l确认源磁盘设备名(如/dev/sda)。 -
卸载源磁盘:
sudo umount /dev/sda*。 -
创建压缩镜像(避免占用过多空间):
sudo dd if=/dev/sda bs=4M status=progress | gzip -c > /path/to/backup.img.gz -
将镜像复制到外置硬盘或通过网络传输到目标电脑。
-
在目标电脑启动 Live USB,解压并写入目标磁盘:
sudo gunzip -c /path/to/backup.img.gz | sudo dd of=/dev/sdb bs=4M status=progress
-
-
注意:
dd会覆盖目标磁盘所有数据!务必确认目标设备名(如/dev/sdb)。- 若硬件差异大,需额外修复驱动和引导(见后文)。
2. 使用 Clonezilla(图形化工具)
- 步骤:
- 下载 Clonezilla Live ISO 制作启动U盘。
- 在源电脑启动 Clonezilla,选
device-image模式 → 将磁盘保存为镜像到外置硬盘/NAS。 - 在目标电脑启动 Clonezilla,选择镜像恢复到目标磁盘。
- 优势:
支持增量备份、分区调整、网络传输(如 SSH/NFS)。
📂 二、文件级迁移(推荐硬件差异较大时使用)
仅迁移系统和软件配置,不复制引导分区,需在新机重装引导程序,灵活性更高。
步骤:
-
在源电脑备份:
-
软件列表:
sudo dpkg --get-selections > packages.txt -
系统配置和数据:
sudo tar cvpzf backup.tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/mnt --exclude=/media --exclude=/lost+found / -
用户数据:手动备份
/home目录。
-
-
在目标电脑恢复:
-
安装同版本 Ubuntu 基础系统。
-
恢复软件列表:
sudo dpkg --set-selections < packages.txt sudo apt-get update && sudo apt-get dselect-upgrade -
解压配置和数据:
sudo tar xvpzf backup.tar.gz -C / -
重建临时目录:
sudo mkdir /proc /sys /dev /mnt /media。
-
🌐 三、网络直连克隆(无需外置存储)
通过网线直接传输磁盘数据,适合大容量磁盘快速迁移。
使用 dd + netcat:
-
目标电脑启动 Live USB,监听数据:
nc -l -p 1234 | sudo dd of=/dev/sdb bs=4M -
源电脑发送数据:
sudo dd if=/dev/sda bs=4M | nc <目标IP> 1234
- 要求:两台电脑需在同一局域网,目标机IP已知。
⚠️ 四、迁移后必须的修复操作
无论何种方法,硬件更换后均需:
-
更新硬件驱动:
- 检查显卡、网卡驱动:
ubuntu-drivers devices - 安装缺失驱动:
sudo apt install firmware-linux
- 检查显卡、网卡驱动:
-
修复引导程序:
sudo mount /dev/sdbX /mnt # 挂载新系统根分区 sudo chroot /mnt sudo grub-install /dev/sdb # 重装GRUB到目标磁盘 sudo update-grub -
调整文件系统UUID:
- 使用
sudo blkid查看新分区UUID,更新/etc/fstab和/boot/grub/grub.cfg。
- 使用
💎 方案选择建议
| 场景 | 推荐方法 | 优势 |
|---|---|---|
| 硬件高度相似 | dd 或 Clonezilla |
完全一致克隆,无需重装软件 |
| 硬件差异大 | 文件级迁移 | 避免驱动冲突,灵活性高 |
| 无外置硬盘,有千兆局域网 | 网络直连(netcat) |
节省存储设备,传输速度快 |
迁移前务必备份源盘重要数据!若目标机为UEFI启动,需确认分区表为GPT格式(可用
sudo gdisk -l /dev/sda检查)。