diff --git a/Software/Applications/VirtualBox/命令行下使用_Virtualbox.md b/Software/Applications/VirtualBox/命令行下使用_Virtualbox.md index 97a6293..161908a 100644 --- a/Software/Applications/VirtualBox/命令行下使用_Virtualbox.md +++ b/Software/Applications/VirtualBox/命令行下使用_Virtualbox.md @@ -1,15 +1,76 @@ # 命令行下使用 Virtualbox +## 设置虚拟机 + +```sh +# 创建并注册虚拟机 +VBoxManage createvm --name --register +# 为虚拟机创建一个硬盘镜像 +VBoxManage createhd --filename --size +# 为虚拟机创建一个存储控制器 +VBoxManage storagectl --name --add ide|sata|scsi|floppy --controller LsiLogic|LSILogicSAS|BusLogic|IntelAhci|PIIX3|PIIX4|ICH6|I82078 --bootable on +# 添加网络连接功能 +VBoxManage modifyvm --nic1 nat --nictype1 82540EM --cableconnected1 on +# 添加音频功能 +VBoxManage modifyvm --vram 128 --accelerate3d on --audio alsa --audiocontroller ac97 +``` + +modifyvm 参数可控制的内容比较多,下表不完整的收集了一些信息: + +| VBoxManage modifyvm | Description | +|-------------------------|-------------| +| --name \ | 改变虚拟机的名称 | +| --ostype \ | 设置虚拟机从主机分配的内存大小,单位MB | +| --memory \ | 指定虚拟机中将运行的操作系统,使用VBoxManage list ostypes了解这里可用的各种标识符 | +| --vram \ | 指定虚拟显卡可以使用的显存大小 | +| --acpi on\|off | 相应地决定虚拟机是否支持ACPI和I/O APIC | +| --cpus \ | 为虚拟机设置虚拟CPU的个数 | +| --synthcpu on\|off | 决定VirtualBox是否为客户机提供合成CPU(synthetic CPU),以允许在显著不同的主机系统之间实时迁移 | +| --pae on\|off | 启用或禁用PAE | +| --hwvirtex on\|off\|default | 启用或禁用主机处理器的硬件虚拟化扩展(Intel VT-x或AMD-V) | +| --hwvirtexexcl on\|off | 启用或禁用VirtualBox对主机处理器硬件虚拟化扩展(Intel VT-x或AMD-V)的独占。如果想和其他管理器共享这些扩展,你必须禁用些选项。但这样做会有性能损失 | +| --nestedpaging on\|off | 如果启用硬件虚拟化,此附加选项启用或禁用主机系统处理器的nested paging功能 | +| --vtxvpid on\|off | 如果启用硬件虚拟化,此附加选项启用或禁用主机系统处理器的标签TLB(VPID)功能 | +| --accelerated3d on|off | 如果安装有客户机附件,决定硬件3D加速是否可用 | +| --snapshotfolder default\|\ | 指定虚拟机快照存放的目录 | +| --firmware efi\|bios | 指定虚拟机使用的启动固件,EFI或BIOS | + ## 查询和启动虚拟机 ```sh # 获取虚拟机列表 VBoxManage list vms +# 查看正在运行的虚拟机 +VBoxManage list runningvms # 开启虚拟机 -VBoxManage startvm --type +VBoxManage startvm | [--type gui|sdl|headless] +# 虚拟机状态控制 +VBoxManage controlvm | pause|resume|reset|poweroff|savestate|acpipowerbutton ``` -* type: +* --type: * gui,图形化界面 * sdl,图形化界面,但是没有菜单,常用于调试 * headless,在后台运行,默认开启 vrdp 服务,可通过 RDP 远程桌面连接 + +使用: + +```sh +VBoxManage | --type headless +``` + +与使用: + +```sh +VBoxHeadless --startvm | +``` + +命令效果是一样的。 + +## 关于 VNC 的一点说明 + +VNC 需要使用特别的 extension pack,而且目前 VNC 不被 Oracle 官方支持,只能从源码构建该 extension pack。 + +## 参考 + +[VBoxManage 命令行使用](https://www.cnblogs.com/luhouxiang/p/3275102.html)