• C:\Windows\System32\sysprep\sysprep.exe /oobe /generalize /shutdown
  • qemu-img create -f qcow2 disk.img 30G
  • alias mac="perl -e \"print(join(':', 'f6', map { sprintf '%02x', rand(256) } (1..5)), qq(\n));\""

qemu-img create -f qcow2 -o size=30G,preallocation=metadata disk.img
 
ls -lash disk.img
ls -las disk.img
qemu-img info disk.img
 
fallocate -l 30G disk.img
 
ls -lash disk.img
ls -las disk.img
qemu-img info disk.img
sudo kvm -vnc :1 -vga std -m 8G -drive file=disk.img,if=virtio,cache=writeback -boot c -net nic,model=virtio,name=br0,macaddr=f6:74:de:42:ea:28 -net tap -cpu host --usbdevice tablet -balloon virtio -enable-kvm -daemonize
qemu-system-x86_64 \
        -enable-kvm \
        -m 4096 \
        -drive file=win7-x64-virtio.qcow,if=virtio \
        -balloon virtio \
        -net nic,model=virtio -net user  \
        -usbdevice tablet \
        -soundhw ac97 \
        -smp cores=2,threads=4 \
        -cpu host \
        -rtc base=localtime,clock=host \
        -vga qxl \
        -device virtio-serial-pci \
        -spice port=5900,password=password_here \
        -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
        -chardev spicevmc,id=spicechannel0,name=vdagent
test -e hwaddr.eth0 || mac > hwaddr.eth0
kvm_id=$(next-kvm-id)
test -e vnc-display.* || printf "%02d" $kvm_id > vnc-display.$kvm_id
test -e monitor-port.* || printf "90%02d" $kvm_id > monitor-port.$kvm_id
sudo kvm \
	-vnc :$(cat vnc-display.*) \
	-vga std \
	-smp 2 \
	-m 6G \
	-drive file=disk.img,if=virtio,cache=writeback \
	-drive file=data.img,if=virtio,cache=writeback \
	-boot c \
	-balloon virtio \
	-serial mon:telnet::$(cat monitor-port.*),server,nowait \
	-option-rom /usr/share/kvm/pxe-rtl8139.bin \
	-net nic,model=virtio,name=eth0,macaddr=$(cat hwaddr.eth0) \
	-net tap \
	-usbdevice tablet \
	-daemonize
test -e hwaddr.eth0 || mac > hwaddr.eth0
test -e vnc-display.?? || (vnc=$(next-kvm-vnc-display); echo $vnc > vnc-display.$vnc)
sudo kvm \
	-vnc :$(cat vnc-display.??) \
	-vga std \
	-m 4G \
	-cdrom /images/Win_7_SP1_64BIT_English.ISO \
	-drive file=/images/virtio-win-0.1-100.iso,media=cdrom,index=3 \
	-drive file=disk.img,if=virtio,cache=writeback \
	-boot c \
	-net nic,model=virtio,name=eth0,macaddr=$(cat hwaddr.eth0) \
	-net tap