virtualbox在命令行下用vboxmanage添加新磁盘
总体结构
磁盘控制器要挂接到系统上,磁盘要挂接到磁盘控制器上。
即 系统 <-- 控制器 <-- 磁盘
系统可以挂多个控制器,控制器也可挂多个磁盘。
所以要想创建一个新磁盘,分 3 步。创建磁盘,创建控制器并挂接到系统,挂接磁盘到控制器。
补充一下控制器类型和芯片类型。
控制器类型指系统总线通道,如sata ide等等。芯片类型是实现某控制器具体的芯片型号,如 ahci,nvme等等,在vboxmanage storagectl中分别给与2个参数来区别:
--add=<system-bus-type> 系统总线
Specifies the type of the system bus to which to connect the storage controller. Valid values are floppy, ide,
pcie, sas, sata, scsi, and usb.
--controller=<chipset-type> 芯片型号
Specifies the chipset type to emulate for the specified storage controller. Valid values are BusLogic, I82078,
ICH6, IntelAHCI, LSILogic, LSILogicSAS, NVMe, PIIX3, PIIX4, and USB.
The default value varies, according to the type of storage controller.
创建新磁盘
创建debian 12 虚拟机后,想添加一块新磁盘搞实验。于是,就搜了一下,看看如何添加,找到下面命令:
VBoxManage createhd --filename "C:\Users\<username>\VirtualBox VMs\<vm_name>\NewDisk.vdi" --size 20480
但是看vboxmanage的帮助好像没有这个命令。
VBoxManage help | findstr createhd
但是结果输出:一个createmedium
好像靠点边。
再次查看帮助:VBoxManage help createmedium
,原来 createhd 是以前老版本的名字。
根据帮助,设计了创建新磁盘的命令:
VBoxManage createmedium --filename disk01.vdi --size 10240
创建一个 10G 的新磁盘,默认格式是vdi,其他的要用 --format 指定。
指定磁盘控制器
磁盘要挂接到某类型的磁盘控制器上,帮助文档列举了控制器类型:
--add=<system-bus-type>
Specifies the type of the system bus to which to connect the storage controller. Valid values are floppy, ide,
pcie, sas, sata, scsi, and usb.
由于我是挂接第 2 块磁盘,故已经存在 sata 控制器了,没有的要创建一个控制器,有了就不用了。
挂接到控制器
VBoxManage.exe storageattach "Only" --storagectl "SATA" --port 1 --type hdd --medium "D:\vms\VirtualBox\OnlyConsole\Only\two.vdi"