是否有基于终端(即非 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 套接字。 stdio
qemu“监视器”接口也是如此。
现在,如果您有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 连接并执行您想要的任何操作。