快轉到主要內容

v86 Emulator,用iPad瀏覽器模擬Windows系統

· 民國114年乙巳年
·
切換繁體/簡體
分類   資訊科技 虛擬機與容器技術
標籤   QEMU WebAssembly
目錄

在瀏覽器裡面跑exe不是夢!?這樣的話,我們就能在Android/iOS平台跑Windows程式了。

v86 Emulator這個專案好厲害,可以在瀏覽器裡面跑完整的32位元作業系統。

根據Github的說明,v86是一個"x86PC emulator and x86-to-wasm JIT, running in the browser"。

只要造訪這個網頁,就能使用線上使用:https://copy.sh/v86/

這不是用網頁框架模擬Windows介面,也不是遠端桌面,而是真正的在瀏覽器載入ISO開機,進入完整作業系統。原理是在瀏覽器裡面模擬x86架構的CPU,將機器碼翻譯為WebAssembly執行,並且實現了JIT加速。

理論上WebAssembly是platform-agnoistic的技術,所以不論是在x86還是ARM平台上模擬x86的CPU,都不會有太大效能損失?就看你的CPU多會算!

v86執行的作業系統,網路預設是停用的。

作業系統開機後的狀態要使用者手動點選Save state才能保存。在網頁關掉後,資料都會消失。

1. 適用的場合?
#

v86沒有用到任何虛擬化技術,瀏覽器也不可能允許調用吧。從這點看來,v86不算是虛擬機,而比較像是模擬器吧!雖說,透過WebAssembly與JIT加速,能夠跑Windows 2000、Android-x86,和一些輕量級的Linux發行版的系統,不過目前的實用性也就醬以了。為啥呢?瀏覽器可沒辦法像虛擬機軟體一樣,分配太多的CPU與RAM資源,導致目前的v86註定只能跑20年前的古早系統,或者是精簡到不能再精簡的Linux發行版。

儘管v86理論上能跑近代的Windows 7系統(作者說你需要用qemu指令自行製作映像檔),可是速度非常之慢呀。

好吧,這樣看來v86顯得很尷尬,除了proof of concept之外,還能有什麼用呢?

這有什麼用呢?我第一時間想到的是…在iPad上模擬跑Windows吧!

說到iOS 26上模擬x86指令集的應用,我第一時間想到的是iSH Shell,透過模擬x86指令來在iOS跑Alpine Linux的userspace程式,效率可能比qemu user mode要好,但是缺乏JIT加速。

UTM能夠跑其他作業系統的虛擬機。但因為需要側載才能取得效能較好的JIT加速。實用性不高。沒有JIT的UTM SE連Windows XP開機都非常地慢。

RetroArch雖然能夠模擬DOS與Windows 98的系統,不過它畢竟不是完整的環境。

說回v86,我覺得v86比較有用的場合是在iPadOS上使用,因為v86使用Safari瀏覽器就能跑,繞過了一般APP無法存取JIT的問題啊!

我覺得v86或許能夠成為UTM的替代品,雖然作業系統硬碟狀態需要手動下載保存,不過如果能掛載CDROM載入exe的話,作為一個暫時處理檔案的瀏覽器內攜帶系統也是不錯的用途吧!也可以玩很老的DOS遊戲。

就實用性來說,最好的系統應該是Windows XP,能夠跑一些古早的Office版本文書程式,也能透過Supermium瀏覽器上網。v86作者沒有提供Windows XP映像檔,可能是檔案太大了,那麼相容性接近Windows NT 4.0的「ReactOS」也是能夠考慮的選項。

可惜的是,根據我在iPadOS 26的測試結果,Safari似乎不想讓這個網站抓取我的滑鼠,導致不好操作。

2. 一個類似v86的有趣專案:BoxedWine
#

BoxedWine這個技術同樣很有趣,它將Wine封裝在一個最小Linux環境裡面,透過模擬Linux核心與x86架構的CPU,使其能做到跨平台支援,在Windows它可以當成32位元的懷舊遊戲模擬器使用。

另一方面,它可以透過WebAssembly在瀏覽器執行。還沒加入JIT所以效能很差。

作者有做一些網頁版Demo,跑得都是20年前的老遊戲,如此一來在EmulatorJS以外,又多了一個網頁玩老遊戲的解決方案。

相關文章

Linux系統QEMU/KVM指令教學,安裝UEFI開機的虛擬機
分類   資訊科技 虛擬機與容器技術
標籤   Linux QEMU-KVM QEMU
qemu-3dfx,給Windows XP/Windows 98虛擬機啟用3D加速
分類   資訊科技 虛擬機與容器技術
標籤   Windows QEMU
EmuGUI + QEMU,Windows系統安裝虛擬機軟體
分類   資訊科技 電腦軟體分享 虛擬機與容器技術
標籤   QEMU Windows

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。