从物理设备上的某些分区创建虚拟磁盘

从物理设备上的某些分区创建虚拟磁盘

我正在将 Windows 安装迁移到虚拟机。在装有 Windows 的物理设备上,有两个分区:/dev/sda1/dev/sda2。第二个分区后面还有大量可用空间。

我可以使用以下命令轻松创建一个虚拟磁盘/dev/sda

cat /dev/sdg | VBoxManage convertfromraw stdin OutPutFile.vdi NUMBEROFBYTES

但是这会创建一个巨大的文件,其中包含所有可用空间。我希望文件仅包含两个分区。我该怎么做?或者,是否有选项可以调整大小向下虚拟磁盘创建后如何恢复?

答案1

显然,这一切都相当简单。我的分区表如下所示:

   Device Boot       Start           End       Blocks   Id  System
/dev/sdb1   *         2048        526335       262144    7  NTFS
/dev/sdb2           526336   92342323199  46170898432    7  NTFS
Unpartitioned  92342323200  234076243969  70866960384

我可以使用以下命令从整个物理磁盘创建虚拟磁盘:

cat /dev/sdg | VBoxManage convertfromraw stdin OutPutFile.vdi 117038121985

这将创建一个虚拟磁盘,其中包含两个 NTFS 分区和另外 66 GB 的空闲空间。由于我不想要空闲空间,所以我所要做的就是指定NUMBEROFBYTES我需要的两个分区(另外,为了安全起见,我还加了一些额外的分区)。此命令:

cat /dev/sdg | VBoxManage convertfromraw stdin OutPutFile.vdi 46171161600

将创建仅具有两个分区的虚拟磁盘。

相关内容