I'm shipping my project via qemu static build and a Linux VM. My project uses port 4848 for server configuration and port 8080 for HTTP (tools) and ephermal ports (49152+) for spawned sub-projects that use p2p websockets.

Note that the qemu binary is the qemu-system-... binary from Linux and the qemu.exe on windows, all statically compiled.

On Linux, I'm starting everything with this command. It works like a charm as expected:

./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"

On my Windows XP VM (in VirtualBox), this command here works fine without issues once you have approved the Firewall popup, but it seems to not work on 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"

I found out that there might be an issue with the NE2000 network card driver on Windows, which I read here: http://www.h7.dion.ne.jp/~qemu-win/HowToNetwork-en.html

When trying to bootup qemu.exe directly without the -redir stuff and the flags "-net nic,model=rtl8139 -net user", it boots up properly.

But when I start to add the -redir flags on Windows8, it crashes and not even shows a single message in the cmd / Terminal.

Question

How to properly redir ports of a VM guest to a Windows 8 host with qemu.exe in CMD?