![VirtualBox 原始驱动器使用 UUID 而不是设备名称](https://linux22.com/image/1560824/VirtualBox%20%E5%8E%9F%E5%A7%8B%E9%A9%B1%E5%8A%A8%E5%99%A8%E4%BD%BF%E7%94%A8%20UUID%20%E8%80%8C%E4%B8%8D%E6%98%AF%E8%AE%BE%E5%A4%87%E5%90%8D%E7%A7%B0.png)
我想将实际驱动器连接到 VirtualBox VM,因此我按照此处的说明进行操作,它说要这样做:
VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX
这将创建一个虚拟硬盘 ( file.vmdk
),该硬盘可连接到 VM,它是实际硬盘的一种包装器。这样就可以正常工作了。
但是,根据我当时连接的驱动器,sdX
设备名称会发生变化,然后向虚拟机显示错误的物理驱动器。
所以我想指定 UUID 名称。我该怎么做?
答案1
您可以lsblk
像这样使用命令:
sudo lsblk /dev/sdaX -no UUID
要获取分区 uuid,您也可以使用设备文件系统。
ls -l /dev/disk/by-uuid
确认要使用哪个 UUID。该文件将引用与 UUID 匹配的任何 /dev/sdX。
然后在 xboxmanage 命令中使用它。
答案2
通常,分区有 UUID,但整个驱动器没有。但它应该有一个唯一的 ID。您可以通过将命令指向后者来轻松创建 vmdk:
VBoxManage internalcommands createrawvmdk -filename <image_name>.vmdk -rawdisk /dev/disk/by-id/<ID_of_the_drive>
或者用文本编辑器打开现有的vmdk文件并/dev/sdX
手动替换。