Ubuntu下使用Qemu安装Windows虚拟机
1.开发环境搭建
1.1 系统安装
系统镜像使用ubuntu-20.04.6-desktop-amd64.iso。
1.2 开启SSH
# 安装ssh-server
$ sudo apt install openssh-server
# 查看服务状态
$ sudo systemctl status ssh
# 如果服务没有启动,则启动服务
$ sudo systemctl start ssh
#配置防火墙
$ sudo ufw allow ssh
1.3 配置git, 拉取并编译Qemu源码
# 配置git全局用户名和邮箱
$ git config --global user.name zl
$ git config --global user.email zl.qq.com
# 安装依赖包
$ apt install build-essential git cmake pkg-config libz-dev \
libssl-dev libpciaccess-dev libudev-dev libvdpau-dev \
libgtk-3-dev libpixman-1-dev ninja-build make \
libsdl2-dev libgl1-mesa-dev libegl1-mesa-dev libgbm-dev libdrm-dev \
libcap-ng-dev libattr1-dev libusb-1.0-0-dev libfuse3-dev \
libslirp-dev libxenmisc4.11 libvirglrenderer-dev
# 拉取源码
$ git clone https://gitlab.com/qemu-project/qemu.git
$ cd qemu/
# 编译源码
$ mkdir build && cd build
$ ../configure --enable-trace-backends=simple --target-list=x86_64-softmmu --enable-virtfs
$ make -j8
# 编译完成在build目录下会有一个qemu-bundle的文件夹。
# 需要注意的是,这里面的全是软连接,拷贝的时候要指定-L符号。
$ cp -L qemu-bundle/ ~/Desktop
编译生成可执行文件qemu-system-x86_64。如果需要将编译的可执行文件拷贝带别的机器上运行,需要拷贝完整的qemu-bundle目录。因为qemu运行虚拟机时需要一些外部数据文件。
1.4 安装虚拟机系统
系统的运行依赖如下的包,需要安装如下的包。如果前面已经编译了,也就是已经安装了对应的包或者是dev版本,那么就不需要重新再去安装了。
$ sudo apt install libgtk-3-0 libgbm1 libfuse3-3 libsdl2-2.0-0 libslirp0 libusb-1.0-0 libvirglrenderer1
$ qemu-system-x86_64 -machine pc -cpu max -smp 8 -m 4096M \
-enable-kvm \
-device rtl8139,netdev=net0 \
-vnc :1,websocket=on \
-virtfs local,path=.,mount_tag=host_data,security_model=mapped,multidevs=remap,id=host_data \
-usb \
-device usb-tablet \
-vga std -drive file=disk.img,format=raw \
-cdrom windows.iso \
-display gtk \
-d guest_errors \
-no-reboot
此时会打开Qemu UI,进入Windows安装界面,按照正常步骤安装Windows即可。
使用如下的命令启动系统:
$ qemu-system-x86_64 -machine pc -cpu max -smp 8 -m 4096M \
-enable-kvm \
-device rtl8139,netdev=net0 \
-vnc :1,websocket=on \
-virtfs local,path=.,mount_tag=host_data,security_model=mapped,multidevs=remap,id=host_data \
-usb \
-device usb-tablet \
-vga std -drive file=disk.img,format=raw \
-cdrom windows.iso \
-display gtk \
-d guest_errors \
-no-reboot
- 原文作者:Binean
- 原文链接:https://bzhou830.github.io/post/20240201Qemu-DriverDev/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。