WinXP:
#!/bin/bash name=winxp qemu-system-x86_64 -enable-kvm -cpu host -smp 2,sockets=2,cores=1,threads=1 -m 4096 -net user -drive file=./WinXP.img,if=none,cache=writeback,id=${name}_disk -device ide-hd,drive=${name}_disk -drive file=./WinXP.iso,readonly=on,media=cdrom -boot order=cd -name ${name} -display gtk
一、管理 images
1、创建
qemu-img create -f raw -o size=10G,nocow=on base.raw #nocow 用于关闭 btrfs 的写时复制,仅对新创建的文件生效
2、扩容
qemu-img resize base.raw +20G
3、查询信息
qemu-img info base.raw
4、转换格式
qemu-img convert -c -O qcow2 base.raw base.qcow2
5、增量创建
qemu-img create -f qcow2 -o size=20G,nocow=on,backing_file=base.qcow2 linux.qcow2 #批量运行时减少磁盘占用
6、重改基础镜像
qemu-img rebase [-u] -b /PATH/TO/xxx.qcow2 linux.qcow2 # -u 指 unsafe 模式,无需检验,通常用于基础镜像移动位置或重命名之后
二、管理 snapshot
1、创建
qemu-img snapshot -c v0.1_snapshot linux.qcow2
2、查询
qemu-img snapshot -l linux.qcow2
3、应用
qemu-img snapshot -a v0.1_snapshot linux.qcow2
4、删除
qemu-img snapshot -d v0.1_snapshot linux.qcow2
三、热拔插
# 首先需要客户机载入:modprobe pci_hotplug
# 然后在 monitor 中操作
drive_add 0 media=disk,file=/PATH/TO/xxx.qcow2,if=none,id=vd0 #添加到 Qemu
device_add virtio-blk-pci,drive=vd0 #插入到客户机
drive_del tmp_0 #移除
四、Gentoo
/etc/portage/package.use/qemu:
vhost-net -nls -iscsi -nfs -opengl -jpeg -png -usb -usbredir -curl -selinux -spice -ncurses -sdl -gtk -xen -alsa -bluetooth
五、示例
init.sh:
1 #!/usr/bin/env sh 2 # 3 # 0、目录结构:conf、images、ISOs 4 # 1、安装镜像存放于"../ISOs"路径下,命名格式:FreeBSD.iso 5 # 2、配置好每个OS的基础镜像,置于"../images"路径下,命名格式:FreeBSD_base.img 6 # 7 8 if [[ $1 == '' ]];then 9 VmNum=1 10 printf "