Manually use KVM to run a Windows
·97 字
我一开始以为所有KVM都可以这样玩,后来发现只有母鸡才有vmx指令集。没指令集没法用kvm加速,虚拟机会非常慢。
环境:KS4C Ubuntu 16.04
首先使用livecd启动archlinux,并DD Windows
执行
egrep -c '(svm|vmx)' /proc/cpuinfo
结果必须大于等于1,否则不支持开小鸡。
首先安装kvm,qemu和vnc
apt install qemu qemu-kvm vnc4server -y
切换到数据盘,创建一个大小为50G的磁盘文件
cd /home
qemu-img create -f qcow2 win.img 50G
下载DD所需的ArchLinux
wget http://archlinux.de-labrusse.fr/iso/2017.01.01/archlinux-2017.01.01-dual.iso
vm.sh
#!/bin/sh
export QEMU_AUDIO_DRV=alsa
DISKIMG=win.img
WIN7IMG=archlinux-2017.01.01-dual.iso
qemu-system-x86_64 --enable-kvm -drive file=${DISKIMG},if=virtio -m 2048 -realtime mlock=off \
-net nic,model=virtio -net user -cdrom ${WIN7IMG} \
-rtc base=localtime,clock=host -smp cores=2,threads=1 \
-usbdevice tablet -soundhw ac97 -cpu host -vga cirrus \
-redir tcp:3389::3389
将上面这段代码保存为vm.sh,chmod +x
然后扔到服务器上,具体的镜像名称根据实际情况更改。
启动VNCServer
vncserver
会要求输入两次密码,然后使用VNC-Viewer等客户端连接至VNC
在vnc的shell里切换到数据目录,执行./vm.sh
,稍等片刻,VNC会进入ArchLinux的安装界面。
选择第一项Boot Arch Linux(x86_64)
,即进入shell。
关键步骤:DD
wget -O- http://soft.91yun.org/ISO/Windows/online_dd/windows2008.R2.raw | dd of=/dev/vda
整段必须一字不差 不能先wget再dd,否则空间不够。
dd完毕后reboot
重启即可进入Windows。
用户名:administrator
密码:Changeme!!!
记得改密码,然后就可以mstsc远程了。IP为服务器IP,端口3389。
参考资料: