最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

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

2020-07-25 20:32 作者:持平之粉TWRP  | 我要投稿

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??QEMU(前言)

實際上,我們離Qemu并不遙遠,像我們所熟悉的limbo,Qemu啟動器,APQ等眾多的安卓應用,內布仍采用的是Qemu作為核心,就連wine也有基于Qemu的內容 ,Qemu有許多很棒的功能,也不僅僅是虛擬x86,也可作為內核調試,當然,這些內容我們現在不談,現在的目標是學會它,并且能夠熟練的運用它,把它的每一個功能都發(fā)揮在必要的地方上,


但是在這之前,我們先來糾正幾個誤區(qū):首先,Qemu并不是一個apk安卓應用,它能夠在linux windows android等眾多系統(tǒng)中運行,很多人以為Qemu啟動器就是Qemu的本體,其實并不是這樣,這個只是一個軟件,它只是核心基于QEMU,其次就是把它圖形化,讓安卓用戶更容易的操作,但是這個軟件存在的bug比較多,并且高安卓版本無法運行,所以很多人就自認為自己手機用不了Qemu,這個觀念其實是錯誤的


其次,QEMU不僅僅只是windows模擬器,很多人認為QEMU只是千篇一律的模擬windows X86這種觀念也是錯誤的,一套完整編譯的QEMU,可模擬幾十幾百個架構(例如win10 arm debian ppc64el) QEMU可以模擬的系統(tǒng)很多,還不僅僅局限在windows,它小到應用程序,大到操作系統(tǒng)


效率:很多人認為手機上的QEMU就是個垃圾低效率虛擬機,但是,您仔細想想,如果一臺正常的手機,要去運行windows系統(tǒng),那能快嗎? 答案肯定是不能,因為大部分手機的架構是ARM,而大部分windows是X86 這樣子運行的話QEMU效率就會因為異架構損耗而被消耗殆盡,還有一個原因,就是手機不能夠啟用虛擬化,因為廠商幾乎閹割虛擬化,因為正常的手機,要這個特性也沒用,現在的人的手機幾乎用來打游戲,上網聊天,很少有人用手機去折騰這些,所以為了簡化,大部分的手機出廠都不帶虛擬化的,這一點就是為什么即使是同架構的模擬,效率仍然會被損耗殆盡的原因了


當然也并不是絕對的,也有幾臺手機是例外


前言介紹已經講完,現在開始我們研究Qemu命令行的第1步--安裝


上文說過Qemu并不是一個安卓上軟件,他本身核心是要靠命令行去驅動,那些軟件只不過是把它接近圖形化,實則內部仍是命令行腳本驅動


首先想要學習QEMU,必須得自身擁有一個QEMU,有很多方法,但是這里強烈推薦proot+Linux ubuntu+QEMU


此方法是在安卓搭建一個proot容器,并在其內部安裝/運行l(wèi)inux發(fā)行版,再在其中安裝Qemu以達到目的


在安卓搭建linux的方法大有很多,可以隨便百度或者是找個視頻


這里推薦幾個軟件:如果沒有root可以嘗試以下軟件


userland termux Utermux


root用戶可以嘗試linux deploy


這些應用的教程在網絡上是應有盡有,可以隨便搜一個


所安裝的linux并不需要圖形界面,只需一個命令行窗口即可


如果您不懂linux的用法,建議您選擇ubuntu,如果你很精通linux,你可以選擇一個你喜歡的發(fā)行版


你需要做的操作就是su

輸入密碼

執(zhí)行apt update & apt install qemu -y


如果你沒有換軟件源,或者是您不懂如何換軟件源,請參考我的《userland手機免root運行ubuntu教程》


apt install 一系列的命令執(zhí)行完以后,您將會安裝一個qemu2.11.1(這里以ubuntu18.04為例)不同的發(fā)行版安裝的版本不同

安裝完畢后您首先要確認它是否安裝到位


輸入以下命令來驗證:

qemu-system-i386 --version




以上驗證通過以后,那么恭喜你,你成功的安裝了QEMU

apt update & apt install qemu -y 安裝QEMU
qemu-system-i386 --version?檢查QEMU版本

QEMU基礎命令行2


這里涉及到一個知識點-文件概念


什么是文件概念呢,就是你必須對系統(tǒng)內置存儲文件目錄有一定的了解,光靠手機上的文件管理器是不行的(大部分無法解壓7z,更不用說我們后面要講的tar.gz格式了)


首先,想要使用QEMU運行一個操作系統(tǒng),需要一個合適的鏡像,鏡像是文件系統(tǒng)存儲的一種形式,我們把系統(tǒng)封存在鏡像里面,然后使用QEMU掛在運行,鏡像起到一個系統(tǒng)盤的作用,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分為系統(tǒng)模式(qemu-system)和用戶模式(qemu-user)

系統(tǒng)模式是指模擬一個操作系統(tǒng)(包括完整的主板以及硬件)

用戶模式是指運行一個應用程序(例如wine就是依賴這個來運行)


我們需要模擬一個操作系統(tǒng),當然是要啟用它的系統(tǒng)模式


我們就模擬常見的X86架構的windows


想要模擬x86我們需要第1個核心部分的命令:


qemu-system-i386


注釋:i386代表的是x86硬件平臺架構,x64則代表x86_64


這條命令的大概意思呢是這樣的:


QEMU進入系統(tǒng)模式!現在命令你立刻模擬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 我們在接著之前的命令,繼續(xù)往下寫


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


這條命的意思是:分配800MB給虛擬機用來作為啟動系統(tǒng)的ram


給多少內存要根據你的手機ram進行酌情分配,建議不要給太多,否則會造成殺后臺


注意符號空格及大小寫!!!


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

提示:-m后面還有一個空格,必須要先把這個空格給出后才可以寫數據,單位:G或M


錯誤示范:xxx -m1024M


正確示例:xxx -m 1024M


告訴他內存信息硬盤以及架構后,我們需要給他設定一個圖形輸出,因為我們是在命令行界面,命令行界面是無法進行圖形輸出的,因此我們需要設定一個輸出的方式以及端口,這里推薦使用VNC,虛擬機的連接方式有三種,具體可以查看我之前的視頻《安卓手機虛擬機APQ使用詳細教程》,里面分了很多P,其中有一個是專門講連接方式的特點的,我們使用最簡單的vnc連接,我們需要加上一條命令: -vnc :0


這條命的意思是:使用vnc進行圖像輸出,端口視為本地ip的0號端口(既本地回環(huán)端口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使用系統(tǒng)模式,模擬x86指令集及硬件,磁盤A為/sdcard路徑下的win7mini.qcow2文件,分配的運行內存為800MB給虛擬機,使用vnc作為圖像輸出,端口為0


然后你需要安裝一個vnc viewer軟件,新建一個地址為127.0.0.1的連接


如果成功,那么終端將會陷入忙碌狀態(tài),這時候進入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,并且應用到操作系統(tǒng)中


需要添加一下指令:-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以上的系統(tǒng)都不會自動安裝驅動,需要自己手動安裝)


現在有了聲音,有了網絡,接下來就是顯卡了,顯卡可以讓你擁有更高的分辨率,讓你在虛擬機里體驗更舒適,你可以根據你自己手機的屏幕來調整分辨率


需要添加命令:-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,這些主要是根據你模擬的系統(tǒng)來決定的,這個命令很簡單,你只需要加上參數 -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




好了,現在我們的虛擬機已經擁有網絡聲音以及顯卡了,可以去實踐實踐,看看有哪一步做錯了,或者不懂的,可以在評論區(qū)討論

QEMU基礎命令4


之前我們已經能夠完整的模擬一個擁有網絡聲音顯卡的操作系統(tǒng),但是這還完全不夠,因為QEMU功能不僅僅只有這么一點點,他還有許多的強大功能


QEMU可以掛載cdrom以便啟動光盤iso鏡像(例如winpe,各種操作系統(tǒng)的安裝盤等)


這條命令很簡單,只需要在總命令上面加上 -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光盤鏡像到虛擬機,一般可以直接在操作系統(tǒng)內訪問光驅內文件



但是,假如我這個光驅是winpe,并且硬盤內有操作系統(tǒng),我需要把虛擬機從光盤啟動,這樣應該怎么做呢?


很簡單,你需要給虛擬機定義一個啟動項


命令如下: -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


當然,光驅不僅僅可以啟動操作系統(tǒng),也可以作為系統(tǒng)安裝,傳輸文件等途徑


最后別忘了!補上vnc參數才可以正常運行哦


好了,經過這些學習,我們配置的虛擬機幾乎是一個比較完整的虛擬機了,下一講我們將研究qemu-img


QEMU基礎命令5


現在我們已經學會如何配置及使用虛擬機,但是僅僅學習這些是完全不夠的,我們還必須深入的了解


這一講主要是針對鏡像及轉換,這里設及的知識點為qemu-img的使用



qemu-img 這個是專門管理QEMU系統(tǒng)鏡像的一個組件


可以通過它進行系統(tǒng)的鏡像轉換,生成,以及擴容


首先我們要會使用qemu-img功能生成一個空鏡像(用來裝系統(tǒng)或者是分區(qū)給主系統(tǒng)使用)



假設我要生成一個格式為qcow2,名稱為beta,路徑為/sdcard,大小為1g的鏡像用來裝系統(tǒng),我應該怎么做呢?


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


注釋:create -f 后面跟的是鏡像的后綴名格式

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

生成的路徑后面跟的是生成鏡像的大小

不要忘了空格和標點符號


例題:我要生成一個大小為60G格式為qcow2名稱為www路徑為/sdcard/bfg/ddf的鏡像用來裝系統(tǒng),請問應該如何使用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運行操作系統(tǒng)的時候,往往會發(fā)生一些虛擬系統(tǒng)內部的磁盤空間不足,因為有可能是最初始設定的值小了,導致后面不夠用,這時候我們就需要使用qemu-img功能進行擴容


假設我有一塊名稱為mp,格式為qcow2,路徑為/sdcard的鏡像,但是現在他內部的虛擬磁盤空間不夠用了,我想給他增加一G的空間,應該怎么做呢?


指令如下:


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

Image resized


注釋:resize后面跟著鏡像的路徑 +號應該填寫增加的大小



好了qemu-img 這三大基本功能,如果你能夠了解并且掌握它,那么就說明你是一個很棒,很聰明,有才干的人,加油!


QEMU基礎命令6


我們已經學會了如何使用QEMU運行一個我們已經學會了如何運行一個完整硬件的操作系統(tǒng),并且對其進行鏡像管理,接下來我們要學習虛擬機的加速,相信現在運行虛擬機的你會感覺到非常的卡頓吧,這里暫且用幾個方法,能夠緩解一部分的卡頓


首先,我們要講的是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是創(chuàng)建一個快照,-d是刪除一個快照


虛擬機引導


在我們運行的虛擬機中,如果使用之前的命令啟動,那么他默認使用BIOS進行引導,但是呢,對于一些必須使用UEFI的系統(tǒng)來說這樣就不能引導了,所以說我們要讓虛擬機可以使用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


注意:并不是所有系統(tǒng)都支持UEFI,當你使用這個固件,發(fā)現所要運行的操作系統(tǒng)無法引導時,你應該刪除這個選項


共享文件夾:


假設,我需要傳一個文件到虛擬機去,但是呢,總不能一直使用光驅,那我還可以怎么傳文件呢?


這里就要介紹共享文件夾了


首先,想要使用共享文件夾,就必須找一個安卓下的目錄,作為存放文件的地方,你可以生成一個文件夾,用來作為文件存放的目錄


假設我生成的文件夾叫disk,目錄在/sdcard/disk我需要把它里面的文件傳給虛擬機,那應該怎么做呢?


首先,我們要啟動第2塊硬盤的選項,之前的命令是,使用第1塊硬盤作為系統(tǒng)盤(既hda),所以現在我們需要啟動hdb作為共享文件盤


命令如下


-hdb fat:rw:/sdcard/disk


注釋:fat指的是使用fat作為掛載后的磁盤文件系統(tǒng)

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依然強悍!


接下來出幾道題目,答案寫在評論區(qū),記得標明題目的序號


1.我要裝一個xp系統(tǒng),我從msdn下載了一個安裝盤,上面寫的是i386 位置是在/sdcard/xp.iso,我需要讓他支持網絡聲音以及顯卡,網絡需要的是rtl8139聲音需要的是ac97顯卡需要的是vmware,并且我需要讓鼠標跟著vnc小黑點后面,還要起用TCG加速,格式的話我需要qcow2我需要讓他生成的目錄在 /sdcard/disk下,虛擬磁盤大小為20G,名稱為xp請問應該如何配置?









2.我有一個別人制作的win10 x64,但是他說明了只能通過EFI進行引導,并且規(guī)定了網絡聲音以及顯卡,分別對應的型號是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,我需要怎么做呢? 當我做完這些后,我發(fā)現鏡像內部的虛擬磁盤不夠用,所以說我需要擴容20G,需要怎么做呢?











4.*我運行了一個win7操作系統(tǒng),已經進入了桌面,但是我想把他的狀態(tài)保存為一個快照,我應該怎么做呢? 后面由于發(fā)生了意外,這里面的系統(tǒng)崩潰了,我需要把它還原為上一個快照,那我又應該怎么做呢?(快照名稱為snapshot,鏡像名稱為7.qcow2)










ps:滿分為100,每題25分





















參考答案:


1.解依據題意可知是裝系統(tǒng),第1步需要使用命令生成一個鏡像

由于限定了生成目錄為/sdcard/disk,他還規(guī)定了名稱,名稱為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

由于并未說明模擬的核心數,根據系統(tǒng)為xp,默認使用雙核


由于第1次裝系統(tǒng),所以說必須從光盤啟動。

因此可以確定

-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


等待系統(tǒng)安裝完會自動引導到硬盤,第2次啟動就可以把-boot d改為-boot c


END



2.省略(不要光想著抄答案哦,嘗試照著我第1題的方式做一做)

3.省略

4.省略

android上的QEMU命令行詳解(全系列)的評論 (共 條)

分享到微博請遵守國家法律
呈贡县| 洪江市| 博湖县| 绥江县| 安丘市| 海淀区| 石狮市| 浦北县| 阳春市| 北川| 抚顺市| 宜昌市| 左权县| 绩溪县| 荆门市| 阿勒泰市| 安庆市| 永定县| 禹州市| 明光市| 筠连县| 江油市| 苍梧县| 吉首市| 平乐县| 靖西县| 上林县| 宜黄县| 密山市| 鸡泽县| 兴海县| 盐源县| 古蔺县| 黔江区| 阳山县| 遂川县| 保定市| 得荣县| 瑞昌市| 威宁| 华宁县|