NVMe SSD 系统盘迁移任务(2026-05-17)

目标

将系统盘从 Kingston NV2 克隆到 Kingston NV3(同为 2TB),换盘后即插即用。

硬件信息

  • 源盘: Kingston NV2 (SNVS2000G) 2TB NVMe, PCIe 3.0, 无DRAM, 设备 /dev/nvme0n1
  • 目标盘: Kingston NV3 (SNV3S2000G) 2TB NVMe, 当前方案装入 M.2_2
  • 硬盘盒: 绿联 Ugreen, RTL9210 芯片(方案 A 已废弃)
  • 主板: ASUS TUF GAMING B460M-PLUS (WI-FI), 2 个 M.2 槽位
  • 容量: 2,000,398,934,016 字节(字节级完全一致)
  • 扇区: 均为 512B/512B(逻辑/物理)
  • 分区: p1=512MB EFI (vfat), p2=1.8TB root (ext4)
  • 引导: UEFI + GPT, /EFI/UBUNTU/SHIMX64.EFI
  • 系统: Ubuntu 24.04.2 LTS, 内核 6.8.0-40-generic
  • NVMe 槽位: 2 个(M.2_1 CPU直连, M.2_2 芯片组)

关键问题:硬盘盒过热断连

USB 3.0 (5000Mbps) 高速写入时,硬盘盒持续写入约 500-570GB 后必然过热断连。 4 次尝试全部失败:

  1. 438GB / 16min / 455MB/s → 断连
  2. 557GB / 62min / 149MB/s → 断连
  3. 570GB / 31min / 305MB/s → 断连(加了风扇仍不够)
  4. 136GB / 5min / 422MB/s → 断连(硬盘盒未充分冷却)

错误均为 DID_NO_CONNECT,断连后设备名漂移(sdb→sdc→sdd)。

方案 A(已废弃):USB 硬盘盒分段 dd

USB 硬盘盒过热断连,5 次尝试全部失败(最后一次 204GB 即断连),方案不可行。

方案 B(当前):双 M.2 槽位直接 dd

主板 ASUS TUF GAMING B460M-PLUS (WI-FI) 有 2 个 M.2 插槽:

  • M.2_1(CPU 直连 PCIe 3.0 x4):源盘 NV2 已安装
  • M.2_2(芯片组 PCIe 3.0 x4):空闲,装入目标盘 NV3

两盘同时在线,走 PCIe 直连克隆,无 USB 瓶颈,无过热风险。

步骤 1:开机后识别盘符(⚠️ 关键,方向搞反会丢数据)

# 列出所有 nvme 设备,重点看 MODEL 列
lsblk -o NAME,SIZE,MODEL,TRAN,TYPE | grep nvme

型号对照表(以型号为准,不要靠设备名猜):

型号身份说明
SNVS2000GNV2 = 源盘(有数据)dd 的 if=
SNV3S2000GNV3 = 目标盘(空盘)dd 的 of=

记忆口诀:有 3 的是新盘(目标),NV3S = 目标

步骤 2:双重验证分区表

# 有 EFI + ext4 分区的是源盘,无分区/残留分区的是目标盘
sudo fdisk -l /dev/nvme0n1
sudo fdisk -l /dev/nvme1n1

步骤 3:确认后执行 dd

# ⚠️ 将下面的 nvmeXn1 替换为实际确认的设备名
# if = 源盘(NV2, SNVS), of = 目标盘(NV3, SNV3S)
sudo dd if=/dev/nvme{源}n1 of=/dev/nvme{目标}n1 bs=64M status=progress conv=fsync

最终执行方式

未使用方案 B(双 M.2),实际通过方案 A 的 USB 硬盘盒分 5 段完成了克隆(第 1、2 段成功后用户自行完成了剩余段)。

进度

  • 方案调研
  • 硬件确认(扇区/容量一致)
  • 方案 A:USB 分段 dd 克隆(第 1 段 381GB/25min/267MB/s ✓,第 2 段 381GB ✓,后续段用户自行完成)
  • 换盘,NV3 启动成功
  • fstrim(释放 187.9 GiB)
  • 恢复休眠(unmask sleep/suspend/hibernate/hybrid-sleep)

启动后错误排查(2026-05-17)

NV3 首次启动后 dmesg/journalctl 中的错误逐项排查结果:

错误状态处理
VMX disabled by BIOS⏳ 待修需进 BIOS 开启 Intel VT-x,软件无法修复
SGX disabled by BIOS⏳ 待修需进 BIOS 开启,与 VMX 同一页面
thermal_zone2 failed (-61)✅ 无需修复iwlwifi 启动时序问题,启动后温度读取正常(57°C),内核级 cosmetic warning,上游未修复
bluetoothd SAP failed✅ 已修复/etc/bluetooth/main.conf [General] 添加 DisablePlugins = sap,重启后生效
rustdesk gdm sudo✅ 已修复创建 /etc/sudoers.d/rustdesk-gdm 允许 gdm 以自身身份运行 rustdesk,重启后生效
NVMe No UUID / old NGUID✅ 无需修复Kingston NV3 固件不提供 UUID descriptor,内核回退用 NGUID,纯 info 级别日志,无影响
磁盘 UUID 重复✅ 无需修复dd 克隆的 UUID 与原盘一致,旧盘已拆除无冲突,fstab/grub 引用正常

文档位置

详细方案文档:/home/zbc/micode/GeneralAndroid/爬取的文章/Ubuntu NVMe SSD 系统盘迁移方案.md

Why: 旧盘 98% 满需要更换,同容量克隆可保证零配置启动 Status: ✅ 迁移完成(2026-05-17),NV3 已作为系统盘正常启动运行。启动日志错误已排查,无磁盘/引导相关问题。