我正在将 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
将创建仅具有两个分区的虚拟磁盘。