android上的QEMU命令行详解(全系列) 您所在的位置:网站首页 qemu下载311 android上的QEMU命令行详解(全系列)

android上的QEMU命令行详解(全系列)

2023-11-18 07:27| 来源: 网络整理| 查看: 265

                                  QEMU(前言)

实际上,我们离Qemu并不遥远,像我们所熟悉的limbo,Qemu启动器,APQ等众多的安卓应用,内布仍采用的是Qemu作为核心,就连wine也有基于Qemu的内容 ,Qemu有许多很棒的功能,也不仅仅是虚拟x86,也可作为内核调试,当然,这些内容我们现在不谈,现在的目标是学会它,并且能够熟练的运用它,把它的每一个功能都发挥在必要的地方上,

但是在这之前,我们先来纠正几个误区:首先,Qemu并不是一个apk安卓应用,它能够在linux windows android等众多系统中运行,很多人以为Qemu启动器就是Qemu的本体,其实并不是这样,这个只是一个软件,它只是核心基于QEMU,其次就是把它图形化,让安卓用户更容易的操作,但是这个软件存在的bug比较多,并且高安卓版本无法运行,所以很多人就自认为自己手机用不了Qemu,这个观念其实是错误的

其次,QEMU不仅仅只是windows模拟器,很多人认为QEMU只是千篇一律的模拟windows X86这种观念也是错误的,一套完整编译的QEMU,可模拟几十几百个架构(例如win10 arm debian ppc64el) QEMU可以模拟的系统很多,还不仅仅局限在windows,它小到应用程序,大到操作系统

效率:很多人认为手机上的QEMU就是个垃圾低效率虚拟机,但是,您仔细想想,如果一台正常的手机,要去运行windows系统,那能快吗? 答案肯定是不能,因为大部分手机的架构是ARM,而大部分windows是X86 这样子运行的话QEMU效率就会因为异架构损耗而被消耗殆尽,还有一个原因,就是手机不能够启用虚拟化,因为厂商几乎阉割虚拟化,因为正常的手机,要这个特性也没用,现在的人的手机几乎用来打游戏,上网聊天,很少有人用手机去折腾这些,所以为了简化,大部分的手机出厂都不带虚拟化的,这一点就是为什么即使是同架构的模拟,效率仍然会被损耗殆尽的原因了

当然也并不是绝对的,也有几台手机是例外

前言介绍已经讲完,现在开始我们研究Qemu命令行的第1步--安装

上文说过Qemu并不是一个安卓上软件,他本身核心是要靠命令行去驱动,那些软件只不过是把它接近图形化,实则内部仍是命令行脚本驱动

首先想要学习QEMU,必须得自身拥有一个QEMU,有很多方法,但是这里强烈推荐proot+Linux ubuntu+QEMU

此方法是在安卓搭建一个proot容器,并在其内部安装/运行linux发行版,再在其中安装Qemu以达到目的

在安卓搭建linux的方法大有很多,可以随便百度或者是找个视频

这里推荐几个软件:如果没有root可以尝试以下软件

userland termux Utermux

root用户可以尝试linux deploy

这些应用的教程在网络上是应有尽有,可以随便搜一个

所安装的linux并不需要图形界面,只需一个命令行窗口即可

如果您不懂linux的用法,建议您选择ubuntu,如果你很精通linux,你可以选择一个你喜欢的发行版

你需要做的操作就是su

输入密码

执行apt update & apt install qemu -y

如果你没有换软件源,或者是您不懂如何换软件源,请参考我的《userland手机免root运行ubuntu教程》

apt install 一系列的命令执行完以后,您将会安装一个qemu2.11.1(这里以ubuntu18.04为例)不同的发行版安装的版本不同

安装完毕后您首先要确认它是否安装到位

输入以下命令来验证:

qemu-system-i386 --version

以上验证通过以后,那么恭喜你,你成功的安装了QEMU

apt update & apt install qemu -y 安装QEMUqemu-system-i386 --version 检查QEMU版本

QEMU基础命令行2

这里涉及到一个知识点-文件概念

什么是文件概念呢,就是你必须对系统内置存储文件目录有一定的了解,光靠手机上的文件管理器是不行的(大部分无法解压7z,更不用说我们后面要讲的tar.gz格式了)

首先,想要使用QEMU运行一个操作系统,需要一个合适的镜像,镜像是文件系统存储的一种形式,我们把系统封存在镜像里面,然后使用QEMU挂在运行,镜像起到一个系统盘的作用,QEMU最常见的镜像格式是qcow,qcow2,img等等,像电脑上的vmware虚拟机,也是采用镜像的方式,他的常见格式是vmdk,还有vbox虚拟机,他的常见格式是vdi, 这里推荐尽量使用qcow2作为主流格式

选好一个要运行的镜像,你需要知道你的镜像位置以及路径,一般的安卓内置存储都是在/sdcard路径下面,可能会有特殊的设备不同,这里强烈建议安装一个ES文件浏览器por,我们需要搞清楚我们的镜像文件的路径,并且记住他

进入ES文件浏览器,他的顶上会显示你当前内置存储路径

/sdcard/storage/emulated/0

图片上的是一般内置存储的路径,如果是使用linux deploy可以再/属性/允许挂载android上的资源/然后添加挂载点,输入以下路径即可

如果是使用userland或Utermux那就方便一点,里面部署完成linux应该会自动给你挂载上安卓的内置存储,你只需要在跟目录找一找,使用cd命令进入某个目录,然后输ls直到里面的目录名称和es文件浏览器内的目录文件夹名称一样即可

接下来是部署命令,找到你要运行的镜像,一般镜像的作者都会说明镜像的配置信息,比如网络声音显卡CPU等等,由于本教程是新手教程,我们先从简单的命令行配置开始

QEMU分为系统模式(qemu-system)和用户模式(qemu-user)

系统模式是指模拟一个操作系统(包括完整的主板以及硬件)

用户模式是指运行一个应用程序(例如wine就是依赖这个来运行)

我们需要模拟一个操作系统,当然是要启用它的系统模式

我们就模拟常见的X86架构的windows

想要模拟x86我们需要第1个核心部分的命令:

qemu-system-i386

注释:i386代表的是x86硬件平台架构,x64则代表x86_64

这条命令的大概意思呢是这样的:

QEMU进入系统模式!现在命令你立刻模拟x86架构的硬件

命令行第1步,就是先输写这个命令,你需要告诉QEMU你要模拟的架构是什么

第2步,你需要告诉QEMU你的镜像在哪里?

那么具体怎么告诉呢? 你需要把镜像以磁盘的方式挂载给QEMU

假设我的内置存储在linux下的路径就是/sdcard,镜像名称叫做win7mini格式是qcow2那么接下来

我们接着第1步面临的后面来书写

qemu-system-i386 -hda /sdcard/win7mini.qcow2

这条命令的意思是:将路径为/sdcard/下的win7mini.qcow2挂载为磁盘A

注意事项:QEMU对命令行的表达方式极为严格,在输入每一条命令时必须用空格隔开,然后在第2条命令开头加上“-”这样才是正确的表达式,如果都糊在一块那么QEMU将会翻脸不认人

举例:[命令一](空格)-[命令二]

就类似于我们上面的命令:qemu-system-i386就代表命令一,我们需要再在后面加上空格和一个"-"号 命令二代表的是hda /sdcard/win7mini.qcow2

我们现在已经告诉了QEMU我们需要运行的架构,以及镜像位置,接下来是需要告诉他,我们的运行内存应该设定多少,就相当于电脑上的内存条中的内存(检称ram)

这一步很简单,只需要加上参数 -m xxxxM 我们在接着之前的命令,继续往下写

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M

这条命的意思是:分配800MB给虚拟机用来作为启动系统的ram

给多少内存要根据你的手机ram进行酌情分配,建议不要给太多,否则会造成杀后台

注意符号空格及大小写!!!

[命令一](空格)-[命令二](空格)-[命令三]

提示:-m后面还有一个空格,必须要先把这个空格给出后才可以写数据,单位:G或M

错误示范:xxx -m1024M

正确示例:xxx -m 1024M

告诉他内存信息硬盘以及架构后,我们需要给他设定一个图形输出,因为我们是在命令行界面,命令行界面是无法进行图形输出的,因此我们需要设定一个输出的方式以及端口,这里推荐使用VNC,虚拟机的连接方式有三种,具体可以查看我之前的视频《安卓手机虚拟机APQ使用详细教程》,里面分了很多P,其中有一个是专门讲连接方式的特点的,我们使用最简单的vnc连接,我们需要加上一条命令: -vnc :0

这条命的意思是:使用vnc进行图像输出,端口视为本地ip的0号端口(既本地回环端口127.0.0.1:0)当然并不限定于0,如果0号端口被占用,将会导致虚拟机启动失败,因此你可以把它随便设定一个你喜欢的数值

你可以设定不同的数值,如果设定为2,那么对应的地址就应改为127.0.0.1:2如果是3,那应该改成127.0.0.1:3以此类推

127.0.0.1:(设立的端口值)

承接上面的命令,那么接下来命令应该是这样

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -vnc :0

这条命令总结起来的大概意思是:QEMU使用系统模式,模拟x86指令集及硬件,磁盘A为/sdcard路径下的win7mini.qcow2文件,分配的运行内存为800MB给虚拟机,使用vnc作为图像输出,端口为0

然后你需要安装一个vnc viewer软件,新建一个地址为127.0.0.1的连接

如果成功,那么终端将会陷入忙碌状态,这时候进入vnc viewer软件进入那个127.0.0.1地址连接将会弹出一个红色的界面,这时候你只需要点击红色界面上面的ok就可以进入虚拟机界面了,那么到此简单配置这一步就结束了,接下来将会介绍,网络声音显卡硬件的使用

QEMU基础命令行3

之前的配置中,我们已经学会了基本配置QEMU命令行,是不是很简单呢?

现在我们要逐渐走向复杂化,之前的启动命令称为最简启动命令,是没有网络和声音的,甚至连显卡都没有,分辨率只能定在一定的范围,不能适应屏幕

在下列教程中,我们要学习网络声音以及一系列附加选项的应用

我们先把之前列出的命令拿出来qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -vnc :0

为了工整暂且先去掉vnc选项

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M

现在我们要先添加网络,让整个虚拟机内有网络支持

QEMU上网方式分为两种,一种是user,还有一种是TAP,TAP连接方式需要设备有root权限,所以这里使用user(用户模式连接网络,ip地址一般为10.0.2.2)

那么想要上网,就必须添加一块网卡给QEMU,并且应用到操作系统中

需要添加一下指令:-net user -net nic,model=rtl8139

这里的rtl8139并不是绝对只能模拟这一种型号网卡,你还可以把它换成e1000等其他不同型号网卡

那么整体的命令将为以下所示

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139

这里的空格很夸张,但是不要紧,他只有一个空格,夸张的原因是想让大家不要少了空格

这条命要大概意思是:启用网络连接,模拟网卡型号为rtl8139 使用user用户模式连接

有了网络,接下来就是声音了,但是呢vnc并不支持声音,所以这个选项可有可无,如果你是强迫症患者的话,你可以加上声音的命令

需要添加的命令为:-soundhw ac97 (这里的ac97指的是声卡型号,并不只有这一种声卡,还有其他的,例如es1370)

那么整体命令将变更为qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97

这条命令的大概意思是:启用声音服务,模拟声卡型号为ac97(但是这个型号在vista以上的系统都不会自动安装驱动,需要自己手动安装)

现在有了声音,有了网络,接下来就是显卡了,显卡可以让你拥有更高的分辨率,让你在虚拟机里体验更舒适,你可以根据你自己手机的屏幕来调整分辨率

需要添加命令:-vga vmware(个人喜欢这个显卡,因为他支持的分辨率多,听说有15MB的显存)你还可以模拟cirrus显卡,根据个人喜好吧,不过现在只是基础教程,后面会给出这些硬件的部分型号

命令行将变更为:

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97 -vga vmware

这条命令的大概意思是:启用显卡,显卡设定为vmware

切记每一步都不要忘记加上空格以及标点!!

然后再把之前省略掉的vnc选项补上就完整了

指定需要模拟的cpu

QEMU可以模拟很多型号的cpu,这些主要是根据你模拟的系统来决定的,这个命令很简单,你只需要加上参数 -cpu(你需要模拟的型号)即可

这里推荐一个cpu : Opteron_G5

那么命令就是-cpu Opteron_G5

总命令将变更为

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97 -vga vmware -cpu Opteron_G5

这条命令就是说,模拟的cpu型号为Opteron_G5

好了,现在我们的虚拟机已经拥有网络声音以及显卡了,可以去实践实践,看看有哪一步做错了,或者不懂的,可以在评论区讨论

QEMU基础命令4

之前我们已经能够完整的模拟一个拥有网络声音显卡的操作系统,但是这还完全不够,因为QEMU功能不仅仅只有这么一点点,他还有许多的强大功能

QEMU可以挂载cdrom以便启动光盘iso镜像(例如winpe,各种操作系统的安装盘等)

这条命令很简单,只需要在总命令上面加上 -cdrom /sdcard/(这里应该写你的光盘镜像路径)假设我有一块光盘,路径为/sdcard,名称为12345,格式为iso

那么我之前的总命令应该变更为

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97 -vga vmware -cpu Opteron_G5 -cdrom /sdcard/12345.iso

这条命令大概意思是:挂载一个cd光盘镜像到虚拟机,一般可以直接在操作系统内访问光驱内文件

但是,假如我这个光驱是winpe,并且硬盘内有操作系统,我需要把虚拟机从光盘启动,这样应该怎么做呢?

很简单,你需要给虚拟机定义一个启动项

命令如下: -boot d

注释:

 -boot d 指的是从光盘启动

 -boot c 指的是从硬盘启动

 -boot a 指的是从软盘A启动

 -boot b 指的是从软盘B启动

 -boot n 指的是从网络启动

这条命令的大概意思是 从光盘启动

那么命令变更成这样就可以从光驱启动了

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97 -vga vmware -cpu Opteron_G5 -cdrom /sdcard/12345.iso -boot d

当然,光驱不仅仅可以启动操作系统,也可以作为系统安装,传输文件等途径

最后别忘了!补上vnc参数才可以正常运行哦

好了,经过这些学习,我们配置的虚拟机几乎是一个比较完整的虚拟机了,下一讲我们将研究qemu-img

QEMU基础命令5

现在我们已经学会如何配置及使用虚拟机,但是仅仅学习这些是完全不够的,我们还必须深入的了解

这一讲主要是针对镜像及转换,这里设及的知识点为qemu-img的使用

qemu-img 这个是专门管理QEMU系统镜像的一个组件

可以通过它进行系统的镜像转换,生成,以及扩容

首先我们要会使用qemu-img功能生成一个空镜像(用来装系统或者是分区给主系统使用)

假设我要生成一个格式为qcow2,名称为beta,路径为/sdcard,大小为1g的镜像用来装系统,我应该怎么做呢?

我们要用到的命令是qemu-img create -f qcow2 /sdcard/beta.qcow2 1G

注释:create -f 后面跟的是镜像的后缀名格式

格式后面跟的是生成的路径

生成的路径后面跟的是生成镜像的大小

不要忘了空格和标点符号

例题:我要生成一个大小为60G格式为qcow2名称为www路径为/sdcard/bfg/ddf的镜像用来装系统,请问应该如何使用qemu-img命令进行生成呢?

解:依据题意可知将使用qemu-img create -f 命令进行生成,又可知格式为qcow2,大小为60G,名称为www,路径为/sdcard/bfg/ddf

将使用以下命令:qemu-img create -f qcow2 /sdcard/bfg/ddf www.qcow2 60G

进行生成,完毕!

根据以上例题,你只要掌握,那么就应该不难了

接下来是转换镜像的格式

如果一个格式为qcow2的镜像,我想在lbochs这个虚拟机上面使用,但是很巧的是lbochs并不支持qcow2这个格式,那我总不可能用文件管理器直接改后缀名吧,这时候就需要用到qemu-img镜像转换的功能了

假设我有一块名称为mmp,格式为qcow2路径为/sdcard的镜像

现在我想把它转换成img格式,并且从命名为Output.img,我应该怎么做呢?

命令如下

qemu-img convert -O raw qcow2 /sdcard/mmp.qcow2

/sdcard/Output.img

注释:convert -O 后面跟着想要转换的格式,格式后面填写未转换镜像的路径,未转换镜像的路径后面填写转换完毕后新的镜像路径 注意,不要忘记空格和符号

(raw既代表img,如果要转换成vmdk,则把raw改成vmdk既可)

接下来是镜像扩容

在我们使用QEMU运行操作系统的时候,往往会发生一些虚拟系统内部的磁盘空间不足,因为有可能是最初始设定的值小了,导致后面不够用,这时候我们就需要使用qemu-img功能进行扩容

假设我有一块名称为mp,格式为qcow2,路径为/sdcard的镜像,但是现在他内部的虚拟磁盘空间不够用了,我想给他增加一G的空间,应该怎么做呢?

指令如下:

qemu-img resize /sdcard/mp.qcow2 +1G

Image resized

注释:resize后面跟着镜像的路径 +号应该填写增加的大小

好了qemu-img 这三大基本功能,如果你能够了解并且掌握它,那么就说明你是一个很棒,很聪明,有才干的人,加油!

QEMU基础命令6

我们已经学会了如何使用QEMU运行一个我们已经学会了如何运行一个完整硬件的操作系统,并且对其进行镜像管理,接下来我们要学习虚拟机的加速,相信现在运行虚拟机的你会感觉到非常的卡顿吧,这里暂且用几个方法,能够缓解一部分的卡顿

首先,我们要讲的是TCG加速

TCG,可以在异架构模拟中起到少量加速作用

如果要启用他,那么命令后面应该加上

--accel tcg,thread=multi -smp 2,cores=2,threads=1,sockets=1

那么这样子总体命令就应该变成

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97 -vga vmware -cpu Opteron_G5 -cdrom /sdcard/12345.iso -boot c --accel tcg,thread=multi -smp 2,cores=2,threads=1,sockets=1 -vnc :0

注释:

smp 后面的参数是核心数

cores后面指的是核心

threads=后面的参数是线程数

sockets应该指的是插槽数

“开核盛世”(--accel tcg,thread=multi -smp 16,cores=2,threads=1,sockets=1)

其次是virtio-disk虚拟磁盘加速

这个教程也有不少,我最近几天才录了一个APQ的

我在本教程中再提一遍,首先你必须拥有virtio的驱动盘(去我那个教程视频底下下载),将驱动盘使用cdrom挂载到虚拟机,然后生成一块镜像,格式为qcow2

然后使用以下命令,挂载到虚拟机

-drive file=/sdcard/你生成的镜像,format=qcow2,if=virtio,id=drive-virtio-disk0

开机以后打开任务管理器,找到带叹号的SCIC设备/然后右键这个设备,选择更新驱动程序,然后从挂载的那个cdrom之中寻找驱动程序等待安装,安装完成后关机,把上面命令中的你生成的镜像替换为你hda的主镜像,然后删除hda挂载选项,然后完成

经计算可以减少48%的开机速度

QEMU基础命令7

快照管理(选学,自行研究内容)

qemu-img snapshot -l 7.qcow2 

qemu-img snapshot -c snapshot 7.qcow2

qemu-img snapshot -l 7.qcow2 

qemu-img snapshot -a 1 7.qcow2

qemu-img snapshot -d snapshot 7.qcow2

注释: -l 选项是查询镜像文件中的所有快照,-a snapshot是让镜像文件使用某个快照,-c snapshot是创建一个快照,-d是删除一个快照

虚拟机引导

在我们运行的虚拟机中,如果使用之前的命令启动,那么他默认使用BIOS进行引导,但是呢,对于一些必须使用UEFI的系统来说这样就不能引导了,所以说我们要让虚拟机可以使用UEFI进行引导

想要使用UEFI,就必须要拥有固件,没有固件的也不要着急,我的视频简介会有

有了固件以后,我们需要添加一个自定义BIOS参数,让虚拟机采用这个固件作为BIOS,假设我的固件在/sdcard,名称为EFI,格式为fd

那么命令如下

-bios /sdcard/EFI.fd

这条命令的大概意思是:自定义BIOS,使用路径为。

/sdcard下的EFI.fd文件

把这项命令加到之前的总启动命令里

那么命令将变更为

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97 -vga vmware -cpu Opteron_G5 -cdrom /sdcard/12345.iso -boot d --accel tcg,thread=multi -smp 2,cores=2,threads=1,sockets=1 -bios /sdcard/EFI.fd -vnc :0

注意:并不是所有系统都支持UEFI,当你使用这个固件,发现所要运行的操作系统无法引导时,你应该删除这个选项

共享文件夹:

假设,我需要传一个文件到虚拟机去,但是呢,总不能一直使用光驱,那我还可以怎么传文件呢?

这里就要介绍共享文件夹了

首先,想要使用共享文件夹,就必须找一个安卓下的目录,作为存放文件的地方,你可以生成一个文件夹,用来作为文件存放的目录

假设我生成的文件夹叫disk,目录在/sdcard/disk我需要把它里面的文件传给虚拟机,那应该怎么做呢?

首先,我们要启动第2块硬盘的选项,之前的命令是,使用第1块硬盘作为系统盘(既hda),所以现在我们需要启动hdb作为共享文件盘

命令如下

-hdb fat:rw:/sdcard/disk

注释:fat指的是使用fat作为挂载后的磁盘文件系统

rw表示挂载的磁盘只能读,不可写入,如果要让他可

写,可以去掉rw,但是这样子就大大增加了虚拟机出错的概率

警告:共享文件内的文件不可以超过512MB,否则无法启动

那么总体命令将变更为

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97 -vga vmware -cpu Opteron_G5 -cdrom /sdcard/12345.iso -boot d --accel tcg,thread=multi -smp 2,cores=2,threads=1,sockets=1 -hdb fat:rw:/sdcard/disk -vnc :0

usb设备

如果想改善vnc鼠标移动,你可以通过添加usb设备来达到目的

比如说我想让鼠标跟着vnc的小黑点

那么命令为

-usb -device usb-mouse

-usb -device usb-tablet

把这两条命令写到刚才的总命令去

那么命令将变更为

qemu-system-i386 -hda /sdcard/win7mini.qcow2 -m 800M -net user -net nic,model=rtl8139 -soundhw ac97 -vga vmware -cpu Opteron_G5 -cdrom /sdcard/12345.iso -boot c --accel tcg,thread=multi -smp 2,cores=2,threads=1,sockets=1 -hdb fat:rw:/sdcard/disk -usb -device usb-tablet -usb -device usb-mouse -vnc :0

好了,到这里,我们的QEMU命令行基础教程就完毕了,试试看,自己使用一条命令去启动虚拟机吧

TCG下的win7依然强悍!

接下来出几道题目,答案写在评论区,记得标明题目的序号

1.我要装一个xp系统,我从msdn下载了一个安装盘,上面写的是i386 位置是在/sdcard/xp.iso,我需要让他支持网络声音以及显卡,网络需要的是rtl8139声音需要的是ac97显卡需要的是vmware,并且我需要让鼠标跟着vnc小黑点后面,还要起用TCG加速,格式的话我需要qcow2我需要让他生成的目录在 /sdcard/disk下,虚拟磁盘大小为20G,名称为xp请问应该如何配置?

2.我有一个别人制作的win10 x64,但是他说明了只能通过EFI进行引导,并且规定了网络声音以及显卡,分别对应的型号是rtl8139,es1370,vmware,cpu对应的型号是Opteron_G5我从压缩包里获取了UEFI的固件和镜像,他们分别位于/sdcard/10.qcow2和/sdcard/efi.fd 由于我需要更好的速度,因此我需要TCG我还要模拟八核,并且我还想使用virtio-disk来加速磁盘的读写,请问应该如何配置呢?

3.我有一块名称叫做virtual格式为qcow2路径为/sdcard/disk的镜像,现在我想把它放到lbochs上面去运行,但是呢lbochs并不支持这个格式,所以我需要把它转换成img,并且输出的目录为/sdcard,我需要怎么做呢? 当我做完这些后,我发现镜像内部的虚拟磁盘不够用,所以说我需要扩容20G,需要怎么做呢?

4.*我运行了一个win7操作系统,已经进入了桌面,但是我想把他的状态保存为一个快照,我应该怎么做呢? 后面由于发生了意外,这里面的系统崩溃了,我需要把它还原为上一个快照,那我又应该怎么做呢?(快照名称为snapshot,镜像名称为7.qcow2)

ps:满分为100,每题25分

参考答案:

1.解依据题意可知是装系统,第1步需要使用命令生成一个镜像

由于限定了生成目录为/sdcard/disk,他还规定了名称,名称为xp大小为20G

所以说第1步要输入的命令为

qemu-img create -f qcow2 /sdcard/disk/xp.qcow2 20G

第2步要确定他的硬件及配置

网卡:rtl8139         -     -net user -net nic,model=rtl8139

声卡:ac97           -     -soundhw ac97

显卡vmware        -     -vga vmware

TCG加速    --accel tcg,thread=multi -smp 2,cores=2,threads=1,sockets=1

鼠标性能改善       -usb -device usb-mouse   -usb -device usb-tablet

cdrom位置为/sdcard/xp.iso

生成的镜像路径为/sdcard/disk/xp.qcow2

由于并未说明模拟的核心数,根据系统为xp,默认使用双核

由于第1次装系统,所以说必须从光盘启动。

因此可以确定

-boot的值为d

因此可以列出以下命令:

qemu-system-i386 -boot d -hda /sdcard/disk/xp.qcow2 -cdrom /sdcard/xp.iso -vga vmware -soundhw ac97 -net user -net nic,model=rtl8139 --accel tcg,thread=multi -smp 2,cores=2,threads=1,sockets=1 -usb -device usb-tablet -usb -device usb-mouse -vnc :0

等待系统安装完会自动引导到硬盘,第2次启动就可以把-boot d改为-boot c

END

2.省略(不要光想着抄答案哦,尝试照着我第1题的方式做一做)

3.省略

4.省略



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有