用qemu新建虚拟机的核心流程就三步:装软件、建磁盘映像、用qemu-system命令启动。本文按新手视角把每一步拆开讲,从安装依赖到图形界面配置全都有具体命令和操作路径,看完就能自己动手跑起来。
qemu创建虚拟机命令行步骤
新手用qemu最常踩的坑是搞不清命令行参数和图形界面的关系,QEMU本身是个命令行工具,没有像VirtualBox那样的一键新建按钮,它在Linux上通过qemu-system-x86_64命令配合参数启动虚拟机,图形界面(VNC、SPICE)只是启动后的显示方式,不是管理界面,下面先讲最直接的命令路线,这也是多数服务器环境的通用做法。
第一步:装好qemu和必要依赖
安装前先确认系统里有没有现成的qemu包,Debian/Ubuntu系用apt,Red Hat系用dnf,命令如下:
sudo apt update && sudo apt install qemu-system-x86 qemu-utils
sudo dnf install qemu-system-x86-core qemu-img
装完验证一下版本,能输出版本号就说明装好了,输不出就检查下软件源或者换装qemu-system-x86这个包名,除了qemu本体,还需要libvirt这类虚拟化库来管理网络和存储,这是创建虚拟机的底层基础,建议一并装上:
sudo apt install libvirt-daemon-system libvirt-clients bridge-utils
装完记得把当前用户加进libvirt和kvm用户组,否则操作socket会遇到权限拒绝,加完要重新登录会话才能生效。
第二步:下载系统镜像并创建磁盘映像
创建虚拟机之前得先有操作系统安装源,去Ubuntu官网下载一个Desktop版ISO镜像(文件名类似ubuntu-24.04-desktop-amd64.iso),或者下载云镜像(qcow2格式,省去安装过程)。
终端里跑到想存虚拟机文件的工作目录,用qemu自带的磁盘工具建虚拟硬盘,qemu-img命令是这步的主角,它决定磁盘格式、容量和存储策略,
qemu-img create -f qcow2 myvm.qcow2 30G
这里指定了格式为qcow2,容量30G,qcow2格式的好处是镜像文件不会一下占满30G,而按实际使用的空间逐渐增长,需要的时候也能做快照,如果追求极致性能不差磁盘空间,也可以用raw格式:
qemu-img create -f raw myvm_raw.img 20G
raw格式性能略好但占满全部空间,两者取舍看实际需求,日常学习和测试用qcow2就够,要跑性能敏感的业务场景才考虑raw。
第三步:启动虚拟机并连接图形界面
磁盘文件备好后,用qemu-system-x86_64命令把ISO和磁盘串起来启动,新手做测试时推荐先用默认参数跑起来,
qemu-system-x86_64 -m 2048 -smp 2 -hda myvm.qcow2 -cdrom ubuntu-24.04-desktop-amd64.iso -boot d
参数意思为:分配2GB内存(-m),2个CPU核心(-smp),从磁盘myvm.qcow2启动(-hda),把ISO挂到光驱(-cdrom),并优先从光盘引导安装系统(-boot d)。
没有图形界面的无头服务器上跑的话,上面这种直接在终端弹窗口的方式可能不适用,要加VNC参数远程连过去看画面,代码变这样:
qemu-system-x86_64 -m 2048 -smp 2 -hda myvm.qcow2 -cdrom ubuntu-24.04-desktop-amd64.iso -vnc :1
然后在另一台机器上用VNC客户端连IP:5901,就能看到虚拟机屏幕了,第一次引导从光驱走,装完系统再调整启动顺序从磁盘启动。
qemu安装windows虚拟机教程
Linux主机上跑Windows虚拟机是qemu的常见诉求,比Linux虚拟机多一些步骤,主要在固件选择、驱动和启动参数上。
硬件配置的取舍逻辑
Windows系统要比Linux吃配置,建虚拟机时给出下限资源,否则安装过程卡成PPT,行业共识认为,装Windows 10或11,分配4GB内存打底、2核CPU起步,磁盘空间建议留足60G以上,如果主机内存紧张,用qcow2格式磁盘加上KSM内存合并技术,能在一定程度上缓解内存开销。
图像输出和网络配置比Linux场景更讲究
Windows没有virtio驱动的话,默认IDE磁盘控制器效率低,安装起来又慢又容易卡,建议启动时给Windows虚拟机挂一个virtio磁盘,提示加-drive file=mywin.qcow2,if=virtio参数,virtio在磁盘和网络性能上的提升是实打实的,没有虚拟化特殊需求就尽量别用IDE模拟,Windows虚拟机图形输出用VNC时,界面会有点卡顿感,改用SPICE协议会顺滑不少,add -spice port=5901,addr=127.0.0.1,disable-ticketing就能把SPICE开起来,如果想开GPU加速,还能把主机的GPU直通进去,但这是高阶玩法,新手先跳过免得绕远路。

安装Windows的ISO镜像从微软官网下载,创建磁盘和启动的命令组合类似Linux流程,只是默认参数要按上面调,装完系统之后给虚拟机打驱动,别忘了用virtio-win驱动包的ISO挂载到虚拟机里装上,操作系统的磁盘和网卡才能正常工作,这一步是不能省的。
qemu虚拟机无法启动时的排查思路
跑qemu命令报错弹不出来窗口,多数情况是资源或权限问题,按下面清单先自查。
权限与KVM加速的常见坑
输入kvm-ok命令查看KVM加速是否开启,如果提示/dev/kvm不存在,说明BIOS里没开虚拟化功能(Intel VT-x或AMD-V),开机进BIOS把它打开,命令行带上-enable-kvm参数让虚拟机走硬件加速,不加的话qemu会用纯软件模拟,速度慢得多还容易超时出错。
另一类是权限问题,qemu操作/dev/kvm设备报Permission denied时,是当前用户没权限读写这个设备节点,解决办法是把用户加进kvm组、libvirt组,然后把socket权限放开,操作完重新登录或干脆重启一次会话。
启动时报错的常用命令排查
用qemu-system-x86_64前先检查磁盘文件路径是否正确,启动后看输出日志,常见的No bootable device提示多半是光盘引导顺序没写对或者磁盘里没装系统。
一个实用的排查技巧是,先用最小命令集启动虚拟机,比如只指内存和磁盘,不加网卡和声卡等附加设备,确认基础能跑起来,再逐个加上去的参数,这样定位问题快很多,不至于一堆参数搅在一起分不清是哪条报的错。
qemu的性能优化和日常使用建议
虚拟机的效率高低既看硬件底子,也看参数调优方式,下面几条是新手容易上手又不折腾的优化方向。
实用的参数优化方向
qemu对CPU和内存的优化参数里,最直接用到的两个是-cpu host(让虚拟机使用与主机相同的CPU特性集)和-no-shutdown(保留虚拟机状态便于快速暂停恢复),网络方面默认的参数其实够用,不用太折腾。
磁盘IO去向是另一个提升点,把qcow2磁盘映像改成raw格式能省掉一层格式转换开销,再把缓存模式设为

-drive cache=writeback,在部分场景下I/O性能会有一点提升,据统计,多数生产环境用raw格式的主要原因是看重它低延迟的特性,qcow2的压缩和快照功能反而很少在性能敏感场景里用上。
备份与快照成为习惯
qemu虚拟机文件是个大文件,新手总忘记备份,qcow2格式天然支持快照,创建快照的命令简单,状态恢复也快,强烈建议在做任何系统改动之前打一个快照。
qemu-img snapshot -c before_upgrade myvm.qcow2
qemu-img snapshot -l myvm.qcow2
qemu-img snapshot -a before_upgrade myvm.qcow2
日常使用中还值得注意的一点是,不用虚拟机时建议用virsh shutdown优雅关机,避免直接kill掉qemu进程,否则磁盘映像可能产生不一致状态,下次启动时qemu会做自检,慢的时候挺闹心的。
qemu常见问题答疑
qemu和VirtualBox哪个更适合新手?
两者定位不同,VirtualBox有完整图形化管理界面,新建虚拟机到安装系统一套操作点鼠标就能完成,适合纯桌面场景,qemu的优势在于命令行灵活、跨架构支持更广,能和libvirt、KVM深度结合,适合服务器环境和自动化管理,新手如果只是想在Windows上跑个Linux,VirtualBox上手轻松些,如果是在Linux上折腾虚拟机还要学习虚拟化实现,qemu值得投入时间。
安装虚拟机时镜像、磁盘和ISO文件放在哪里合适?
没有硬性规定,但建议把ISO镜像放在单独目录,避免和虚拟磁盘混在一起,常见的做法是在home目录下建一个vm文件夹,里面再按虚拟机名分子目录,路径里不要有中文和空格,qemu命令行解析起来少出故障,对于磁盘文件,不建议放在系统盘根目录,因为qcow2文件会逐渐膨胀,放在有充足空间的数据分区稳妥。
为什么qemu启动时特别慢,响应也不流畅?
多数情况下是主机没开启硬件虚拟化,或者命令里没加-enable-kvm参数,导致qemu走纯软件模拟指令,性能要打很大折扣,先确认/dev/kvm设备存在,再检查启动命令里有没有带上KVM加速参数,另外内存分配不足也会造成卡顿,Windows虚拟机给低于2GB内存会明显卡顿,加到4GB会顺畅一些。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/914728.html


评论列表(3条)
读了这篇文章,我深有感触。作者对系用的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
@甜饼6602:读了这篇文章,我深有感触。作者对系用的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
读了这篇文章,我深有感触。作者对系用的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!