在 Ubuntu 桌面主机上,如何使用终端/完全无头安装和运行 Ubuntu Server guest 虚拟机vboxmanage
? (这意味着根本没有 GUI,甚至对于初始 Ubuntu 服务器设置也是如此)
我的目标是仅使用文本用户界面(TUI)来宾(运行命令,就像apt-get update
在来宾中一样),并使用共享文件夹来托管(将文件从来宾传输到主机)。
这是我到目前为止创建虚拟机 (VM) 并启动它的脚本:
vm_iso="ubuntu-server-20.04.iso"
vm_name="UbuntuServerTest"
vm_vdi="$HOME/virtualbox/${vm_name}.vdi"
curl -o "$vm_iso" "https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-live-server-amd64.iso"
vboxmanage createvm \
--ostype Ubuntu_64 \
--basefolder "$HOME/virtualbox" \
--register \
--name "$vm_name"
# VBoxManage showvminfo "$vm_name"
vboxmanage modifyvm "$vm_name" \
--memory 1024 \
--nic1 nat \
--vrde on --vrdeport 33890
vboxmanage createhd \
--filename "$vm_vdi" \
--format VDI --size 10240
vboxmanage storagectl "$vm_name" \
--name "SATA" \
--add sata
vboxmanage storageattach "$vm_name" \
--storagectl SATA --port 0 --type hdd \
--medium "$vm_vdi"
vboxmanage storageattach "$vm_name" \
--storagectl SATA --port 15 --type dvddrive \
--medium "$vm_iso"
vboxmanage startvm "$vm_name" --type headless
# vboxmanage sharedfolder add "$vm_name" --name shared --hostpath "shared_path" --automount
# vboxmanage controlvm "$vm_name" pause --type headless
# vboxmanage controlvm "$vm_name" resume --type headless
# vboxmanage controlvm "$vm_name" poweroff --type headless
虽然脚本使用 VirtualBox,但我对 QEMU 或其他软件没问题(只要我可以无头运行任意命令,无头地将文件从客户机传输到主机,并且内核是虚拟化的)。
答案1
在 QEMU 中:
除了基于纯文本的方法之外,另一种可能性是使用 VNC 服务器启动 QEMU。这是通过-vnc
QEMU 的命令行选项完成的。然后,您可以通过 ssh 代理或其他方式从另一台计算机连接到该 VNC 实例,并获得可以安装任何支持的操作系统的 GUI。
如果您只想使用文本控制台,那么选择将更加有限。不管你做什么,Ubuntu 安装 ISO 似乎都会尝试使用图形模式。不过,已弃用的 Ubuntu mini.iso 可能可以工作。 Debian 确实可以工作,我将展示如何使用它。
这假设您有可用的 Debian ISO 安装程序映像这里。
# create empty virtual hard drive
qemu-img create -f qcow2 debian.qcow2 16G
# start VM
qemu-system-x86_64 -machine accel=kvm -m 1G -nographic -hda debian.qcow2 -boot d -cdrom debian-11.2.0-amd64-netinst.iso
作为很快当它开始时,快速按ESC(或者 CTRL+C也有效),您应该会收到boot:
提示。然后键入install console=ttyS0
或使用附加 console=ttyS0 的其他引导选项之一(按可tab列出)。
根据您所需的设置修改 qemu 参数,包括磁盘配置/网络/等。
顺便说一句,您可以以类似的方式安装 OpenBSD(其他 BSD?)。在boot>
提示符处键入set tty com0
,然后按Return两次。
笔记:
-machine accel=kvm
如果不起作用,您可能需要将其删除- 它是
ttyS0
(字母“S”,而不是数字“5”) - 完成后
install
,用于CTRL+AX关闭 - 关机后,无需安装程序即可正常运行:
qemu-system-x86_64 -m 1G -nographic -hda debian.qcow2
- 要将文件从访客传输到主机,请遵循https://unix.stackexchange.com/a/196074