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