必须采用底层块设备级克隆:先用live usb环境确认/dev/sda(源盘)与/dev/sdb(目标ssd)设备名,卸载所有分区后执行sudo dd if=/dev/sda of=/dev/sdb bs=4m conv=notrunc,sync,noerror status=progress,完成后sync并重装ssd,再chroot修复grub引导。

要把机械硬盘上运行的统信UOS系统完整迁移到新固态硬盘,确保开机即用、无需重装系统和软件,必须采用底层块设备级克隆方式,跳过文件级复制导致的引导失效与分区错位风险。
确认新固态硬盘已被系统识别
插入新SSD(台式机直连主板SATA或M.2插槽,笔记本需用USB3.0硬盘盒),开机进入统信UOS,打开终端执行:
sudo lsblk -o NAME,MODEL,SIZE,TRAN,FSTYPE,MOUNTPOINT
观察输出中是否有未挂载的新设备,如 /dev/sdb 或 /dev/nvme1n1,且 FSTYPE 为空、MOUNTPOINT 为空——这表示硬盘已通电识别但尚未分区格式化。
若无任何新设备名出现,执行 dmesg | grep -i "nvme\|sd" 检查内核是否报错;USB外接时注意是否提示“power limit exceeded”,此时需换带供电的USB集线器。
准备克隆环境:进入Live USB系统
直接在原系统中用dd克隆存在风险:源盘正在被读写,可能导致目标盘数据不一致甚至损坏。必须使用独立运行环境。
用Ventoy将统信UOS V20官方ISO写入U盘,重启后从U盘启动,选择“试用统信UOS”进入Live桌面。
这一步不可跳过——【原系统仍在运行时对/dev/sda执行dd操作,极大概率造成源盘ext4日志损坏,下次启动直接进Emergency Mode】。
执行dd整盘克隆(推荐x86_64架构)
第一步:打开终端,执行 sudo fdisk -l,确认源盘(如 /dev/sda,含/boot和/分区)与目标SSD(如 /dev/sdb)设备名,务必反复核对两次,输错目标盘名将清空你当前所有数据。
第二步:卸载所有自动挂载分区:
sudo umount /dev/sda* && sudo umount /dev/sdb*
第三步:开始克隆,命令如下:
sudo dd if=/dev/sda of=/dev/sdb bs=4M conv=notrunc,sync,noerror status=progress
该命令会逐扇区复制MBR/GPT、EFI系统分区、/boot、/根分区及所有隐藏元数据。SSD容量必须 ≥ 机械盘已用空间+预留引导区,若新盘更小则此法不可行,需改用备份还原.uimg方式。
第四步:等待进度条走完,敲入 sync 命令强制刷写缓存,再安全拔出SSD。
调整新固态硬盘启动参数(关键)
把克隆好的SSD装回主机,拔掉旧机械盘,开机。若黑屏或报错“no boot device”,说明EFI引导项未正确注册。
重新插入Live UOS U盘启动,打开终端,依次执行:
sudo mkdir /mnt/ssd
sudo mount /dev/sdb2 /mnt/ssd # 假设sdb2是原系统的/分区
sudo mount /dev/sdb1 /mnt/ssd/boot/efi # 假设sdb1是EFI系统分区
sudo chroot /mnt/ssd
grub-install /dev/sdb
update-grub
exit
sudo umount -R /mnt/ssd
完成后重启,拔掉U盘,SSD应能独立启动进入原系统桌面。











