Termux中Qemu虚拟机无法联网,Limbo却正常,求其内部调用命令
解决Termux中Qemu虚拟机联网问题的方案
一、提取Limbo内部调用的Qemu命令
- 打开Termux终端,执行
ps -ef | grep qemu命令,然后启动Limbo并运行目标虚拟机,此时就能在终端输出里看到Limbo实际调用的完整Qemu命令行。 - 部分旧版Limbo支持日志输出功能,可在Limbo设置中开启日志,直接从日志内容里提取Qemu启动命令。
二、针对当前场景的命令修正建议
对比你现用的命令,Limbo的user网络模式通常会补充DNS配置或端口转发参数,你可以尝试修改命令如下:
qemu-system-x86_64 -smp 2 -usb -device usb-ehci,id=ehci -device usb-tablet,bus=usb-bus.0 -m 4G -vnc 127.0.0.1:12 -hda /sdcard/Limbo/deb12/Debian_12.0.0_VBM_LinuxVMImages.COM.vdi -netdev user,id=vmnic0,dns=8.8.8.8 -device e1000,netdev=vmnic0
- 新增的
dns=8.8.8.8指定公共DNS服务器,避免Termux环境下的DNS解析异常 - 若需要SSH连接虚拟机,可额外添加端口转发参数:
hostfwd=tcp::2222-:22,修改后命令如下:
qemu-system-x86_64 -smp 2 -usb -device usb-ehci,id=ehci -device usb-tablet,bus=usb-bus.0 -m 4G -vnc 127.0.0.1:12 -hda /sdcard/Limbo/deb12/Debian_12.0.0_VBM_LinuxVMImages.COM.vdi -netdev user,id=vmnic0,dns=8.8.8.8,hostfwd=tcp::2222-:22 -device e1000,netdev=vmnic0
三、额外排查方向
- 确认手机设置中已开启Termux的网络访问权限
- 尝试更换网卡设备,比如将
e1000替换为virtio-net-pci,部分系统对virtio网卡兼容性更好:
qemu-system-x86_64 -smp 2 -usb -device usb-ehci,id=ehci -device usb-tablet,bus=usb-bus.0 -m 4G -vnc 127.0.0.1:12 -hda /sdcard/Limbo/deb12/Debian_12.0.0_VBM_LinuxVMImages.COM.vdi -netdev user,id=vmnic0,dns=8.8.8.8 -device virtio-net-pci,netdev=vmnic0
内容的提问来源于stack exchange,提问作者Awwaad
相关产品推荐
相关产品推荐

