Chancel's blog

415 字 2 分钟阅读

物理机 Windows10 迁移到虚拟机 PVE 内

  • Deploy

Windows10重装系统是非常简单的事情,但如何拷贝迁移旧系统数据是个难题,如果你有虚拟化的软件,那么把现有的Windows虚拟化成虚拟机是个保留资料的最佳方案

大意步骤

  1. 使用分区助手DiskGenius(免费版即有这个功能)热迁移当前操作系统成VMDK格式的虚拟机磁盘文件
  2. 创建一个硬件上类似于当前物理机器配置的虚拟机
  3. 将VMDK文件上传至你的PVE中,再转换VMDK磁盘文件成PVE能识别使用的QCOW2磁盘文件
  4. 导入磁盘文件到PVE的存储卷中,新建虚拟机并使用这个磁盘文件

首先,我们下载可以将当前操作系统热迁移成VMware磁盘格式的DiskGenius免费版

随后打开软件,在菜单栏-工具中选中 将当前操作系统迁移至VMware虚拟机中,选好输出格式与输出内容即可,这里假设输出文件名为 Windows10.vmdk

输出文件之后上传至PVE中,此步随意,可以用scp/smb等方式上传,上传成功之后,使用如下方法转换文件格式

qemu-img convert -O qcow2 Windows10.vmdk ../sdd/Windows10.qcow2

创建一个硬件上类似于当前物理机器配置的虚拟机,无需创建虚拟机硬盘(光驱也不需要)

最后,导入已转换完成的文件到存储卷中,102是新创建的虚拟机ID, local-Thin为卷名

qm importdisk 102 Windows10.qcow2 local-Thin

注:部分Windows10是UEFI方式启动,在PVE中要设置好以UEFI方式启动,否则可能识别不到硬盘

互动

留言

发表留言

已加载 5 / 5 条留言

coderon

当前磁盘空间不够,存不下一个vmdk了。这种情况如何处理?

chancel 博主

能否描述详细些,是导出还是导入的空间不足?

coderon

我的笔记本是256GB的,只有1个C盘,已经使用了200GB,此时将笔记本的C盘导出成vmdk,并且保存在C盘,笔记本的空间是不够的。---因此我想问下有没有在线直接将磁盘数据迁移到pve中的方法

chancel 博主

我没有试过直接导入,你的 pve 有足够空间吗?有的话开一个 samba ,在 Windows 上挂载这个 samba 为驱动器然后导出到这个驱动器下,再导入到 pve 中

coderon

感谢指导。 按照你的建议,成功将windows导出到samba中。在我的wifi下,速率大约是10MB/s 。最终成功导入PVE。 导入后,这里还有个坑,就是虚拟机没有virtio驱动,导致windows无法识别磁盘。最终先使用IDE格式磁盘启动windows,安装virtio驱动后,再修改为virtio格式磁盘。