Skip to content

Instantly share code, notes, and snippets.

@swarren
Created July 24, 2018 18:24
Show Gist options
  • Save swarren/a69ecad67760c7ce58e45555d9f7311a to your computer and use it in GitHub Desktop.
Save swarren/a69ecad67760c7ce58e45555d9f7311a to your computer and use it in GitHub Desktop.
Script to start qemu/kvm to run Windows 10 within Ubuntu 16.04
#!/bin/bash
cd `dirname $0`
echo -ne "\033]0;Win10 VM Terminal\007"
tapdev=tap1
sudo tunctl -u swarren -t ${tapdev}
sudo ifconfig ${tapdev} up
sudo brctl addif br0 ${tapdev}
#disk=win10.img
disk=/dev/vg_swarren_lx1/lv_windows10
#disk=/dev/mapper/vg_swarren_lx1-lv_windows10
extra=
# CD-ROM boot:
#extra="-boot d"
#extra="${extra} -drive file=/home/swarren/shared/archive/Windows/15063.0.170317-1834.RS2_RELEASE_CLIENTENTERPRISE_VOL_X64FRE_EN-US.ISO,media=cdrom"
#extra="${extra} -drive file=/home/swarren/shared/archive/Windows/virtio-win-0.1.126.iso,media=cdrom"
# PXE boot:
#extra="${extra} -boot n"
#extra="${extra} -option-rom /usr/share/qemu/pxe-virtio.rom"
while true; do
echo STARTING VM
sudo chown swarren:swarren ${disk}
date
qemu-system-x86_64 \
-name Win10 \
-no-quit \
-no-reboot \
-m $((4 * 1024)) \
-enable-kvm \
-cpu host \
-smp 4 \
-pflash OVMF-win10.fd \
-rtc base=utc \
-drive if=virtio,index=0,format=raw,file=${disk} \
-vga qxl \
-net nic,model=virtio,macaddr=XX:XX:XX:XX:XX:XX \
-net tap,ifname=${tapdev},script=,downscript= \
-soundhw hda \
${extra}
date
echo SLEEPING FOR CTRL-C IF NEEDED
sleep 10
done
sudo tunctl -d ${tapdev}
echo VM exited - press enter to quit wrapper script
read
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment