基于终端(非 GUI)的虚拟计算机程序?

基于终端(非 GUI)的虚拟计算机程序?

是否有基于终端(即非 GUI)的虚拟计算机程序?我一直在使用 VirtualBox 和 QEMU 等程序,但它们显然是基于 GUI 的......

我希望有一个虚拟 PC 程序,我可以在其中做所有事情 - 创建一个新的虚拟机,创建它的磁盘,安装操作系统(假设有基于文本的安装程序可用)并在终端上启动虚拟机(从而用VM 的启动消息、登录提示符和 shell) - 来自虚拟终端/xterm-window/ssh/screen-session,而不是在 X 下的窗口中。

我问的原因是,我在工作中经常使用 ssh 连接到我的家庭计算机,而网络对于 X 或 VNC 来说太慢了。不过我还是想修补虚拟机......

答案1

qemu/中kvm,只有将视频卡附加到 VM 并且不将其公开为 SPICE/VNC 时,您才会获得 GUI。

例如,您可以执行 (zsh语法, with grub2):

grub-mkimage -O i386-pc -c =(print -l serial 'terminal_input serial' \
 'terminal_output serial' 
 ) -o grub.img configfile biosdisk part_msdos part_gpt ext2 \
   linux test serial halt minicmd cat

并使用以下命令启动您的虚拟机:

kvm -kernel grub.img -hda yourdisk.img -nographic

根据grub提示,从磁盘加载内核,传递console=ttyS0... 选项或您正在引导的系统上的等效选项,以使控制台处于串行状态。请记住在串行线上也添加一个 getty。

假设您在虚拟机中运行 Linux,则可以更新其 grub 配置以在串行上显示并使用串行控制台启动内核,然后可以直接启动映像磁盘而无需 grub.img。

要访问 qemu“监视器”,请键入Ctrl-Ac(您可以在其中添加/删除设备...)。

如果您愿意,也可以将serial端口作为 unix 域或 TCP 套接字。 stdioqemu“监视器”接口也是如此。

现在,如果您有sgabios.bin固件,并且您的虚拟机不使用图形(仅 VGA BIOS 文本输出),您也可以使用以下-curses选项:

kvm -hda yourdisk -curses

然后 VGA 控制台将显示在您的终端中。如果您需要访问 qemu 监视器,请按Alt-2

答案2

虚拟盒子从终端控制,通过VBox管理。 VirtualBox GUI 只是一个替代的图形客户端。

答案3

VirtualBox 无需 GUI 即可完美运行。我在服务器端经常使用它。 VirtualBox GUI 只是一个解耦良好的便捷客户端工具。您可以仅使用控制台命令创建和配置 VirtualBox 机器(几乎与 GUI 一样容易 - 那里没有什么难学/理解的,没有新概念和命令(VBoxManage)参数参考和示例很容易通过谷歌搜索),附加操作系统 CD 或预构建的虚拟硬盘驱动器映像,该映像将引导并启动 SSH 服务器,然后使用 SSH 连接并执行您想要的任何操作。

相关内容