Skip to main content

阿里云 ECS(Ubuntu 18.04)把 系统盘转换成 Hyper-V 可用的 VHD

可以,阿里云 ECS(Ubuntu 18.04)把 系统盘转换成 Hyper-V 可用的 VHD,标准做法是:

👉 新增一块临时云盘 → dd 克隆系统盘 → qemu-img 转换 VHD

下面给你一套 运维可直接执行流程(适合 Linux 运维)


一、前提确认(非常重要)

先确认磁盘:

lsblk

假设:

磁盘 作用
/dev/vda 40G 系统盘
/dev/vdb 新增临时云盘

⚠️ 后面全部按这个示例写,实际请替换。


二、安装转换工具

Ubuntu18 默认没有 qemu-img:

apt update
apt install -y qemu-utils

确认:

qemu-img --version

三、临时云盘分区 + 挂载

1️⃣ 分区

fdisk /dev/vdb

操作:

n
p
1
回车
回车
w

2️⃣ 格式化

推荐 ext4:

mkfs.ext4 /dev/vdb1

3️⃣ 挂载

mkdir /mnt/tempdisk
mount /dev/vdb1 /mnt/tempdisk

确认:

df -h

四、克隆系统盘(生成 RAW)

⚠️ 必须用整盘 /dev/vda,不是分区

dd if=/dev/vda of=/mnt/tempdisk/system.raw bs=16M status=progress

参数说明:

参数 作用
if 输入磁盘
of 输出文件
bs=16M 提升复制速度
status=progress 显示进度

预计时间:

  • 40G SSD ECS

  • 约 5~15 分钟


五、转换为 Hyper-V VHD

1️⃣ 固定大小 VHD(强烈推荐)

Hyper-V 兼容性最好:

qemu-img convert -f raw -O vpc -o subformat=fixed,force_size \
/mnt/tempdisk/system.raw \
/mnt/tempdisk/system.vhd

2️⃣ 可扩展 VHD(可选)

qemu-img convert -f raw -O vpc \
/mnt/tempdisk/system.raw \
/mnt/tempdisk/system.vhd

六、验证 VHD

qemu-img info /mnt/tempdisk/system.vhd

应该看到:

file format: vpc

七、压缩(强烈建议)

tar -czvf system_vhd.tar.gz system.vhd

八、下载回本地

方式:

方案1(推荐)

阿里云:

  • 上传 OSS

  • 再下载


方案2

直接 scp:

scp root@ecs-ip:/mnt/tempdisk/system_vhd.tar.gz .

九、Hyper-V 启动注意事项(90%人会踩坑)

创建 VM 时:

Generation 选择

👉 Ubuntu18 建议:

Generation 1

不要选 Gen2(UEFI可能无法启动)。


启动前修复(强烈建议在 ECS 先做)

apt install -y linux-image-virtual linux-tools-virtual

安装:

hv_vmbus
hv_storvsc
hv_netvsc

十、企业级推荐方案(比 dd 更专业)

如果你是生产环境迁移,我更建议:

阿里云镜像导出 → qcow2 → vhd

优点:

  • 不停机

  • 一致性好

  • 可自动修复分区


如果你愿意,我可以给你:

1️⃣ ✅ 一键系统盘转 Hyper-V VHD 脚本(生产级)
2️⃣ ✅ 阿里云 ECS → Hyper-V 无法启动的修复大全(90%问题覆盖)
3️⃣ ✅ Gen1 / Gen2 选择与 grub 修复流程图
4️⃣ ✅ Hyper-V 启动蓝屏/Kernel Panic 专业排查手册

直接告诉我 👍