Qemu使用手册 快速启动 在我们下载并解压linux镜像(linux.img)以后,我们可以输入下面的命令来启动: qemu linux.img 这样Linux就会启动并会展示给我们一个提示. 调用 用法:qemu [option] [disk_image] disk_image是代表IDE的硬盘的硬盘镜像. 一般选项: -M machine 选择模拟的机器(我们可以输入-M?提到一个模拟的机器列表) -fda file -fdb file 使用file作为软盘镜像.我们也可以通过将/dev/fd0作为文件名来使用主机软盘. -hda file -hdb file -hdc file -hdd file 使用file作为硬盘0,1,2,3的镜像. -cdrom file 使用文件作为CD-ROM镜像(但是我们不可以同时使用'-hdc'和'-cdrom').我们可以通过使用'/dev/cdrom'作为文件名来使用主机的CD-ROM. -boot [a|c|d] 由软盘(a),硬盘(c)或是CD-ROM(d).在默认的情况下由硬盘启动. -snapshot 写入临时文件而不是写入磁盘镜像文件.在这样的情况下,并没有写回我们所使用的磁盘镜像文件.然而我们却可以通过按下C-a s来强制写回磁盘镜像文件. -m megs 设置虚拟内存尺寸为megs M字节.在默认的情况下为128M. -smp n 模拟一个有n个CPU的SMP系统.为PC机为目标,最多可以支持255个CPU. -nographic 在通常情况下,Qemu使用SDL来显示VGA输出.使用这个选项,我们可以禁止所有的图形输出,这样Qemu只是一个简单的命令行程序.模拟的串口将会重定向到命令行.所以,我们仍然可以在Qemu平台上使用串口命令来调试Linux内核. -k language 使用键盘布局语言(例如fr为法语).这个选项只有在不易得到PC键盘的情况下使用.我们在PC/Linux或是PC/Windows主机不需要使用这个选项.可用的布局如下: ar de-ch es fo fr-ca hu ja mk no pt-br sv da en-gb et fr fr-ch is lt nl pl ru th de en-us fi fr-be hr it lv nl-be pt sl tr 默认的为en-us -audio-help 这个选项将会显示声音子系统的帮助:驱动列表以及可调用的参数. -soundhw card1,card2 .... or -soundhw all 允许声音并选择声音硬件.使用?可以列出所有可用的声音硬件 qemu -soundhw sb16,adlib hda qemu -soundhw es1370 hda qemu -soundhw all hda qemu -soundhw ? -localtime 设置时钟为本地时间(默认为UTC时间).如果在MS-DOS或是Windows上这个选项则需要正确的日期. -full-screen 以全屏方式启动. -pidfile file 在file文件中存许Qemu的进程PID.如果我们是由脚本启动的,这个选项是相当有用的. -win2k-hack 当安装Windows 2000时可以使用这个选项来避免磁盘错误.在安装上Windows 2000系统,我们就不再需要这个选项(这个选项降低IDE的传输速度). USB选项: -usb 允许USB驱动(很快就将成为默认的选项) -usbdevice devname 添加USB设备名.我们可以查看监视器命令usb_add来得到更为详细的信息. 网络选项: -net nic[,vlan=n][,macaddr=addr] 创建一个新的网卡并与VLAN n(在默认的情况下n=0)进行连接.在PC机上,NIC当前为NE2000.作为可选项的项目,MAC地址可以进行改变.如果没有指定-net选项,则会创建一个单一的NIC. -net user[,vlan=n] 使用用户模式网络堆栈,这样就不需要管理员权限来运行.如果没有指定-net选项,这将是默认的情况. -net tap[,vlan=n][,fd=h][,ifname=name][,script=file] 将TAP网络接口name与VLAN n进行连接,并使用网络配置脚本file进行配置.默认的网络配置脚本为/etc/qemu-ifup.如果没有指定name,OS将会自动指定一个.fd=h可以用来指定一个已经打开的TAP主机接口的句柄.例如: qemu linux.img -net nic -net tap 下面的是一个更为复杂的例子(两个NIC,每一个连接到一个TAP设备): qemu linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \ -net nic,vlan=1 -net tap,vlan=1,ifname=tap1 -net socket[,vlan=n][,fd=h][,listen=[host]:port][,connect=host:port] 使 用TCP socket 将VLAN n与远程的另一个Qemu虚拟机的VLAN进行连接.如果指定了listen,Qemu将在port端口监听连入请求(host是可选的), connect可以用来使用listen选项与另一个Qemu实例进行连接.fd=h指定了一个已经打开的TCP socket.例如: # launch a first QEMU instance qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net socket,listen=:1234 # connect the VLAN 0 of this instance to the VLAN 0 of the first instance qemu linux.img -net nic,macaddr=52:54:00:12:34:57 -net socket,connect=127.0.0.1:1234 -net socket[,vlan=n][,fd=h][,mcast=maddr:port] 创建一个VLAN n,并使用UDP 多址通信套掊口与其他的QEMU虚拟机进行共享,尤其是对于每一个使用多址通信地址和端口的QEMU使用同一个总线. 在这里我们要注意以下几点: 1 几个QEMU可以运行在不同的主机上但却使用同一个总线(在这里假设为这些主机设置了正确的多址通信) 2 mcast支持是与用户模式Linux相兼容的. 3 使用fd=h指定一个已经打开的UDP 多址通信套接口. 例如: # launch one QEMU instance qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net socket,mcast=230.0.0.1:1234 # launch another QEMU instance on same "bus" qemu linux.img -net nic,macaddr=52:54:00:12:34:57 -net socket,mcast=230.0.0.1:1234 # launch yet another QEMU instance on same "bus" qemu linux.img -net nic,macaddr=52:54:00:12:34:58 -net socket,mcast=230.0.0.1:1234 下面的为用户模式Linux的例子: # launch QEMU instance (note mcast address selected is UML's default) qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net socket,mcast=239.192.168.1:1102 # launch UML /path/to/linux ubd0=/path/to/root_fs eth0=mcast
-net none 表明没有网络设备需要进行配置.如果没有指定-net选项,则会用来覆盖活跃的默认配置.
-tftp prefix 当 使用用户模式网络堆栈,激活一个内置的TFTP服务器.所有的以prefix开始的文件将会使用一个TFTP客户端从主机下载到本地.在本地的TFTP客 户端必须以二进制模式进行配置(使用Unix的TFTP客户端的bin命令).在客户机上的主机IP地址如通常的10.0.2.2. -smb dir 当使用用户模式的网络堆栈,激活一个内建的SMB服务器,这样Windows系统就可以透明的访问主机的dir目录中的文件.在客户机的Windows系统中,下面的行: 10.0.2.4 smbserver 必 须添加在文件C:\WINDOWS\LMHOSTS' (for windows 9x/Me)或者是C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS(Windows NT/2000).然后可以用\\smbserver\qemu的方式访问dir.在这里我们要注就是在主机系统中必须安有SAMBA服务器. -redir [tcp|udp]:host-port:[guest-host]:guest-port 当 使用用户模式网格栈,将连接到主机端口host-port的TCP或是UDP连接重定向到客户机端口guest-port上。如果没有指定客户机端口,他 的值为10.0.2.15(由内建的DHCP服务器指定默认地址)。例如:要重定向从screen 1到客户机screen 0的X11连接,我们可以使用下面的方法: # on the host qemu -redir tcp:6001::6000 [...] # this host xterm should open in the guest X11 server xterm -display :1
To redirect telnet connections from host port 5555 to telnet port on the guest, use the following:
# on the host qemu -redir tcp:5555::23 [...] telnet localhost 5555 然后当我们在主机telnet localhost 5555上使用时,我们连接到了客户机的telnet服务器上。 Linux启动相关: 当我们使用这些选项时,我们可以使用一个指定的内核,而没有将他安装在磁盘镜像中。这对于简单的测试各种内核是相当有用的。 `-kernel bzImage' 使用bzImage作为内核映像。 `-append cmdline' 使用cmdline作为内核的命令行。 -initrd file' 使用file作为初始的ram磁盘。 调试选项: `-serial dev' 重定向虚拟串到主机的设备dev。可用的设备如下: vc 虚拟终端 pty (Linux)伪TTY(自动分配一个新的TTY) null 空设备 /dev/XXX (Linux)使用主机的tty。例如,‘/dev/ttyS0‘。主机的串口参数通过模拟进行设置。 /dev/parportN (Linux)使用主机的并口N。当前只可以使用SPP的并口特征。 file:filename 将输出写入到文件filename中。没有字符可读。 stdio (Unix)标准输入/输出 pipe:filename (Unix)有名管道filename 在图形模式下的默认设备为vc,而在非图形模式下为stdio.这个选项可以被多次使用,最多可以模拟4个串口。 '-parallel dev' 重定向虚拟并口到主机的设备dev(与串口相同的设备)。在Linux主机上,`/dev/parportN'可以被用来使用与相应的并口相连的硬件设备。这个选项可以使用多次,最多可以模拟3个并口。 `-monitor dev' 重定向临视器到主机的设备dev(与串口相同的设备)。在图形模式下的默认设备为vc,而在非图形模式下为stdio。 ‘-s’ 等待gdb连接到端口1234. `-p port' 改变gdb连接端口。 `-S' 在启动时并不启动CPU(我们必须在监视器中输入‘c‘) ’-d‘ 输出日志到/tmp/qemu.log `-hdachs c,h,s,[,t]' 强 制硬盘0的物理参数(1 <= c <= 16383, 1 <= h <= 16, 1 <= s <= 63),并且可以选择强制BIOS的转换模式(t=none, lba or auto).通常QEMU可以检测这些参数.这个选项对于老的MS-DOS磁盘映像是相当有用的. `-std-vga' 模拟一个Bochs VBE扩展的标准VGA显卡(默认情况下为Cirrus Logic GD5446 PCI VGA) `-loadvm file' 从一个保存状态启动. 组合键 在图形模拟时,我们可以使用下面的这些组合键: Ctrl-Alt-f 全屏 Ctrl-Alt-n 切换虚拟终端'n'.标准的终端映射如下: 1 目标系统显示 2 临视器 3 串口 Ctrl-Alt 抓取鼠标和键盘 在虚拟控制台中,我们可以使用Ctrl-Up, Ctrl-Down, Ctrl-PageUp 和 Ctrl-PageDown在屏幕中进行移动. 在模拟时,如果我们使用`-nographic'选项,我们可以使用Ctrl-a h来得到终端命令: Ctrl-a h 打印帮助信息 Ctrl-a x 退出模拟 Ctrl-a s 将磁盘信息保存入文件(如果为-snapshot) Ctrl-a b 发出中断 Ctrl-a c 在控制台与监视器进行切换 Ctrl-a Ctrl-a 发送Ctrl-a 磁盘映像 从0.6.1起,QEMU支持多种磁盘映像格式,包括增长的磁盘映像,压缩与加密的磁盘映像. 我们可以用下面的命令来创建一个磁盘映像: qemu-img create myimage.img mysize 这里myimage.img是磁盘映像的文件名,而mysize是以K表示的尺寸.我们可以使用M前缀来使用M表示尺寸或是G作为前缀使用G表示尺寸. qemu-img的调用方法: 方法:qemu-img command [command options] 可以支持下面的一些命令: `create [-e] [-b base_image] [-f fmt] filename [size]' `commit [-f fmt] filename' `convert [-c] [-e] [-f fmt] filename [-O output_fmt] output_filename' `info [-f fmt] filename 命令参数 filename 磁盘映像文件名. base_image 只读的磁盘映像,可以作为拷贝到写映像的基础.写映像上的拷贝只存储修改的数据. fmt 磁盘映像格式.在大多数情况下可以自动检测.可以支持下面的格式: raw raw 磁盘格式(默认).这种格式有简单并且易于移植到其他模拟器的优点.如果我们的文件系统支持holes(例如在Linux上的ext2或是ext3),然 后只有写入的部分保持空白.使用qemu-img info来得到映像使用的实际的大小或是在Unix/Linux上使用 ls -ls. qcow QEMU映像格式.最通用的格式.使用他可以获得较小的映像(如果我们的文件系统不支持holes,例如在Windows上,这是相当有用的),可以选用AES加密或是基于zlib的压缩. cow 在写映像格式上的用户模式的Linux拷贝.在QEMU中作为增长的映像格式使用.这个选项只是为了与以前版本的兼容,并不能在Win32上使用. vmdk VMware 3 或是 4 兼容的映像格式. cloop Linux压缩的循环映像,重用直接压缩的CD-ROM映像. size 以K表示的磁盘映像的尺寸.同时可以支持M或是G作为前缀. output_filename 目的磁盘映像文件名 output_fmt 目标格式 -c 表明目标映像必须是压缩的(只是qcow格式) -e 表明目标映像必须是加密的(只是qcow格式)
|
相关推荐
5. **配置QEMU**:使用QEMU的命令行工具,指定NFS服务器的IP地址、导出的目录以及U-boot和Linux内核的位置。例如: ``` qemu-system-arm -m 512M -nographic -kernel u-boot.bin -append "root=/dev/nfs ip=dhcp ...
QEMU 的安装非常简单,只需要从官方网站下载最新的版本,然后按照指令安装即可。对于 Linux 系统,可以使用包管理器来安装 QEMU。 QEMU 的基本概念 QEMU 提供了两个主要的组件:qemu-system-* 和 qemu-img。qemu-...
1. **Usermode Stack (用户模式堆栈)**:在QEMU进程中实现了一个简易的协议栈,负责在虚拟机VLAN和外部网络之间转发数据。这种方式类似于NAT,外部网络无法主动访问虚拟机。虚拟机VLAN中的网络接口只能位于10.0.2.0/...
值得注意的是,在Windows环境下使用QEMU时,还可以通过特定的命令来使用实体光盘,如`-cdrom`参数后面直接跟上光盘的盘符或路径,这样就可以直接使用物理光盘中的安装文件进行操作系统安装。 总之,QEMU作为一款...
### 在Windows XP下使用QEMU虚拟机实战指南 在IT技术快速发展的今天,虚拟化技术已成为软件开发、测试以及IT教育的重要工具。其中,QEMU作为一款开源的虚拟机平台,因其灵活性和广泛的兼容性而备受青睐。本文将详细...
- ACPI Power Management Timer:ACPI主板上的简单计数器,3.58 MHz,适合在某些情况下替代TSC。 3. Timer in OS 操作系统中的Timer管理硬件Timer并为上层软件提供服务。例如,Linux系统中的hrtimer(High ...
例如,要启动一个简单的Linux虚拟机,可以使用`qemu-system-x86_64 -hda ubuntu.iso`命令,其中`ubuntu.iso`是Ubuntu的ISO镜像文件。 7. **配置网络**:QEMU支持多种网络模型,如用户模式网络(NAT)、桥接网络等。...
QEMU(Quick Emulator)是一个开源的机器模拟器,它通过使用动态二进制翻译技术来提高性能。它支持两种主要的运行模式:全系统模拟和用户态模拟。 1. **全系统模拟**:在此模式下,QEMU不仅模拟目标CPU架构,还能...
最后,通过 `make` 和 `make install` 来完成安装,并通过运行一个简单的测试程序来验证 QEMU 是否能正常启动。 接下来,我们需要交叉编译工具链,这里使用的是 arm-linux-gcc-4.3.2。解压缩后将其移动到 `/usr/...
**aqemu:官方AQEMU存储库 - 使用QEMU作为后端的虚拟机GUI** aqemu是一款基于Qt C++开发的图形用户界面(GUI)工具,它利用强大的开源虚拟化软件QEMU作为其后端,为用户提供了一种更直观、易用的方式来管理虚拟机。...
6. 测试QEMU:你可以通过运行一个简单的虚拟机,如Linux镜像,来测试QEMU是否成功安装和配置。 五、QEMU的应用场景 QEMU广泛应用于软件开发、测试、云服务提供商以及个人爱好者。开发者可以利用QEMU在不同架构之间...
易语言是中国开发的一款简单易学的编程语言,旨在降低编程技术门槛,而QEMU则是一款开源的全系统虚拟化软件,可以模拟多种计算机硬件,用于运行不同的操作系统。 【描述解析】 描述中的"易语言源码控制qemu虚拟机....
在使用 QEMU 时,`linux.img` 首先需要挂载到 QEMU 的虚拟硬盘上,通过命令行参数指定。例如,一个基本的启动命令可能是这样的: ```bash qemu-system-x86_64 -hda linux.img -boot c ``` 这里 `-hda` 参数指定了...
- 在QEMU中使用选项时,不再需要使用双破折号“--”,而是改为使用**单破折号“-”**作为所有选项的前缀。这一变化简化了用户输入命令的方式,提高了易用性。 #### 三、安装指南 - 安装过程非常简单: - **解压...
Qemu-1.0 Windows编译版本是专为Windows平台设计的,集成了所有必要的依赖库,用户无需额外安装即可直接使用,这大大简化了在Windows系统上搭建虚拟环境的过程。 在Qemu-1.0中,开发者引入了许多新特性和改进,以...
总结来说,预装Linux系统的QEMU虚拟机提供了一个便捷的学习和开发平台,用户可以在此环境中熟悉Linux操作系统,学习和使用GCC进行编程,通过vi编辑器编辑文本,并熟练掌握各种shell工具。而"LinuxBox"文件则包含了...
- **安装 qemu-kvm**:可以通过包管理器安装 qemu-kvm,如使用 apt-get 或 yum。 - **安装 libvirt**:同样,libvirt 也可通过包管理器安装。此外,还需要安装 virt-install 工具,以便更方便地创建和管理虚拟机。 ...
这是一款中文免费的QEMU启动测试工具,软件功能强大,操作简单,Qemu Boot Tester支持多种格式,不管是ISO格式的还是FBA格式的img格式的都可以测试是否正常启动。 主要功能: Qemu增强版启动测试器是一款多功能的...