Termux的QEMU套件可在Android手機上執行模擬器,模擬執行x86架構的完整電腦作業系統,例如安裝Windows、Linux,不需要Root權限,效果等同 Limbo PC Emulator。
本文介紹使用Termux在Android手機上安裝Windows 7的方法,除了手機要有32GB空間以外,還需要耐心。
為什麼選Windows 7呢?因為它不像Windows XP過於老舊,又不會像Windows 10一樣太吃資源。在QEMU本身就慢得要命的環境下,Windows 7性能勉強能接受。
安裝後的使用體驗請看文末。
1. 硬體需求#
處理器:高通Snapdragon 845以上
RAM:至少4GB
儲存空間:至少32GB
撰文當下我使用的手機為Sony Xperia 5 II,系統Android 12。
2. 準備前置依賴項目#
安裝 Termux,並設定存取手機儲存空間權限。
安裝 VNC Viewer。
下載Windows 7安裝光碟ISO,選取64位元的。現在Microsoft官網已經下架載點,請自行找盜版。
Termux若已設定存取儲存空間權限,等會可直接掛載。例如ISO檔案位於手機內部儲存空間
/Download/windows7.iso
,那在Termux內的路徑就是:
storage/shared/Download/windows7.iso
- 在Termux安裝QEMU套件
pkg update
pkg install qemu-utils qemu-system-x86_64
- 建立一個
win7
目錄存放檔案
mkdir win7
cd win7
- 建立32GB的虛擬硬碟
qemu-img create -f qcow2 win7.qcow2 32G
- 使用
vim runwin7.sh
指令建立開機指令稿,填入以下內容後輸入:wq!
儲存
qemu-system-x86_64 -machine q35 -m 4096 -smp sockets=1,cores=4,threads=1 -cpu qemu64 \
-accel tcg,thread=multi \
-hda win7.qcow2 \
-vga std \
-netdev user,id=n1 -device e1000,netdev=n1 \
-device AC97 \
-usbdevice tablet \
-vnc :0 \
-cdrom ../storage/shared/Download/windows7.iso
3. 開始安裝系統#
- 執行開機指令稿
chmod +x runwin7.sh
./runwin7.sh
通知欄滑下來,對Termux點選
Acquire Wakelock
避免被殺後台。開啟VNC Viewer,新增連線,輸入
localhost:1
連線到模擬器畫面。開機後等個五分鐘載入,再按照螢幕指示安裝Windows 7,大約要一小時。
若安裝需要重開機,退出VNC Viewer,回到Termux。
按下
CTRL+Z
終止QEMU,修改開機腳本,去掉cdrom的參數後儲存。
qemu-system-x86_64 -machine q35 -m 4096 -smp sockets=1,cores=4,threads=1 -cpu qemu64 \
-accel tcg,thread=multi \
-had win7.qcow2 \
-vga std \
-netdev user,id=n1 -device e1000,netdev=n1 \
-device AC97 \
-usbdevice tablet \
-vnc :0
- 重開Termux,重新執行腳本。開啟VNC Viewer,繼續安裝。
4. 實際使用情況#
使用起來真的是幻燈片,安裝後開機進入桌面至少一分鐘。
Firefox開起來要二分鐘,載入維基百科頁面三分鐘。
看影片你會更有感
Android的QEMU是純軟體模擬的,沒有任何KVM加速技術,所以不要奢望玩遊戲了。
手機ARM跨架構模擬x86,Android手機亦不支援KVM。在種種損耗之下,就算是高通s800系列處理器性能也不怎麼樣;此外應用程式也很難有3D硬體加速。
不過此qcow2虛擬硬碟倒是可以移到電腦上,讓電腦的QEMU用相同指令開機。如果要搞優化的話可以用電腦設定好再移回手機開機。