关键字:
QEMU、
Tips:
- 由于是使用反向代理 frp 内网穿透在无图形界面的Ubuntu 24.04 LTS主机,通过ssh安装QEMU,频繁出现掉线问题,所以使用Screen
apt-get install screen
root@atc:~# screen -v
Screen version 4.09.01 (GNU) 20-Aug-23
分离会话(即关闭终端但不中断命令):按下 Ctrl + A,然后再按下 D。 重新连接到会话:可以使用 screen -r 命令重新连接到之前分离的会话,继续查看命令的运行情况或进行交互
Simple build and test with KVM
screen -r
1、在无图形界面的Ubuntu 24.04 LTS主机,按照维基百科Hosts/Linux - QEMU安装QEMU。
1.1、内核6.8.0-41 升级到 6.8.0-44-generic
root@atc:~# uname -a
Linux atc 6.8.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Tue Aug 13 13:35:26 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
1.2、安装 required additional packages 和 Recommended additional packages
- git-email,用于发送补丁
- libsdl2-dev(libsdl2-devel),SDL 图形用户界面所需
- libgtk-3-dev(gtk3-devel),用于替代 VNC 的简单用户界面
- libvte-dev(vte291-devel),用于通过 GTK 界面访问 QEMU 监视器和串口/控制台设备
- libcapstone-dev(capstone-devel),用于反汇编 CPU 指令
1.3、编译安装qemu(Simple build and test with KVM)
git clone git://git.qemu-project.org/qemu.git
build with KVM
# Switch to the QEMU root directory
cd qemu
# Configure QEMU for x86_64 only - faster build
./configure --target-list=x86_64-softmmu --enable-debug
# Build in parallel - my system has 4 CPUs
make -j4
- “Run QEMU with KVM enabled (w/o VNC)”(无 VNC)和 “Run QEMU with KVM enabled (with VNC)”(有 VNC)的区别
- 图形显示方式
- 没有 VNC(Virtual Network Computing)时,QEMU 可能以文本模式或者在没有图形界面的情况下运行。这意味着用户无法通过图形界面直接观察和交互虚拟机的运行状态。可能更适合在服务器环境中运行,或者在不需要图形界面的自动化任务中使用。
- 启用 VNC 后,用户可以通过 VNC 客户端连接到虚拟机的图形界面,就像远程控制一台计算机一样。这使得用户可以直观地看到虚拟机的运行情况,进行各种操作,如安装软件、配置系统等。适用于需要图形界面进行交互的场景,如开发、测试或者需要可视化操作的任务。
- 远程访问能力
- 无 VNC:远程访问虚拟机可能比较困难,通常需要通过其他方式,如 SSH 连接到虚拟机并执行命令行操作,但无法直接看到图形界面。
- 有 VNC:可以通过 VNC 客户端从任何支持 VNC 的设备远程访问虚拟机的图形界面,提供了更大的灵活性和便利性。
- 复杂性和配置要求
- 无 VNC:配置相对简单,不需要设置 VNC 相关的参数,对于只需要命令行操作或者自动化任务的用户来说更加方便。
- 有 VNC:需要额外配置 VNC 服务器和客户端,包括设置 VNC 密码、端口号等参数。这增加了一定的复杂性,但也提供了更丰富的功能和交互性。
1.4、install a guest OS in a VM
# Create a disk for the VM
./qemu-img create -f qcow2 test.qcow2 16G
# Download an install ISO
# wget -c https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/38/Server/x86_64/iso/Fedora-Server-dvd-x86_64-38-1.6.iso
1.5、(w/o VNC:without VNC)没有 VNC(Virtual Network Computing)时,QEMU 可能以文本模式或者在没有图形界面的情况下运行。这意味着用户无法通过图形界面直接观察和交互虚拟机的运行状态。
在命令中添加-nographic参数来以非图形化模式运行 QEMU
./qemu-system-x86_64 -m 1024 -enable-kvm \
-drive if=virtio,file=test.qcow2,cache=none \
-cdrom Fedora-Server-dvd-x86_64-38-1.6.iso \
-nographic
- 提示“Booting from DVD/CD... Boot failed: Could not read from CDROM (code 0003)”,原因是Fedora-Server-dvd-x86_64-38-1.6.iso未下载成功。