如何让Hyper-V中的CentOS 7虚拟机启动时直接进入全屏模式?
如何让Hyper-V中的CentOS 7虚拟机启动时直接进入全屏模式?
我来帮你搞定这个问题!Hyper-V确实没有直接的GUI设置能让虚拟机启动就自动全屏,但我们可以通过PowerShell脚本或者命令行组合的方式,实现启动虚拟机后自动切换到全屏模式,亲测有效:
方法一:编写PowerShell脚本实现自动化
- 确认你的虚拟机名称:打开Hyper-V管理器,找到你的CentOS 7虚拟机,记下它的名称(比如我这里叫
CentOS7-Workstation)。 - 创建PowerShell脚本:新建一个文本文件,把以下内容粘贴进去,记得把
你的VM名称替换成实际的虚拟机名称:# 启动目标虚拟机 Start-VM -Name "你的VM名称" # 等待虚拟机完成启动(时间根据你的VM启动速度调整,比如10秒) Start-Sleep -Seconds 10 # 连接到本地的虚拟机会话 vmconnect localhost "你的VM名称" # 等待会话窗口加载完成 Start-Sleep -Seconds 3 # 发送Alt+Enter快捷键切换到全屏模式 Add-Type -AssemblyName System.Windows.Forms [System.Windows.Forms.SendKeys]::SendWait("%{ENTER}") - 保存脚本:把文件后缀改成
.ps1,比如Start-CentOS-FullScreen.ps1。 - 设置PowerShell执行权限:打开PowerShell(以管理员身份),执行以下命令允许当前用户运行本地脚本:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 创建快捷方式:右键脚本文件,选择「创建快捷方式」,以后双击这个快捷方式就能自动启动虚拟机并进入全屏了。
方法二:直接修改快捷方式目标(无需单独脚本)
如果你不想单独存脚本,也可以直接创建一个快捷方式,把目标设置成以下命令(同样替换你的VM名称):
powershell.exe -Command "Start-VM -Name '你的VM名称'; Start-Sleep -Seconds 10; vmconnect localhost '你的VM名称'; Start-Sleep -Seconds 3; Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SendKeys]::SendWait('%{ENTER}')"
创建好快捷方式后,双击它就能实现同样的效果。
注意事项
- 调整脚本里的
Start-Sleep等待时间:如果你的虚拟机启动较慢,就把10秒改成更长的时间(比如15秒),确保虚拟机完全启动后再连接会话。 - 快捷键
Alt+Enter是Hyper-V默认的全屏切换快捷键,如果你修改过这个快捷键,需要把脚本里的%{ENTER}改成对应的按键组合(比如如果改成Ctrl+F,就写成^{F})。
备注:内容来源于stack exchange,提问作者SixDegrees
相关产品推荐
相关产品推荐

