Okay I tested it for you…
$ ls -l /dev/disk/*
/dev/disk/by-id:
insgesamt 0
lrwxrwxrwx 1 root root 9 30. Jun 10:24 ata-QEMU_DVD-ROM_QM00001 -> ../../sr0
/dev/disk/by-partlabel:
insgesamt 0
lrwxrwxrwx 1 root root 10 30. Jun 10:24 root -> ../../vdb2
/dev/disk/by-partuuid:
insgesamt 0
lrwxrwxrwx 1 root root 10 30. Jun 10:30 3463f0cc-2658-494b-a135-ab22a19c1ea0 -> ../../vda1
lrwxrwxrwx 1 root root 10 30. Jun 10:24 50324670-b3d0-4187-9c66-ffa2da5e2fb1 -> ../../vdb2
lrwxrwxrwx 1 root root 10 30. Jun 10:24 c07133b6-c369-4da0-a107-48ed7c4375c6 -> ../../vdb1
/dev/disk/by-path:
insgesamt 0
lrwxrwxrwx 1 root root 9 30. Jun 10:24 pci-0000:00:1f.2-ata-1 -> ../../sr0
lrwxrwxrwx 1 root root 9 30. Jun 10:24 pci-0000:00:1f.2-ata-1.0 -> ../../sr0
lrwxrwxrwx 1 root root 9 30. Jun 10:24 pci-0000:04:00.0 -> ../../vda
lrwxrwxrwx 1 root root 10 30. Jun 10:30 pci-0000:04:00.0-part1 -> ../../vda1
lrwxrwxrwx 1 root root 9 30. Jun 10:24 pci-0000:08:00.0 -> ../../vdb
lrwxrwxrwx 1 root root 10 30. Jun 10:24 pci-0000:08:00.0-part1 -> ../../vdb1
lrwxrwxrwx 1 root root 10 30. Jun 10:24 pci-0000:08:00.0-part2 -> ../../vdb2
lrwxrwxrwx 1 root root 9 30. Jun 10:24 pci-0000:09:00.0 -> ../../vdc
lrwxrwxrwx 1 root root 9 30. Jun 10:24 virtio-pci-0000:04:00.0 -> ../../vda
lrwxrwxrwx 1 root root 10 30. Jun 10:30 virtio-pci-0000:04:00.0-part1 -> ../../vda1
lrwxrwxrwx 1 root root 9 30. Jun 10:24 virtio-pci-0000:08:00.0 -> ../../vdb
lrwxrwxrwx 1 root root 10 30. Jun 10:24 virtio-pci-0000:08:00.0-part1 -> ../../vdb1
lrwxrwxrwx 1 root root 10 30. Jun 10:24 virtio-pci-0000:08:00.0-part2 -> ../../vdb2
lrwxrwxrwx 1 root root 9 30. Jun 10:24 virtio-pci-0000:09:00.0 -> ../../vdc
/dev/disk/by-uuid:
insgesamt 0
lrwxrwxrwx 1 root root 10 30. Jun 10:24 187e6dba-d514-47e1-b27b-9c039d422c61 -> ../../vdb2
lrwxrwxrwx 1 root root 10 30. Jun 10:24 E434-E243 -> ../../vdb1
I will use /dev/vda here.
$ sudo VBoxManage createmedium disk --filename=somefile.vmdk --format=VMDK --variant RawDisk --property RawDrive=/dev/vda --property Partitions=1
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 94f37f46-06b6-4c8e-88ba-ba10dcccb803
$ sudo cat somefile.vmdk
# Disk DescriptorFile
version=1
CID=db701f37
parentCID=ffffffff
createType="partitionedDevice"
# Extent description
RW 1 FLAT "somefile-pt.vmdk" 0
RW 2047 FLAT "somefile-pt.vmdk" 1
RW 41938944 FLAT "/dev/vda" 2048
RW 2048 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="94f37f46-06b6-4c8e-88ba-ba10dcccb803"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
Nice, it points to /dev/vda
. Good 
sudo VBoxManage createmedium disk --filename=somefile1.vmdk --format=VMDK --variant RawDisk --property RawDrive=/dev/disk/by-path/pci-0000:04:00.0 --property Partitions=1
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 76fcdba8-c4a8-4d35-81d5-fa94d7dd2d60
$ sudo cat somefile1.vmdk
# Disk DescriptorFile
version=1
CID=be47579f
parentCID=ffffffff
createType="partitionedDevice"
# Extent description
RW 1 FLAT "somefile1-pt.vmdk" 0
RW 2047 FLAT "somefile1-pt.vmdk" 1
RW 41938944 FLAT "/dev/disk/by-path/pci-0000:04:00.0" 2048
RW 2048 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="76fcdba8-c4a8-4d35-81d5-fa94d7dd2d60"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
okay… it uses /dev/disk/by-path/pci-0000:04:00.0
just like /dev/vda
. Both are equal. What’s the problem?
Or use the partuuid, if it is a partition. Here it is /dev/vda1:
sudo VBoxManage createmedium disk --filename=somefile2.vmdk --format=VMDK --variant RawDisk --property RawDrive=/dev/disk/by-partuuid/3463f0cc-2658-494b-a135-ab22a19c1ea0
$ sudo cat somefile2.vmdk
# Disk DescriptorFile
version=1
CID=0b2795a7
parentCID=ffffffff
createType="fullDevice"
# Extent description
RW 41938944 FLAT "/dev/disk/by-partuuid/3463f0cc-2658-494b-a135-ab22a19c1ea0" 0
# 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="31115c42-97f0-4b6a-90e6-9c579bcbf5e9"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
The VMDK file is just a pointer here to a physical disk. It can use symbolic links.