创建物理分区的 Virtualbox 映像

创建物理分区的 Virtualbox 映像

我有一个驱动器,其中安装了 Fedora 和 Windows 7,它们位于不同分区,并且具有双重启动功能。

现在,在运行 Fedora 时,我想吸收 Windows 分区并创建一个可以在 VirtualBox 中运行的映像 - 我该怎么做?

答案1

有一个记录在案的“内部”功能,您可能会感兴趣。您可以创建一个“原始磁盘”映像,基本上将所有命令传递到硬盘驱动器上的分区。这样,您可以保留 Windows 分区并尝试从 VirtualBox 启动它。

您可以按如下方式创建原始图像:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5

其中1,5表示分区 1 和 5/dev/sda

请注意,完美运行的可能性很小。Windows 并不以适应硬件的极端变化而闻名。

您可以在这里阅读有关原始磁盘的更多信息:10.8.1. 在客户机上使用原始主机硬盘

答案2

作为马特有人说,你使用 VBoxManage 命令,Windows 可能不喜欢它。但是,有一种更快的方法,不会占用太多磁盘空间。你可以使用 stdin 作为convertraw命令(如果你读过 Matt 的回答,你会发现它与以下命令相同convertdd

# dd if=$WinDevice | VBoxManage convertfromraw stdin windows.vdi $Bytes

其中 $WinDevice 是 Windows 分区的设备(例如 /dev/sda2),$Bytes 是确切的字节数(例如,1488581554176;您可以在 Windows 中通过右键单击“我的电脑”中的 C:驱动器并点击“属性”来确定这一点,它是位于已用空间和可用空间线下方以及饼图上方的容量:线)。

请注意,我自己还没有尝试过,并且我认为您可能需要使用 /dev/sda 而不是 /dev/sda2,假设您不会写入 Windows 所在的驱动器。这样,您就可以捕获分区表和引导加载程序。

答案3

我只是想做几乎完全相同的事情,尽管是在 Ubuntu 上。我不想创建整个硬盘驱动器的映像,而且在我看来,将物理磁盘与 VM 一起使用似乎不是一个好主意。我终于找到了解决方案:

  1. (推荐)如果您没有 Windows 光盘或 ISO,请下载 ISO。我使用了 X17-59465.iso

  2. 如果需要,可以缩小 Windows 分区,这样镜像大小就会更小。我更喜欢使用 GParted 从 Linux 执行此操作(以避免正在使用的“不可移动”文件),然后重新启动 Windows,让它执行 chkdsk,然后重新启动回 Linux。

  3. 如果已安装,请卸载 Windows 分区,以确保它在映像过程中不会发生变化

    sudo umount /windows
    
  4. 安装 MBR 包。在 Ubuntu 上:

    sudo apt-get -y install mbr 
    
  5. 创建 MBR 的映像(根据需要更改设备)

    sudo dd if=/dev/sda of=mbr.img bs=512 count=1
    
  6. 在镜像上安装一个新的 MBR,以摆脱 GRUB

    sudo install-mbr mbr.img
    
  7. 创建一个原始 VMDK 映像,该映像将镜像现有分区布局(根据需要更改设备和分区)

    sudo vboxmanage internalcommands createrawvmdk -filename windows.vmdk -rawdisk /dev/sda -partitions 2 -mbr mbr.img
    
  8. 创建一个 VDI 映像,该映像将从上一步中选择的分区复制数据

    sudo vboxmanage clonehd windows.vmdk windows.vdi --format VDI
    
  9. 更改新图像文件的所有权

    sudo chown $USER. windows.vdi
    
  10. 清理

    sudo rm mbr.img windows.vmdk windows-pt.vmdk
    
  11. (可选)压缩新的磁盘映像

    vboxmanage modifyhd windows.vdi --compact
    
  12. 使用刚刚为硬盘创建的映像创建一个新的 Windows 7 VM

  13. 您可以尝试启动虚拟机,但可能会失败。如果失败,请将虚拟机启动到 Windows 光盘/ISO →修复你的计算机,如果可以选择点击修复并重启

资料来源:

答案4

我有一个装有 Windows 10 的硬盘,我把它放在 VirtualBox 机器中。为了实现它,我遵循了以下步骤:

  • 为 Windows 10 创建一台 VirtualBox 机器。
  • 重要的:创建硬盘的时候,选择VHD类型。
  • 使用 Windows 分区管理器,可以像驱动器一样挂载 VHD。挂载它。
  • 下载傲梅分区助手标准版 (http://www.disk-partition.com/
  • 使用 AOEMI 将 Windows 10 的硬盘复制到新挂载的 VHD。

就这样,启动您的新 VirtualBox 机器。

相关内容