![创建物理分区的 Virtualbox 映像](https://linux22.com/image/1266711/%E5%88%9B%E5%BB%BA%E7%89%A9%E7%90%86%E5%88%86%E5%8C%BA%E7%9A%84%20Virtualbox%20%E6%98%A0%E5%83%8F.png)
我有一个驱动器,其中安装了 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 一起使用似乎不是一个好主意。我终于找到了解决方案:
(推荐)如果您没有 Windows 光盘或 ISO,请下载 ISO。我使用了 X17-59465.iso
如果需要,可以缩小 Windows 分区,这样镜像大小就会更小。我更喜欢使用 GParted 从 Linux 执行此操作(以避免正在使用的“不可移动”文件),然后重新启动 Windows,让它执行 chkdsk,然后重新启动回 Linux。
如果已安装,请卸载 Windows 分区,以确保它在映像过程中不会发生变化
sudo umount /windows
安装 MBR 包。在 Ubuntu 上:
sudo apt-get -y install mbr
创建 MBR 的映像(根据需要更改设备)
sudo dd if=/dev/sda of=mbr.img bs=512 count=1
在镜像上安装一个新的 MBR,以摆脱 GRUB
sudo install-mbr mbr.img
创建一个原始 VMDK 映像,该映像将镜像现有分区布局(根据需要更改设备和分区)
sudo vboxmanage internalcommands createrawvmdk -filename windows.vmdk -rawdisk /dev/sda -partitions 2 -mbr mbr.img
创建一个 VDI 映像,该映像将从上一步中选择的分区复制数据
sudo vboxmanage clonehd windows.vmdk windows.vdi --format VDI
更改新图像文件的所有权
sudo chown $USER. windows.vdi
清理
sudo rm mbr.img windows.vmdk windows-pt.vmdk
(可选)压缩新的磁盘映像
vboxmanage modifyhd windows.vdi --compact
使用刚刚为硬盘创建的映像创建一个新的 Windows 7 VM
您可以尝试启动虚拟机,但可能会失败。如果失败,请将虚拟机启动到 Windows 光盘/ISO →修复你的计算机,如果可以选择点击修复并重启
资料来源:
答案4
我有一个装有 Windows 10 的硬盘,我把它放在 VirtualBox 机器中。为了实现它,我遵循了以下步骤:
- 为 Windows 10 创建一台 VirtualBox 机器。
- 重要的:创建硬盘的时候,选择VHD类型。
- 使用 Windows 分区管理器,可以像驱动器一样挂载 VHD。挂载它。
- 下载傲梅分区助手标准版 (http://www.disk-partition.com/)
- 使用 AOEMI 将 Windows 10 的硬盘复制到新挂载的 VHD。
就这样,启动您的新 VirtualBox 机器。