我通过qemu static build和Linux VM运送我的项目。我的项目使用端口4848进行服务器配置,将端口8080用于HTTP(工具)和端口端口(49152+),用于生成使用p2p websockets的子项目。
请注意,qemu二进制文件是来自Linux的 qemu-system -... 二进制文件和Windows上的qemu.exe,都是静态编译的。
在Linux上,我用这个命令开始一切。它就像预期的魅力一样:
./qemu -curses \
-kernel ../vmlinuz \
-initrd ../root.gz \
-L ./ \
-redir tcp:4848::4848 \
-redir tcp:8080::8080 \
-redir tcp:49152::49152 \
-redir tcp:49153::49153 \
-redir tcp:49154::49154 \
-redir tcp:49155::49155 \
-redir tcp:49156::49156 \
-redir tcp:49157::49157 \
-redir tcp:49158::49158 \
-redir tcp:49159::49159 \
-redir tcp:49160::49160 \
-redir tcp:49161::49161 \
-redir tcp:49162::49162 \
-append "quiet autologin loglevel=3"
在我的Windows XP VM上(在VirtualBox中),一旦批准了防火墙弹出窗口,此命令就可以正常运行但没有问题,但它似乎在Windows 8上不起作用:
start qemu.exe -kernel ..\vmlinuz -initrd ..\root.gz -L ./ -redir tcp:4848::4848 -redir tcp:8080::8080 -redir tcp:49152::49152 -redir tcp:49153::49153 -redir tcp:49154::49154 -redir tcp:49155::49155 -redir tcp:49156::49156 -redir tcp:49157::49157 -redir tcp:49158::49158 -redir tcp:49159::49159 -redir tcp:49160::49160 -redir tcp:49161::49161 -redir tcp:49162::49162 -append "quiet autologin loglevel=3"
我发现Windows上的NE2000网卡驱动程序可能存在问题,我在此处阅读:http://www.h7.dion.ne.jp/~qemu-win/HowToNetwork-en.html
当尝试直接启动qemu.exe而没有-redir东西和标志“-net nic,model = rtl8139 -net user”时,它会正常启动。
但是当我开始在Windows8上添加-redir标志时,它崩溃了,甚至在cmd / Terminal中都没有显示单个消息。
问题
如何在CMD中使用qemu.exe正确地将VM guest虚拟机的端口重定向到Windows 8主机?