Command-Line

基於終端(非 GUI)的虛擬電腦程序?

  • January 29, 2018

是否有任何基於終端(即非 GUI)的虛擬電腦程序?我一直在使用 VirtualBox 和 QEMU 之類的程序,但它們顯然是基於 GUI 的……

我希望有一個可以做所有事情的虛擬 PC 程序 - 創建一個新的虛擬機,創建它的磁碟,安裝作業系統(假設基於文本的安裝程序可用)並在終端上啟動 VM(從而將主機的外殼替換為VM 的啟動消息、登錄提示和 shell)-來自虛擬終端/xterm-window/ssh/screen-session,而不是在 X 下的視窗中。

我問的原因是,我在工作中經常使用 ssh 連接到我家的電腦,而對於 X 或 VNC,網路太慢了。我仍然想修補虛擬機…

qemu/kvm中,只有將影片卡附加到 VM 並且不將其公開為 SPICE/VNC 時,才會獲得 GUI。

例如,您可以執行 ( zshsyntax, 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。

假設您在 VM 中執行 Linux,然後您可以更新其 grub 配置以在串列上顯示並使用串列控制台啟動核心,然後您可以直接啟動映像磁碟而無需該 grub.img。

要訪問 qemu “監視器”,請鍵入Ctrl-A``c(您可以在其中添加/刪除設備…)。

您可以將serial埠作為 unix 域或 TCP 套接字,而不是stdio如果您也喜歡。qemu“監視器”界面也是如此。

現在,如果您有sgabios.bin韌體,並且您的 VM 不使用圖形(僅 VGA BIOS 文本輸出),您也可以只使用以下-curses選項:

kvm -hda yourdisk -curses

VGA 控制台隨即顯示在您的終端中。如果您需要訪問 qemu 監視器,請按Alt-2

引用自:https://unix.stackexchange.com/questions/76977