以前用过VMWare,编译内核驱动经常失败,只有VMWare-Server是免费的,但我的Feisty装VMWare出问题了,因此我就开始用Qemu,现在才发现Qemu这么好用,关键是,它属于我们开源社区。
Qemu作为开源虚拟机,安装简便,和Linux内核协作很好,安装Qemu加速器后性能也有了很大提升,完全不逊色
于其他商业软件,推荐大家使用Qemu。
Qemu虚拟机安装Windows
英文原文:
luther@gliethttp:~$ sudo apt-get install qemu 直接就可以自动安装
1.安装
代码:
sudo apt-get install qemu kernel-package linux-source kqemu-source build-essential
2.Qemu的二进制程序已经安装,但Qemu加速器安装的是源码,所以要加以编译代码:
cd /usr/src/linux
sudo module-assistant prepare kqemu
sudo module-assistant build kqemu
sudo module-assistant install kqemu
sudo depmod -a
3.载入kqemu模块代码:
sudo modprobe kqemu
sudo mknod /dev/kqemu c 250 0
sudo chmod 666 /dev/kqemu
4.创建Windows虚拟硬盘代码:
qemu-img create -f qcow windows.img 2G
(这里的2G大小可以自己设置,使用qcow文件格式,因此它根据用户使用而增大减小,但最大上限为2G)
5.从光驱安装Windows代码:
qemu -localtime -cdrom /dev/cdrom -m 384 -boot d windows.img
(同样也可以从硬盘镜像安装
代码:
qemu -localtime -cdrom cdimagefile.iso -m 384 -boot d windows.img
这里的-m 384是指定内存,384 MB是很好的XP最小内存
如果内存不够,可以这样
代码:
sudo umount /dev/shm
sudo mount -t tmpfs -o size=400m none /dev/shm
)
*64位用户请使用'qemu-system-x86_64'而不是'qemu',否则"-kernel-kqemu"不能启用.
*安装Windows 2000请加入参数'-win2k-hack'.
6.使用Ctrl + Alt 控制切换
Ctrl + Alt + F 全屏切换
7.保存配置每次启动qemu之前都要手动载入kqemu模,可以将那些命令写入/etc/rc.local,
这样系统启动就会运行这些命令
8.网络请参考
9.宿主和客系统之间的文件共享QEMU为你配置了一个虚拟局域网和DHCP服务器.
首先在宿主Ubuntu上配置好Samba,然后这样启动qemu
(这里假设你有个qemu_share文件夹)
代码:
qemu -smb $HOME/qemu_share -m 384 -localtime windows.img
在客系统Windows下,这样来访问共享文件
net use e: \\10.0.2.2\qemu_share
而且宿主Ubuntu的IP地址永远是10.0.2.2,因此如果你在宿主Ubuntu上运行了服务器,同样可以访问,比如
ftp:\\10.0.2.2,等等.
10.挂载虚拟硬盘,先要确保关闭qemu代码:
sudo mount -o loop,offset=32256 windows.img /mnt
11.保存和恢复虚拟机的状态当你安装好了一个虚拟机后,你可以在其上创建一个"叠加镜像",
代码:
qemu-img create -b windows.img -f qcow windows.ovl
现在你可以运行叠加镜像
代码:
qemu windows.ovl -enable-audio -user-net -localtime -smb qemu_share
叠加镜像非常小,只保存对原始镜像作出的改变,如果你想回到安装后的初始状态,
只需简单地删掉叠加镜像,然后创建一个新的.
12.运行QEMU命令当QEMU正在运行时,他还可以接受命令
在QEMU窗口按CTRL+ALT+2,会出想QEMU监视器,输入help可以看到你能做很多事情
退出请按CTRL+ALT+1
13.将raw格式的虚拟硬盘转换为qcow格式代码:
qemu-img convert windows.img -O qcow windows.qcow
14.故障解决如果你遇到鼠标始终挂在右下角,请在启动QEMU前运行
代码:
export SDL_VIDEO_X11_DGAMOUSE=0