在 Arch 上虚拟化现有的 Windows 8.1 安装

在 Arch 上虚拟化现有的 Windows 8.1 安装

我有以下设置:

  • 英特尔 i5 4570s
  • 操作系统 SSD
    • sda1:EFI 启动分区
    • sda2:安装了 arch 的 ext4
    • sda3:交换
    • sda4:微软保留
    • sda5:ntfs,安装有 windows 8.1
  • 数据硬盘

几天前我读到一篇文章关于如何在现有的 Windows 安装中启动虚拟机,并且仍然能够正常启动并同步实例。不幸的是 VirtualBox无法启动 EFI Windows 安装

正如我在另一篇博客中读到的,其他虚拟化软件(如 QEMU)能够使用 OVMF 启动 EFI Windows 安装。因此,我按照第一篇文章操作,使用以下命令创建了我的 Windows 磁盘的原始映像:

VBoxManage internalcommands createrawvmdk -filename w8raw.vmdk -
-rawdisk /dev/sda -partitions 1,4,5 -relative

并尝试通过 QEMU 打开该图像

qemu-system-x86_64 --enable-kvm -pflash OVMF.fd w8raw.vmdk 

我收到以下错误

Unsupported image type 'partitionedDevice'

值得注意的是,该VBoxManage命令生成了两个文件

w8raw.vmdk
w8raw-pt.vmdk

现在我的问题是:

  1. 是否可以.vmdk使用 QEMU 打开创建的文件?
  2. 是否也可以使用 QEMU 创建这样的原始图像?如何创建?文档对我没有帮助
  3. 您对如何存档此文件还有其他想法吗?

如果您需要更多信息,我很乐意将其添加到这里。

答案1

有一个问题VBoxManage createrawvmdk适用于 UEFI 系统。不过,我先回答一下问题。

答案

Is it somehow possible to open the created .vmdk file with QEMU?

似乎没有,因为没有人回复这封邮件. 但是 QEMU/KVM 支持常规的非原始 VMDK。

Is it possible to create such an raw image with QEMU too? How? The documentation didn't help me

不。

Do you have any other ideas how to archive this?

你可以按照 Arch Linux wiki 上的指南,了解如何手动创建指向真实分区的磁盘。但是,我不知道如何才能使某些分区以零形式访问。不过,您可以在“新”磁盘上跳过它们。

其他

VBoxManage createrawvmdk自 2014 年 4 月起不支持 UEFI 系统。不过您可以使用vasi/vmdk-原始部分来生成同样的东西。

生成后,您可以使用 VMware Player,但是由于 Player 的 GUI 很奇怪,您将无法立即连接它 - 您必须使用 VMware Player 创建一个并编辑 .VMX 文件(我更喜欢 vmdk-raw-parts 因为输出看起来更清晰,但 VMware Player 也会生成一个)。

定期警告

如果您没有备份并且准备损坏磁盘,请不要尝试任何这些操作;)

附加内容

目前,我正在尝试使用我在这里提到的所有信息和网站来实现同样的目标在 Linux 下的 Virtualbox/KVM/VMware Player 中使用真实的 Windows 7 分区合二为一。

最后一件事,你不好奇 VirtualBox 创建的文件吗?

  • w8raw.vmdk-->文本定义磁盘布局的文件
  • w8raw-pt.vmdk --> 您的 MBR 的副本。它是提及w8raw.vmdk 内部

vasi/vmdk-raw-part 创建了类似的分区,但名字更好。出于好奇,GPT 磁盘在磁盘的开头和结尾都有分区信息,此外还应用了校验和。

相关内容