虚拟机基本命令是管理和操作虚拟机的核心工具,涵盖了从启动、关闭到网络配置、磁盘管理等各个方面,这些命令通常通过虚拟化平台(如 VMware、VirtualBox、KVM 等)的命令行界面或管理终端执行,熟练掌握它们能够高效地完成虚拟机的日常运维任务,以下将详细介绍常用的虚拟机基本命令及其应用场景。

在虚拟机的生命周期管理中,启动和关闭命令是最基础的操作,以 VMware 为例,通过 vmrun start [虚拟机路径] [gui/nogui]
命令可以启动虚拟机,gui
参数表示图形界面启动,nogui
则以无界面后台模式运行,适合服务器场景,关闭虚拟机时,可使用 vmrun stop [虚拟机路径] [hard/soft]
,soft
会通过虚拟机内部系统正常关机,而 hard
则强制切断电源,仅当系统无响应时使用,对于 VirtualBox,VBoxManage startvm [虚拟机名称] --type [headless/gui]
用于启动,VBoxManage controlvm [虚拟机名称] acpipowerbutton
则模拟短按电源键触发软关机。vmrun suspend [虚拟机路径] [hard/soft]
或 VBoxManage controlvm [虚拟机名称] savestate
可实现虚拟机的暂停与状态保存,方便后续快速恢复。
虚拟机的快照管理是数据备份和测试环境回滚的关键,通过 vmrun snapshot [虚拟机路径] [快照名称]
命令可为当前虚拟机状态创建快照,记录磁盘文件和内存信息,当需要恢复时,执行 vmrun revertToSnapshot [虚拟机路径] [快照名称]
即可一键还原,VirtualBox 中对应的命令为 VBoxManage snapshot [虚拟机名称] take [快照名称]
和 VBoxManage snapshot [虚拟机名称] restore [快照名称]
,快照的删除则使用 vmrun deleteSnapshot [虚拟机路径] [快照名称]
或 VBoxManage snapshot [虚拟机名称] delete [快照名称]
,需注意删除快照会释放磁盘空间,但可能合并磁盘文件,耗时较长。
网络配置命令用于调整虚拟机的网络模式,如桥接、NAT 或仅主机模式,在 VMware 中,vmrun setNetworkAdapter [虚拟机路径] [网卡编号] [网络模式]
可动态修改网络适配器设置,例如将网络模式改为 bridged
(桥接)或 nat
,VirtualBox 则通过 VBoxManage modifyvm [虚拟机名称] --nictype [网卡编号] [网卡类型]
设置网卡类型(如 Am79C973
或 82540EM
),再用 VBoxManage modifyvm [虚拟机名称] --cableconnected[网卡编号] on/off
控制网线连接状态,网络连通性测试可通过 vmrun checkToolsState [虚拟机路径]
查看虚拟机工具是否正常运行,确保网络命令能生效。
磁盘管理与文件操作命令涉及虚拟机硬盘的扩容、挂载及文件传输,使用 vmrun listDisks [虚拟机路径]
可查看虚拟机当前挂载的磁盘文件,而 vmvmcreateDiskFile [虚拟机路径] [磁盘大小] [磁盘类型]
可创建新的虚拟磁盘,对于磁盘扩容,需先通过 VBoxManage modifyhd [磁盘路径] --resize [新大小(MB)]
调整磁盘容量,再进入虚拟机内部使用分区工具(如 fdisk
或 diskpart
)扩展分区,文件传输方面,vmrun copyFileFromHostToGuest [虚拟机路径] [主机路径] [虚拟机路径]
可将主机文件复制到虚拟机,反向传输则使用 vmrun copyFileFromGuestToHost
,VirtualBox 还支持 VBoxManage guestcontrol [虚拟机名称] --username [用户名] --password [密码] run [命令]
在虚拟机内部执行命令,实现远程管理。

虚拟机资源监控命令能实时查看 CPU、内存等使用情况,在 VMware 中,vmrun queryRegisteredVM
列出所有已注册虚拟机,vmrun getGuestInfo [虚拟机路径]
获取虚拟机内部系统信息(如 IP 地址)。VBoxManage metrics query [虚拟机名称] [CPU/内存指标]
可查看具体的性能数据,CPU/Load/User
表示用户态 CPU 使用率,对于批量管理,可通过脚本结合 for
循环遍历虚拟机列表,执行统一命令,如批量启动或关闭虚拟机。
以下是虚拟机基本命令的总结表格:
操作类别 | VMware 命令示例 | VirtualBox 命令示例 | 功能说明 |
---|---|---|---|
启动虚拟机 | vmrun start [路径] nogui |
VBoxManage startvm [名称] --type headless |
无界面启动虚拟机 |
关闭虚拟机 | vmrun stop [路径] soft |
VBoxManage controlvm [名称] acpipowerbutton |
软关机,正常关闭系统 |
创建快照 | vmrun snapshot [路径] [快照名] |
VBoxManage snapshot [名称] take [快照名] |
保存当前虚拟机状态 |
恢复快照 | vmrun revertToSnapshot [路径] [快照名] |
VBoxManage snapshot [名称] restore [快照名] |
还原虚拟机到指定快照 |
修改网络模式 | vmrun setNetworkAdapter [路径] 0 bridged |
VBoxManage modifyvm [名称] --nictype1 82545EM |
设置网卡类型或模式 |
磁盘扩容 | (需先关闭虚拟机) | VBoxManage modifyhd [磁盘路径] --resize 51200 |
调整虚拟磁盘容量(MB) |
文件复制到虚拟机 | vmrun copyFileFromHostToGuest [路径] |
VBoxManage guestcontrol [名称] copyto [路径] |
主机到虚拟机的文件传输 |
相关问答FAQs:
Q1: 虚拟机快照过多会影响性能吗?如何优化?
A1: 是的,快照过多会导致磁盘碎片化,降低虚拟机读写性能,且占用大量存储空间,优化方法包括:定期删除不需要的快照;合并快照(如 VMware 的 vmrun consolidateSnapshots
);重要操作后仅保留关键快照;避免在生产环境频繁创建快照,改用备份工具。

Q2: 如何在虚拟机无网络情况下传输文件?
A2: 可通过以下方式实现:① 使用共享文件夹功能(如 VMware 的 “拖放” 或 VirtualBox 的 “共享目录”);② 通过 ISO 挂载,将文件刻录为虚拟光盘后挂载到虚拟机;③ 使用物理介质(如 U 盘)通过主机与虚拟机的 USB 直连功能传输;④ 若虚拟机已安装 SSH 或 FTP 服务,可通过主机与虚拟机的桥接网络直连传输。