后台运行VirtualBox虚拟机

2023-10-29

运行一个VirtualBox虚拟机最常见的方式是:

  1. 打开VirtualBox
  2. 点击对应的虚拟机来运行

使用这种传统方式运行的虚拟机通常都有一个前台界面,可以像操作本地电脑一样进行操作。但是Linuxer有时候更喜欢通过终端远程接入,而不是在虚拟机界面里点点画画。好在VirtualBox提供了这样一种后台运行虚拟机的方式,如下:

  1. 打开windows命令行cmd
  2. 进入到VirtualBox的安装目录,执行命令:VBoxManage.exe list vms
    这时候可以看到当前已经安装的虚拟机名称和uuid
  3. 执行命令:VBoxManage.exe startvm “xxxxxxxxxx” --type headless
    xxxxxxxxxx表示的是要启动的虚拟机的名称,headless表示不显示界面。

如果将以上所有的命令写入到.bat文件里,放置在桌面上,那么只需简单双击即可启动虚拟机,而且不显示virtualbox画面(但是会有bat运行时的黑框)。这时VirtualBox虚拟机作为一个后台进程在执行。由于不显示画面,所以不会出现VirtualBox增强工具导致的一系列问题,而且也节省了系统资源,将更多的资源用来计算而不是画面展示。
bat文件

@echo off
cd /d "E:\Program Files\VirtualBox"
VBoxManage.exe startvm "centos7" –-type headless 

其中 E:\Program Files\VirtualBox 是virtualBox安装目录。
但是这样的话每次运行 bat 还是会有个黑框一闪而过,总感觉不太舒服。那么可以写一个vbs脚本,在vbs脚本里运行bat,之后只要双击vbs脚本,就可以运行bat了,而且没有黑框。

vbs文件

set ws=createobject("wscript.shell")  
ws.run "C:\Users\Administrator\Desktop\startVirtualBox.bat",0

C:\Users\Administrator\Desktop\startVirtualBox.bat 是bat脚本的位置,0表示后台执行。

由于不显示画面,因此虚拟机应当实现配置好网络,开始sshd服务。这样虚拟机启动后直接通过putty登录即可。画风很简洁,非常Linux!

但是我最近这么做的时候,却出了问题
问题描述:按照上述的步骤,我在cmd里输入VBoxManage.exe startvm "centos7" –-type headless命令,确实是在后台启动了virtualbox,桌面上没什么反应。但是如果我把命令放到bat文件里,通过双击bat文件来执行,就会弹出virtualBox的运行画面来,就跟双击virtualBox图标一样,但是虚拟机确实是启动了。
这是为什么呢,明明在cmd里执行命令可以让virtualBox后台执行,但是放到bat里执行就会弹出运行框。百思不得其解,百度了也找不到解决办法,最后我只能大胆猜测:是不是在 bat 里执行的时候,后面的 --type headless参数没起作用。(毕竟linux确实是启动了)

解决办法:
把 bat 里面的命令 VBoxManage.exe startvm "centos7" –-type headless
改成 VBoxHeadless.exe --startvm "centos7", 再次运行 bat,这次没有弹出运行框了,解决!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

后台运行VirtualBox虚拟机 的相关文章

  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • Unix 中的访问时间是多少

    我想知道访问时间是多少 我在网上搜索但得到了相同的定义 读 被改变 我知道与touch我们可以改变它 谁能用一个例子来解释一下它是如何改变的 有没有办法在unix中获取创建日期 时间 stat结构 The stat 2 结构跟踪所有文件日期
  • 如何在 Linux 中向热敏打印机发送 ESC/POS 命令

    我正在尝试在热敏打印机上发送 ESC POS 命令 但每当我发送它们时 热敏打印机都会将它们打印为文本 而不是作为命令执行它们 我在 prn 文件中编写这些命令 每当我执行 lp 命令来打印文件时 这些 prn 文件也会被打印 但作为文本
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • Linux 中有没有一种轻量级的方法来获取当前进程数?

    我希望我的 基于 C C 的 程序显示一个数字指示器 指示本地系统上当前有多少个进程 将经常查询正在运行的进程数值 例如每秒一次 以更新我的显示 有没有一种轻量级的方法来获取该数字 显然我可以调用 ps ax wc l 但我不想强迫计算机生
  • 通过名称获取进程ID

    我想在 Linux 下获得一个给定其名称的进程 ID 有没有一种简单的方法可以做到这一点 我还没有在 C 上找到任何可以轻松使用的东西 如果追求 易于使用 char buf 512 FILE cmd pipe popen pidof s p
  • 如何使用 PyAudio 选择特定的输入设备

    通过 PyAudio 录制音频时 如何指定要使用的确切输入设备 我的电脑有两个麦克风 一个内置 一个通过 USB 我想使用 USB 麦克风进行录音 这流类 https people csail mit edu hubert pyaudio
  • 使用 .htaccess 启用 PHP 短标签

    我在自己的 Centos 服务器上设置了 Apache 并具有多个虚拟 Web 服务器 并且我希望仅为位于以下位置的其中一个 Web 服务器启用 PHP 短标记 var www ostickets html 我可以通过添加成功启用短标签sh
  • PHP mail() 函数不发送邮件

    我有一个小问题 我正在使用一个工作脚本 在我的测试帐户 共享服务器上工作 使用 mail 函数通过 PHP 发送邮件 我刚刚得到了一个专用服务器 但我还无法让该功能发挥作用 在过去的 10 个小时左右的时间里 我阅读了有关 BIND 用于
  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • 路由是否会影响具有绑定源地址的套接字?

    假设我有两个网络接口 eth0有地址10 0 0 1 eth1有地址192 168 0 1 Using route or ip route add我已将其设置为路由 所有地址至eth0 1 2 3 4只为了eth1 所以数据包到1 2 3
  • 如何从 Linux 命令行确定 LCD 显示器是否打开

    如何通过 Linux 命令行判断计算机的显示器是否打开 关闭 我传统上认为显示器是仅输出的设备 但我注意到 Gnome 显示器首选项对话框具有 检测显示器 功能 这可以推广到确定显示器是否物理关闭吗 VESA DDC 连接是I2C http
  • C# - OPC-UA 服务器应用程序尚未在 Linux 计算机中创建 PKI 证书

    当我跑步时OPC UA serverWindows 机器中的 C 应用程序 然后 OPC UA 服务器已创建证书路径C ProgramData OPC Foundation pki own 并在此路径中生成一些证书 但是当我在中安装 OPC
  • 为什么“script”命令会生成 ^[ 和 ^M 字符以及如何使用 vim 搜索和替换删除它们?

    在linux上 使用bash shell 当我使用script命令时 生成的文件称为typescript 当我用 vim 打开该文件时 每一行都包含 M字符 并且有几行 由于我的彩色命令提示符 包含一个字符 我想用任何东西替换这些字符 从而
  • 有没有办法只安装mysql客户端(Linux)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有不需要安装整个mysql db安装包的Linux mysql命令行工具 我想做的是从服务器 1 应用程序服务器 执行将在服务器 2
  • VSCODE 在 Linux 上不适用于我

    刚刚了解 VSCODE 很高兴尝试一下 我下载 解压并运行可执行文件 我得到 Code 2183 0429 201254 ERROR browser main loop cc 170 Running without the SUID san
  • SVN 不断提示我输入密码并拒绝缓存我的凭据

    环境 Eclipse Indigo Ubuntu 11 04 Subclipse 1 6 SVN 客户端 Subclipse RabbitVCS 我通过 svn ssh 连接 我的网址如下所示 svn ssh 我的名字 我的域名 路径 我可
  • 将 bash 脚本作为守护进程运行

    我有一个脚本 它每 X 次运行我的 PHP 脚本 bin bash while true do usr bin php f my script php echo Waiting sleep 3 done 我怎样才能将它作为守护进程启动 要从
  • 如何清理 Runtime.exec() 中使用的用户输入?

    我需要通过命令行调用自定义脚本 这些脚本需要很少的参数并在 Linux 机器上调用 当前版本容易出现各种shell注入 如何清理用户给出的参数 参数包括登录名和路径 Unix 或 Windows 路径 用户应该能够输入任何可能的路径 该路径

随机推荐

  • 音视频编码类型

    H264 格式介绍 avcc 前四个字节表示nalu的size 大端 Annex B 0x000001或者0x00000001开始码 nalu针对0x000000 0x000001 0x000002和0x000003插入0x03防竞争字节
  • IDEA导入Eclipse项目步骤详解

    IDEA导入Eclipse项目步骤详解 文章目录 IDEA导入Eclipse项目步骤详解 首先在idea里file gt new gt Project from Existing Sources 选中到要导入的项目 这里我选用创建新的 Cl
  • 情感分析概述

    情感分析主要研究观点挖掘 倾向性分析等 一 为什么需要观点挖掘和倾向性分析 文本信息主要包括两类 客观性事实 主观性观点 但是已有的文本分析方法主要侧重在客观性文本内容的分析和挖掘 二 什么是观点挖掘与倾向性分析 观点挖掘与倾向性分析就是从
  • Java多线程进阶(十九)—— J.U.C之synchronizer框架:CyclicBarrier

    本文首发于一世流云专栏 https segmentfault com blog 一 CyclicBarrier简介 CyclicBarrier是一个辅助同步器类 在JDK1 5时随着J U C一起引入 这个类的功能和我们之前介绍的Count
  • Jmeter录制脚本

    性能关注点 接口响应时间 50毫秒 1000毫秒 吞度量 10000万每天 tPs 每秒处理事务数 压测需求与业务操作步骤 压测对象 http news baidu com 压测页面 首页 国际频道 财经频道 步骤 访问首页 单击 国际频道
  • 测试用例的优先级

    刚接触软件测试 先熟悉一下测试用例的优先级的概念 有时会听到0级别case的说法 其实这是对具有一定优先级的测试用例的说法 在这际测试实践中 测试用例根据重要性分成一定的等级 在不通的公司 可能测试用例的等级划分有所差异 但是基本大同小异
  • 积分计算两条曲线围绕y坐标轴旋转形成的立体体积

    积分计算两条曲线围绕y坐标轴旋转形成的立体体积 和附录文章1类似 计算两条曲线y x 2和y 2x围绕y坐标轴形成的立方体体积 首先要计算积分的上限和下限 根据两者相交的点求出 0 4 外层大圆R y y 1 2 和内层小圆r y y 2的
  • 使用iptables进行入站流量过滤

    iptables是Linux内置的流量过滤工具 同时也是多种防火墙的底层实现 如fw3 在本次应用中 iptables通过丢弃不符合规则的数据包 使得未注册设备在DHCP获取ip阶段失败 无法连接到专用内网 保证系统安全 iptables使
  • 10年软件测试工程师感悟——写给还在迷茫中的朋友

    这两天和朋友谈到软件测试的发展 其实软件测试已经在不知不觉中发生了非常大的改变 前几年的软件测试行业还是一个风口 随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业 目前软件测试行业 缺口 已经基本饱和 当然 我说的是最基础的功能测试
  • QT之D指针

    什么是D指针 如果你已经看过到Qt源码 你会发现它经常使用Q D和Q Q 宏 本文介绍了这些宏的用途 该Q D和Q Q宏是一个设计模式的一部分被称为d 指针 也称为 不透明的指针 其中一个库的实现细节可以从它的用户 并转移到执行被隐藏 另外
  • LLVM每日谈之二 LLVM IR

    作者 snsn1984 在介绍LLVM IR之前 我们需要先了解下LLVM的结构 传统的静态编译器分为三个阶段 前端 优化和后端 LLVM的三阶段设计是这样的 这样做的优点是如果需要支持一种新的编程语言 那么我们只需要实现一种新的前端 如果
  • 0基础java入门:第二十五节.面向对象思想理解思路。

    0基础java入门 第二十五节 面向对象思想理解思路 本章需要时间和代码积累才能理解通透 不要着急 先来了解 敲上三年代码再回来看 面向对象是现在大部分编程语言中都会提及和使用到的一种思想方式 有人说很难理解 但个人觉得其实不难 因为面向对
  • element ui tabs 修改成hover触发点击

    Element UI tabs标签页 将点击选择改成鼠标指到就点击 类似hover 1 单个组件 在el tabs里添加个ref 删去el tab pane里的 name绑定 然后在mounted里添加代码 mounted this nex
  • f12获取网页文本_网页上的文字不能复制怎么办?有这5招轻松复制

    有时候我们需要一些辅助资料时 会经常使用搜索工具查坎相关网页文件 但遇到一些需要用到的段落却不能直接复制时 一个字一个字的敲肯定是不现实 有什么方法可以让其直接进行复制呢 方法1 打印网页 这种方式相对比较简单 而且电脑也不需要真的安装打印
  • 串行通信协议---HART协议

    实际应用中 HART协议是仅次于Modbus协议的最接近统一现场总线的标准 主要是在4 20mA电流信号上面叠加数字信号 物理层采用Bell 202标准的FSK技术成功实现模拟信号和数字信号双向同时通信而互不干扰 HART协议规定了传输的物
  • 怎么启用windwos无线网驱动

    重启windwos无线网驱动 说明 进入系统窗口 打开设备管理器 在设备管理器目录中找到网络适配器 找到 Realtek 8822BE Wireless LAN 802 11ac PCI ENIC 左键选中Realtek 8822BE Wi
  • 【QT5】tslib移植

    tslib全称应该是Touch Screen Library 也就是专门针对触摸屏创建的开源库 tslib的最新工程的github地址为 https github com libts tslib 感谢牛人的开源工程 clone下来 进入源码
  • 使用Visual Studio开发Linux程序

    首先我们使用visual studio创建项目 这里我使用的是visual studio 2022 visual studio 2019的也一样 如下创建项目即可 然后我们需要在visual studio中连接我们的Linux服务器 点击
  • 刷脸支付顺应时代各种优惠政策出现

    相比于人工合成的二维码扫码支付 刷脸支付采用的是生物信息识别技术 在安全性上后者要比前者高很多 刷脸支付自从出世以来就受到广大创业者 商家的关注 自从去年支付宝推出刷脸支付并在实体店投入运营 到今年刷脸支付得到快速的发展 微信也加入刷脸支付
  • 后台运行VirtualBox虚拟机

    运行一个VirtualBox虚拟机最常见的方式是 打开VirtualBox 点击对应的虚拟机来运行 使用这种传统方式运行的虚拟机通常都有一个前台界面 可以像操作本地电脑一样进行操作 但是Linuxer有时候更喜欢通过终端远程接入 而不是在虚