cmd虚拟机常用命令有哪些?怎么用虚拟机指令操作?

Telnet命令:老设备和不支持SSH时的备选

有些老旧的网络设备虚拟机,或者临时调试环境,没装SSH只有Telnet,cmd里telnet默认是关闭的,需要你先去控制面板的“启用或关闭Windows功能”里勾选Telnet客户端。

启用后,连接方式很简单:

cmd命令视频教程
加载中
cmd命令视频教程
telnet 虚拟机IP 端口

比如连一台IP为192.168.1.50、端口23的虚拟机:

telnet 192.168.1.50 23

Telnet和SSH最大的区别是数据传输不加密,登录密码以明文方式发送,在公网环境下千万不要用,只有在隔离的内网或者实验室环境才考虑。

mstsc命令:远程桌面连接Windows虚拟机

如果你要操作的是Windows虚拟机,图形界面操作更顺手,cmd里输入mstsc回车就能打开远程桌面连接窗口,但更高效的方法是在命令里直接带上IP:

mstsc /v:192.168.1.200

这条命令会立刻弹出远程桌面窗口,并尝试连接192.168.1.200这台虚拟机,如果要指定分辨率、全屏等参数,还可以用:

mstsc /v:192.168.1.200 /w:1440 /h:900

/w和/h分别指定窗口宽度和高度,实际体验中,mstsc比SSH更适合不懂命令行的新手,而且Windows虚拟机自带远程桌面服务,基本开箱即用。

cmd管理本地虚拟机的命令:VMware和Hyper-V的命令行工具

VMware Workstation的vmrun命令

VMware用户经常遇到一个问题:虚拟机启动太慢,能不能用cmd直接控制?其实VMware自带了一个命令行工具vmrun,但默认不加入环境变量,你需要先找到它的路径,在多数版本里,vmrun位于:

C:Program Files (x86)VMwareVMware Workstationvmrun.exe

使用方法如下,启动虚拟机:

"C:Program Files (x86)VMwareVMware Workstationvmrun.exe" start "D:虚拟机Ubuntu.vmx"

关闭虚拟机(客户机内系统正常关机):

vmrun stop "D:虚拟机Ubuntu.vmx" soft

强制断电:

vmrun stop "D:虚拟机Ubuntu.vmx" hard

挂起虚拟机:

vmrun suspend "D:虚拟机Ubuntu.vmx"

如果你觉得每次输全路径太麻烦,可以在系统环境变量里将vmrun所在的目录加入Path,之后就能直接使用vmrun命令了,这个思路和Windows下配置Java环境变量是一样的原理。

Hyper-V的PowerShell命令

Windows自带的Hyper-V虚拟化平台,用cmd能管一部分,但很多操作其实要依赖PowerShell,不过你可以直接在cmd里启动powershell执行命令,比如查看虚拟机列表:

powershell -Command "Get-VM"

启动指定虚拟机:

powershell -Command "Start-VM -Name 'UbuntuServer'"

关闭虚拟机:

powershell -Command "Stop-VM -Name 'UbuntuServer'"

创建检查点(快照):

powershell -Command "Checkpoint-VM -Name 'UbuntuServer' -SnapshotName 'BeforeUpdate'"

cmd虚拟机常用命令有哪些?怎么用虚拟机指令操作?

这里有个实际场景:你在公司用Hyper-V跑着一台内部测试机,每天下班前想自动创建快照,用cmd的计划任务调用上述PowerShell命令,就能实现无人值守备份,比起在Hyper-V管理器里手动点鼠标,效率提升非常明显。

VirtualBox的VBoxManage命令

用VirtualBox的用户也别急,它的命令是VBoxManage,同样需要先找到安装目录,典型路径为:

C:Program FilesOracleVirtualBoxVBoxManage.exe

启动名为“CentOS8”的虚拟机:

VBoxManage startvm "CentOS8"

注意这个命令在VirtualBox 6.1以后,默认是以分离模式启动,后台运行不占用cmd窗口,关闭虚拟机:

VBoxManage controlvm "CentOS8" acpipowerbutton

强制关机:

VBoxManage controlvm "CentOS8" poweroff

查看所有虚拟机状态:

VBoxManage list runningvms

cmd虚拟机网络诊断指令:ping、tracert、nslookup怎么配合使用

虚拟机网络不通,是新手最头疼的问题,在cmd里,有一套固定的排查流程,我把它拆解开讲。

ping命令:先确认虚拟机是否能响应

ping 192.168.1.100

如果通了,会返回类似“来自192.168.1.100的回复: 字节=32 时间=1ms TTL=64”的信息,如果超时,先检查虚拟机网卡是不是处于桥接或NAT模式,然后再看防火墙是否拦截了ICMP请求,很多Linux虚拟机默认禁ping,这时你可以临时关闭防火墙测试:

iptables -F

或者Windows虚拟机里执行:

netsh advfirewall set allprofiles state off

但要记住,这只是测试手段,测完记得开回防火墙。

tracert命令:定位哪一跳断了

ping通了但访问慢,或者ping不通但虚拟机确实活着,用tracert追踪路径:

tracert 192.168.1.100

输出会显示从你本地到虚拟机经过的每一个路由器IP和延迟,如果某一跳出现“请求超时”,而下一跳又能通,那通常是中间路由器屏蔽了探测包,不一定是故障,如果一路到最后一跳都超时,大概率是虚拟机防火墙或网卡问题。

nslookup命令:排查域名解析故障

虚拟机里访问外网域名失败,先看DNS解析正不正常,在cmd里输入:

nslookup www.baidu.com

正常会返回域名对应的IP,如果提示“找不到主机”,换一个公共DNS测试:

nslookup www.baidu.com 223.5.5.5

这个命令能帮你快速区分是DNS问题还是网络连通问题,实际运维中,相当一部分“虚拟机无法上网”的案例,最后发现都是虚拟机内DNS被配置成了无效地址,而不是物理网络故障。

cmd批量操作虚拟机的进阶技巧:for循环和批处理

cmd虚拟机常用命令有哪些?怎么用虚拟机指令操作?

当你需要同时操作多台虚拟机时,一条一条敲命令太累,cmd支持for循环,结合ssh或者Hyper-V命令,能实现批量操作,比如批量ping多台虚拟机:

for /L %i in (1,1,10) do ping 192.168.1.%i -n 1 >> result.txt

这条命令会依次ping 192.168.1.1到192.168.1.10,并把结果写入result.txt文件,注意,在cmd窗口里直接输入用单百分号%,如果你把这段代码写入.bat批处理文件,需要改成双百分号%%。

再举个例子,批量启动Hyper-V虚拟机,先创建一个虚拟机列表文件vms.txt,每行一个虚拟机名称,然后写一个批处理脚本:

@echo off
for /f %%i in (vms.txt) do (
    powershell -Command "Start-VM -Name '%%i'"
)

执行后,cmd会逐行读取vms.txt,依次启动列出的虚拟机,这个脚本在实验室管理多台测试机时非常实用,配合计划任务还能实现定时批量开机。

用命令导出虚拟机列表保存到文件

管理多台虚拟机时,先把所有虚拟机名称和状态导出来,方便存档,Hyper-V环境下:

powershell -Command "Get-VM | Export-Csv -Path D:vminfo.csv"

VirtualBox环境下:

VBoxManage list vms > D:vms.txt

VMware环境下:

vmrun list > D:vmware_running.txt

这样生成的文件可以直接用Excel打开,或者配合批处理做后续操作。

cmd连接虚拟机时常见的五个坑及解决办法

连接超时,但虚拟机明明开机了

先确认虚拟机IP地址,在虚拟机内部执行ip addr(Linux)或ipconfig(Windows),查看实际IP,NAT模式下虚拟机的IP和主机不在同一网段是正常的,但host-only模式下如果IP配错,就会连接超时,解决办法是改用桥接模式,让虚拟机直接获取局域网IP。

SSH提示Permission denied

密码明明输入对了,却提示认证失败,多数情况是root用户默认禁止SSH登录,编辑虚拟机的/etc/ssh/sshd_config文件,找到PermitRootLogin,把值改成yes,然后重启SSH服务:

systemctl restart sshd

telnet命令不是内部或外部命令

前面提到了,Windows默认没装Telnet客户端,去控制面板程序启用或关闭Windows功能,勾选Telnet客户端,点确定后等待安装完成,重新打开cmd即可。

cmd无法运行vmrun

提示“vmrun不是内部或外部命令”,是因为没配环境变量,按Win+R输入sysdm.cpl打开系统属性,点击环境变量,在Path中添加VMware安装目录,保存后重新打开cmd。

mstsc连不上但网络通

虚拟机内Windows远程桌面服务没开启,右键此电脑属性远程桌面,选择“允许远程连接到此计算机”,同时确保防火墙允许远程桌面端口3389通过。

常用命令速查表

cmd虚拟机常用命令有哪些?怎么用虚拟机指令操作?

场景 命令 示例
SSH连接 ssh 用户@IP ssh root@192.168.1.100
Telnet连接 telnet IP 端口 telnet 192.168.1.50 23
远程桌面 mstsc /v:IP mstsc /v:192.168.1.200
启动VMware虚拟机 vmrun start 路径 vmrun start D:Ubuntu.vmx
查看Hyper-V虚拟机 powershell Get-VM powershell -Command “Get-VM”
启动VirtualBox虚拟机 VBoxManage startvm 名称 VBoxManage startvm “CentOS8”
测试连通性 ping IP ping 192.168.1.100
追踪路由 tracert IP tracert 192.168.1.100
解析域名 nslookup 域名 nslookup www.baidu.com
批量ping for /L %i in (1,1,10) do ping for /L %i in (1,1,10) do ping 192.168.1.%i

cmd虚拟机指令的适用场景与选择建议

我建议你根据实际需求选命令,如果只是临时连一下虚拟机敲两条命令,直接用ssh或telnet最省事;如果要给虚拟机做快照、调整硬件配置,用VMware的vmrun或Hyper-V的PowerShell更专业;如果你手头有多台虚拟机想一次性同时启动,批处理循环是效率最高的方案。

记住一个核心思路:cmd本身只是个外壳,真正干活的是虚拟机平台提供的命令行工具,以及SSH、远程桌面这类连接协议,把上面的命令练熟,你的Windows电脑就能像控制台一样调度所有虚拟机。

常见问题解答

怎么知道虚拟机当前有没有开机?

用对应的平台命令查询,VMware执行vmrun list会列出所有正在运行的虚拟机;Hyper-V执行powershell -Command "Get-VM | Where-Object {$_.State -eq 'Running'}";VirtualBox执行VBoxManage list runningvms,如果一条命令都记不住,最简单的办法是ping一下虚拟机IP,能通说明至少网络层面是活的。

cmd和PowerShell操作虚拟机有什么区别?

cmd偏传统批处理,适合直接调用外部工具如vmrun、VBoxManage以及ssh指令,脚本简单直观,PowerShell能直接调用Hyper-V管理模块,返回对象化数据,便于筛选、排序、导出,实际使用中,如果你的虚拟化平台是Hyper-V,建议直接用PowerShell;如果是VMware或VirtualBox,两者的差别不大,看个人习惯。

有没有不需要安装任何客户端就能连接虚拟机的方法?

有,win10和win11自带的OpenSSH客户端就能直接连虚拟机,前提是虚拟机里装好了SSH服务端,这个服务大多数Linux发行版默认已安装,Windows虚拟机也可以安装OpenSSH Server,然后你在cmd里执行ssh 用户名@虚拟机IP,体验和Linux完全一致,如果虚拟机是图形界面的Windows系统,mstsc远程桌面也是系统自带的,无需额外安装软件。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/615830.html

(0)
Java虚拟机在单核CPU上如何优化性能与资源,有哪些技巧?
上一篇 2026年9月1日 22:59
虚拟机怎么加载?加载流程、步骤及原理详解
下一篇 2026年9月1日 22:59

相关推荐

  • 为什么html不执行js?html页面中js代码不生效怎么解决

    HTML本身是静态标记语言,默认不执行JavaScript,必须通过标签引入或事件属性绑定,且浏览器需开启脚本支持并等待DOM解析完成后才会执行JS代码,很多刚接触前端开发的开发者都会遇到一个令人抓狂的现象:明明代码写得好好的,HTML页面加载后却没有任何反应,JavaScript仿佛“失踪”了,这通常不是浏览……

    2026年6月10日
    3710
  • ACS云原生到底有哪些好处?阿里云acs云原生优势详解

    阿里云原生通过屏蔽底层基础设施复杂性,实现应用与运维解耦,显著降低IT成本并提升业务弹性与开发效率,是企业数字化转型的核心加速器,为什么企业选择阿里云原生能降本增效过去,企业搭建IT环境需要购买服务器、配置网络、安装操作系统,这一过程耗时且昂贵,借助阿里云原生技术,这些底层细节被完全隐藏,开发者只需关注业务代码……

    2026年7月1日
    1300
  • 广州gpu服务器源代码怎么找,gpu服务器源码哪里下载

    广州地区的GPU服务器性能优化与部署效率,直接取决于底层源代码的配置质量与架构逻辑,核心结论在于:通过深度定制GPU服务器源代码,企业能够实现计算资源利用率提升40%以上,并显著降低集群运维成本, 这不仅是硬件堆砌的结果,更是软件定义算力的必然趋势,对于广州这片人工智能与数字经济高地而言,掌握源代码级的优化能力……

    2026年3月28日
    9300
  • html5手机网站制作教程怎么做?零基础快速搭建移动网页

    制作HTML5手机网站的核心在于采用响应式布局结合移动端优先的设计策略,确保页面在不同尺寸设备上均能流畅加载且交互友好,无需开发独立APP即可实现跨平台覆盖,绝大多数用户通过智能手机获取信息,传统PC端网站在移动端的体验往往大打折扣,构建一个高质量的HTML5手机网站,不仅是技术升级,更是获取自然流量、提升品牌……

    2026年6月7日
    4500
  • HTML文字发光特效怎么做?CSS文字发光代码

    HTML文字发光特效通过CSS的text-shadow属性或SVG滤镜实现,无需JavaScript即可在2026年的主流浏览器中获得流畅的动画性能与极高的视觉冲击力,在网页设计领域,文字不仅仅是信息的载体,更是视觉引导的核心,当用户浏览页面时,发光的文字能瞬间抓住眼球,提升点击率,许多开发者在寻找“css文字……

    2026年6月10日
    4500
  • html文字笔记怎么做?html文字笔记软件推荐

    HTML文字笔记并非简单的代码堆砌,而是通过语义化标签构建结构化内容,利用CSS实现视觉分层,最终在搜索引擎眼中形成高权重的知识图谱,这是获取2026年百度SEO高排名的核心逻辑,创作进入深水区后,单纯依靠关键词密度的时代早已过去,百度算法的演进方向明确指向了对“内容价值”和“用户体验”的深度解析,HTML文字……

    2026年6月12日
    2500
  • IDC机房能耗如何优化?数据中心PUE降低方法

    IDC机房能耗管理的核心在于从“被动冷却”转向“主动智能调控”,通过液冷技术、AI能效优化及余热回收三大抓手,可显著降低PUE值并实现运营成本的最小化,随着数据中心规模的指数级增长,电力消耗已成为制约行业发展的最大瓶颈,传统的粗放式管理已无法应对高密度算力带来的热挑战,业内专家指出,单纯依靠增加空调设备数量来降……

    2026年6月16日
    2300
  • 广州FPGA服务器传送很慢原因,FPGA服务器传输速度慢怎么解决

    广州FPGA服务器传送速度慢,核心症结往往不在于FPGA芯片本身的计算能力,而在于数据传输链路中的“I/O瓶颈”与“协议转换开销”,在大多数应用场景下,问题源于PCIe带宽受限、网络拓扑设计不合理、DMA引擎效率低下或时钟同步问题,导致海量数据在从FPGA逻辑单元传输至服务器内存或网络接口的过程中发生拥塞,解决……

    2026年3月31日
    9800
  • html图片加标题怎么操作?html图片加标题代码

    在HTML中为图片添加标题,最规范且利于SEO的方式是使用标签包裹,并配合标签,这比单纯使用alt属性更能被搜索引擎理解图片与内容的关联,图片不仅是网页的视觉点缀,更是传递信息和优化搜索排名的关键载体,很多站长在制作网页时,往往只关注图片的尺寸和加载速度,却忽略了标题的语义化标注,这种做法导致搜索引擎无法准确识……

    2026年6月12日
    6000
  • HTML怎么部署到云服务器?云服务器部署HTML详细教程

    将静态HTML部署到云服务器最稳定且低成本的方式是使用Nginx或Apache作为Web服务器,通过配置虚拟主机指向HTML文件目录,并利用CDN加速提升访问速度,整个过程无需复杂后端逻辑,适合个人博客、企业官网及落地页的快速上线,在2026年的互联网生态中,静态网页因其加载速度快、安全性高、维护成本低的特点……

    2026年6月5日
    4500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注