创建物理分区的Virtualbox映像


Answers:


10

您可能会对有据可查的“内部”功能感兴趣。您可以创建一个“原始磁盘”映像,该映像基本上将所有命令传递到硬盘驱动器上的分区。这样,您可以保留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。使用来宾的原始主机硬盘


我以前做过,但反过来说。在Windows中为VM使用薄荷原始磁盘。除了视频的一个小问题,它工作得很好。
Keltari '16

5

正如Matt所说,您使用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所在的驱动器。这样,您就可以捕获分区表和引导加载程序。


截至目前(当前为2014年2月22日),字节数位于输出文件名之后。
echristopherson 2014年

嗯,是的。固定。您是否知道是否一直都是这种情况,直到现在还没有人注意到,还是在过去三年中他们改变了订单?我猜他们不会改变顺序,但我也已经期待有人注意到这一点。
Daniel H

我不确定是否曾经有所不同...这就是为什么我不只是编辑答案的原因。
echristopherson

2

我只是想做几乎完全相同的事情,尽管来自Ubuntu。我不想创建整个硬盘的映像,并且对VM使用物理磁盘对我来说似乎不是一个好主意。我终于找到了解决方案:

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

  2. 如果需要,请缩小窗口分区,以减小图像尺寸。我更喜欢从Linux使用GParted(避免使用正在使用的“可移动”文件)进行此操作,然后重新启动到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. 您可以尝试启动VM,但是它可能会失败。如果支持,则将虚拟机引导至Windows光盘/ ISO→ 修复计算机,如果提供了选项,请单击修复并重新启动。

资料来源:


恐怕8.不会做您期望的事情。clonehd将创建指向原始磁盘的vdi。也就是说,它克隆了“指针”而不是实际数据。看起来dd是分区必需的。
mlt

也许有人会这么想,但是它克隆了实际数据。步骤7创建了一个约1 KB的映像(仅指向原始磁盘),但是在步骤8中创建的映像的大小是所有包含的分区的大小,在这种情况下为40 GB。我也知道它是一个副本,因为当我引导到Windows分区时,它与我基于它创建的VM有所不同。-rw------- 1 root root 40G Feb 4 09:28 windows.vdi -rw------- 1 root root 722 Feb 4 09:11 windows.vmdk
bmaupin 2015年

0

我有一个装有Windows 10的硬盘,并将其放在VirtualBox机器中。为此,我遵循以下步骤:

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.