用vboxmanage创建-删除-查询-连接-卸载磁盘

1、创建磁盘:
vboxmanage createmedium disk --filename="D:\vms\VirtualBox\OnlyConsole\Only\three.vdi" --size=20000 --format=VDI
2、删除磁盘:
vboxmanage closemedium .\three.vdi --delete
3、查询注册表中有多少磁盘
vboxmanage list hdds
4、链接创建好的磁盘到控制器
vboxmanage storageattach Debian12 --storagectl "SATA" --port 1 --device 0 --type hdd --medium "C:\Users\Logic\VirtualBox VMs\Debian12\two.vdi"
5、卸载已经链接的磁盘
vboxmanage storageattach Debian12 --storagectl "SATA" --port 1 --device 0 --type hdd --medium none
卸载时,可以不写--device 和 --type这两个参数,因为只有在控制器端口设为 none,则和端口连接的设备自然卸载。
另外查询硬盘挂接的端口也是命令:vboxmanage showvminfo Debian12

创建磁盘共3步

1、创建磁盘。2、创建控制器(可选)。3、把磁盘挂接到控制器。
如果存在想挂接的控制器了,则第2步不用。否则就要创建一个对应的控制器。

删除磁盘共2步

1、从控制器中卸载磁盘。2、删除磁盘

辅助的功能

  • 用 vboxmanage showvminfo 查询虚拟机信息,主要用于查询虚拟机的控制器名称。
  • 用 vboxmanage list hdds 查询硬盘的信息,主要用于查看磁盘是否创建成功,以及 UUID 号。
  • 用 vboxmanage help 子命令 来查看子命令的帮助

VBoxManage storageattach的参数--port 和 --device的关系

在VBoxManage的storageattach命令中,--port--device参数用于指定如何将存储设备(如硬盘、光驱)连接到虚拟机的存储控制器上。它们之间的关系如下:

  • --port 参数:这个参数指定了存储控制器上的端口(Port)。每个存储控制器(如SATA控制器、IDE控制器)有多个端口,每个端口可以连接一个设备。端口号通常从0开始计数。例如,--port 0 表示连接到控制器的第一个端口。

  • --device 参数:这个参数进一步定义了在选定端口上的设备槽位(Device)。在一个端口上,可以配置多个设备(尽管大多数情况下,一个端口只连接一个设备),设备号同样是从0开始。例如,--device 0 表示在选定端口上的第一个设备槽位。

结合这两个参数,你可以精确控制存储设备连接到哪个控制器的哪个端口的哪个槽位上。例如,命令 VBoxManage storageattach my_vm --storagectl "SATA Controller" --port 1 --device 0 --type hdd --medium disk.vdi 指的是将磁盘文件disk.vdi连接到名为“my_vm”的虚拟机的SATA控制器的第二个端口(因为端口号从0开始计数,所以1表示第二个)上的第一个设备槽位。

简而言之,--port 是用来选择控制器上的物理连接点,而 --device 是用来指定在该连接点上的逻辑设备位置。

从虚拟主机中卸载磁盘

在VirtualBox中使用VBoxManage命令行工具从虚拟机中卸载(detach)一个已连接的磁盘,可以使用VBoxManage storageattach命令,通过设置--medium none来移除磁盘。下面是具体的步骤和命令示例:

  1. 确定虚拟机和磁盘信息:首先,你需要知道虚拟机的UUID或名称以及要卸载的磁盘所连接的控制器、端口和设备号。可以通过以下命令获取相关信息:

    VBoxManage list vms
    VBoxManage showvminfo <vmname_or_uuid>
    
  2. 执行卸载操作:确定好上述信息后,使用VBoxManage storageattach命令移除磁盘。命令格式如下:

    VBoxManage storageattach <vmname_or_uuid> --storagectl <controller_name> --port <port_number> --device <device_number> --type <disk_type> --medium none
    
    • <vmname_or_uuid>:虚拟机的名称或UUID。
    • <controller_name>:磁盘所连接的存储控制器的名称。
    • <port_number>:磁盘所在控制器的端口号。
    • <device_number>:磁盘在该端口上的设备号。
    • <disk_type>:磁盘类型,如hdddvddrive

    示例命令:

    假设我们要从名为MyVM的虚拟机中卸载连接到SATA控制器第一个端口上的硬盘,可以执行:

    VBoxManage storageattach MyVM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium none
    

确保在执行此操作前,虚拟机处于关闭状态,否则VBoxManage将不允许你更改存储配置。

此命令会断开指定磁盘与虚拟机的连接,但不会删除磁盘文件本身。如果需要删除磁盘文件,请在成功卸载后,手动删除相应的磁盘映像文件。

posted @ 2024-05-18 22:17  立体风  阅读(563)  评论(0)    收藏  举报