使用 Linux 上的 VirtualBox,我设置了一个虚拟机,/dev/sdb1
通过我创建的 VMDK 文件从我的物理 Windows 7 分区启动VBoxManage internalcommands createrawvmdk
,并且运行良好。在升级到 Windows 10 时,我重新分区了驱动器,因此需要重新生成 VMDK 文件。但是,我已升级到 VirtualBox 7.0.2,现在的命令似乎是 VBoxManage createmedium disk
:
VBoxManage createmedium disk \
--filename disk-passthrough.vmdk \
--format=VMDK --variant RawDisk \
--property RawDrive=/dev/sdb \
--property Partitions=1
我的问题是,生成的 VMDK 文件显示“虚拟大小”为零,而客户实时安装程序也将其视为零,因此无法继续。“实际大小”是整个驱动器的大小,我认为这是预期的。虚拟媒体管理器 GUI 中的“大小”滑块不起作用,我在 vmdk 文件本身中找不到任何东西。
磁盘列表如下VBoxManage list hostdrives
:
Drive: /dev/sdb
Model: "ATA WDC WD10EZEX-00B"
UUID: badea8e5-0000-0000-0000-000000000000
Size: 931.5GiB
Sector Size: 512 bytes
Scheme: MBR
Partitions: First Last
## Type Size Start Cyl/Head/Sec Cyl/Head/Sec Active
1 07 124.3GiB 1.0MiB 0/ 32/33 1023/254/63 yes IFS
5 07 807.1GiB 124.3GiB 1023/254/63 1023/254/63 no IFS
生成的VMDK文件:
# Disk DescriptorFile
version=1
CID=0a12cf60
parentCID=ffffffff
createType="partitionedDevice"
# Extent description
RW 2048 FLAT "disk-passthrough-pt.vmdk" 0
RW 260724736 FLAT "/dev/sdb" 2048
RW 2048 ZERO
RW 2048 FLAT "disk-passthrough-pt.vmdk" 2048
RW 1692792832 ZERO
RW 36028795065440256 ZERO
# The disk Data Base
#DDB
ddb.virtualHWVersion = "4"
ddb.adapterType="ide"
ddb.uuid.image="0574bafb-3aae-48c9-8fad-410505bb7d46"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
虚拟磁盘列表如下VBoxManage list hdds
:
UUID: 0574bafb-3aae-48c9-8fad-410505bb7d46
Parent UUID: base
State: created
Type: normal (base)
Location: /home/quentin/VirtualBox VMs/win10/disk-passthrough.vmdk
Storage format: VMDK
Capacity: 0 MBytes
Encryption: disabled
以前的 VMDK 文件的备份(请注意,分区 #2 已被删除,分区 #1 已扩展):
# Disk DescriptorFile
version=1
CID=35130ae5
parentCID=ffffffff
createType="partitionedDevice"
# Extent description
RW 63 FLAT "disk-passthrough-pt.vmdk" 0
RW 1985 ZERO
RW 250241024 FLAT "/dev/disk/by-id/ata-WDC_WD10EZEX-00BN5A0_WD-WCC3F3675084-part1" 0
RW 10485760 FLAT "/dev/disk/by-id/ata-WDC_WD10EZEX-00BN5A0_WD-WCC3F3675084-part3" 0
RW 63 FLAT "disk-passthrough-pt.vmdk" 63
RW 1985 ZERO
RW 1692792832 FLAT "/dev/disk/by-id/ata-WDC_WD10EZEX-00BN5A0_WD-WCC3F3675084-part5" 0
RW 1456 ZERO
# The disk Data Base
#DDB
ddb.virtualHWVersion = "4"
ddb.adapterType="ide"
ddb.geometry.cylinders="16383"
ddb.geometry.heads="16"
ddb.geometry.sectors="63"
ddb.uuid.image="13b50da8-f9c6-4f14-b005-5da933b3693a"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="bb23de78-f57b-4c71-b187-81aaf21542a5"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
ddb.geometry.biosCylinders="1024"
ddb.geometry.biosHeads="255"
ddb.geometry.biosSectors="63"
答案1
看起来这是一个已知问题,正在解决https://www.virtualbox.org/ticket/21125