什麼是 WinBoat:Linux 上真正的 Windows 應用程式相容性

最後更新: 十月14 2025
  • WinBoat 使用 KVM 和 Docker 運行真正的 Windows,並將其 Windows 整合到 Linux 中。
  • 比 Wine 具有更好的兼容性,具有 GPU 限制和核心反作弊功能。
  • 明確的要求:活動的 KVM、rootful Docker、FreeRDP 3 和 /var 中的 32 GB。

Linux 中的 WinBoat 是什麼?

切換到 Linux 系統需要遵循一定的規則,而且幾乎總是出於同一個原因:與 Windows 應用程式的兼容性。雖然幾乎所有功能都有開源替代方案,但它們並不總是能 100% 滿足您的需求,您可能仍然依賴某個編輯器、某個 ERP 系統或某個只能在微軟系統上運行的特定遊戲。

這就是 WinBoat 的用武之地:它既不是類似 Wine 的底層程序,也不是傳統意義上的重量級虛擬機。 WinBoat在底層運行著一個真正的 Windows 環境,利用 KVM 虛擬化和 Docker 容器,並透過 FreeRDP/RemoteApp 將 Windows 整合到你的 Linux 桌面中。最終,Windows 應用程式幾乎可以像原生應用程式一樣運行,無需雙重啟動或處理複雜的配置。

WinBoat 是什麼?它有什麼用途?

WinBoat 是一款免費開源應用程序,旨在彌合兩個世界之間的鴻溝:打造「企鵝版 Windows」。其開發者 TibixDev 設計了一個簡潔流暢的介面,並配備了自動化功能,力求讓 Windows 與 Linux 整合環境的搭建變得盡可能簡單,既適合 Windows 新手,也適合需要可靠性的高級用戶。

本質上,它會啟動一個真正的 Windows 系統,並將程式以獨立視窗的形式呈現在您的 GNOME、KDE ​​或其他桌面環境中。如果某個程式在 Windows 上運作正常,那麼它很可能也能在這裡運行,但有兩個主要例外:需要高級圖形加速(GPU 直通)的應用程式和具有核心級反作弊功能的遊戲。

除了視窗整合之外,WinBoat 還提供了一些實用功能:按需提供完整的 Windows 桌面、智慧卡直通、資源監控,以及每個版本都會帶來的改進。其理念並非模擬或轉換 API,而是封裝 Windows 並以便捷穩定的方式將其應用程式暴露出來。

如果您使用過 WinApps,您會發現 WinBoat 的設計概念有所不同。在 WinApps 專案中,設定流程更依賴使用者操作:手動步驟更多,自動化程度更低。而 WinBoat 透過圖形化嚮導和更流暢的使用者體驗,減少了使用者的操作負擔,同時在需要微調時也能提供足夠的控制權。

使用 WinBoat 在 Linux 上開發 Windows 應用程式

工作原理:KVM、Docker 和 FreeRDP 的底層原理

WinBoat 的核心技術優勢在於融合了多種成熟技術:KVM 用於硬體輔助虛擬化,Docker 作為基礎架構編排器,FreeRDP/RemoteApp 用於在 Linux 桌面上建立視窗。您不會看到傳統的虛擬機器「監視器」:您會看到可分離、可停靠、可調整大小和可移動的窗口,就像任何其他原生應用程式一樣。

為了確保流暢的工作流程,WinBoat 會將您的 Linux 用戶目錄掛載到 Windows 用戶端環境中。文件共享即時完成,無需額外的網路設定。您可以打開特定的 Windows 應用程序,使用 Alt+Tab 切換桌面,在桌面之間移動應用程序,或根據需要打開整個客戶機桌面。

這種方法避免了常見的 Wine 呼叫轉換錯誤,因為它根本不會進行任何轉換:它運行的是真正的 Windows 系統。但作為回報,它比簡單的兼容層消耗更多資源,如果你的電腦配置不高,這一點需要注意。

在介面設計方面,WinBoat 採用基於 Electron 的現代化介面,使安裝和啟動過程更加便捷。其理念是使用者只需進行必要的操作:選擇您的偏好設置,其餘一切都由系統自動完成。

  用於排查電腦問題的 Windows 終端機命令

要求和與發行版的兼容性

為確保一切順利,建議您仔細閱讀系統需求清單。 WinBoat 需要BIOS/UEFI 中啟用虛擬化(Intel VT-x/AMD-V),且 Linux 核心需要能夠存取 KVM。如果 KVM 被封鎖或停用,無論您如何正確安裝其他元件,WinBoat 都無法啟動。

合理的最低配置要求如下:虛擬機器需要 4 GB 記憶體(理想情況下為 8 GB 或更多,以避免主機過載),CPU 至少需要雙線程,以及大約 32 GB 的可用空間,最好位於 /var 目錄下,用於下載鏡像和儲存資料。您還需要 Docker 和 Docker Compose v2,在 WinBoat 中,它們必須以「rootful」模式(具有正常的 Docker 權限)執行。

重要提示:目前不支援 Docker Desktop 、無根容器或 Podman。在以 Podman 套接字取代 Docker 的環境中,與虛擬機器的通訊會中斷。我們已將此功能列入開發計劃,但目前仍存在一些網路問題需要解決。

在遠端桌面方面,WinBoat 依賴具有音訊功能的 FreeRDP 3.xx版本。請確保已安裝該版本,以避免任何聲音問題。另外,執行 WinBoat 的使用者必須屬於 `docker` 使用者群組,以避免頻繁使用 `sudo` 指令。

至於發行版,選擇範圍很廣。如果你的發行版支援 AppImage、.deb 或 .rpm 檔案格式,那麼它很可能可以正常工作(例如 Ubuntu、Fedora、Mint 等),前提是你滿足上述要求並正確配置了 Docker 和 KVM。

下載、安裝和可用格式

此專案發布的建置版本便於使用者快速上手。您可以選擇AppImage(便攜版)或解壓縮後的軟體套件(「Unpacked」),只需執行 `linux-unpacked/winboat` 目錄下的二進位檔案即可。在某些發行版上,您也可以找到社群或倉庫提供的 .deb 或 .rpm 檔案(如有)。

首次安裝會下載並部署 WinBoat 所使用的基礎 Windows 映像。除非您選擇從頭開始,否則無需從頭開始:精靈會自動完成大部分流程,只需幾分鐘,您的環境即可準備就緒。在某些情況下,如果您需要符合特定要求的 Windows 安裝,也可以選擇使用自訂 ISO 鏡像。

初始設定時間在正常網路連線下大約需要半小時。請確保在此期間網路連線穩定。配置完成後,啟動 Windows 應用程式或開啟桌面速度會快得多。

請記住,您需要自行安裝一些元件:Docker、Compose v2、FreeRDP 3、docker 使用者群組以及 iptables 模組(iptables 和 iptable_nat)。完成這些設定後,其餘步驟就相當簡單,應用程式會引導您完成。

從原始碼和開發模式編譯

如果您希望在自己的機器上建立 WinBoat,只要您擁有所需的依賴項,整個過程就非常簡單。在開始之前,您需要安裝 NodeJS 和 Go。以下是經過總結和調整的基本步驟:

git clone https://github.com/TibixDev/WinBoat
npm i
npm run build:linux-gs

產生的二進位檔案將出現在 dist 資料夾中,其中包含 AppImage 和解壓後的版本。對於開發環境,您可以使用以下命令啟動本機環境: npm 運行開發 編譯“來賓伺服器”後 npm run build-guest-server. 這加快了迭代速度 無論您要貢獻還是調試。

USB、週邊設備和硬體設置

USB 直通功能在圖形介面中很常見,但今天 可以手動使用。安裝 WinBoat 後,在 ~/.winboat/docker-compose.yml 向用戶端公開特定的 USB 裝置。進行更改後,使用以下命令套用變更:

  如何升級到 Windows 11 25H2:終極指南

docker-compose down
docker-compose up -d

只要稍加註意,你就可以將讀卡機、加密狗或其他週邊設備連接到 Windows 虛擬機器。在圖形使用者介面正式整合這些控制項之前,這是一種有效的替代方案。

圖形加速和 GPU 直通狀態

目前,WinBoat 中尚無穩定可用的 GPU 直通功能。計劃採用半虛擬化驅動程序,但尚未有成熟且可供通用的解決方案。我們已探索 MVisor Win VGPU 驅動程式(該驅動程式在其他虛擬機器管理程式中取得了令人鼓舞的結果),並密切關注 DirectX 驅動程式的開發進度。

為了避免使用第二塊GPU,研究人員也對Looking Glass(尤其是其間接顯示驅動程式)進行了研究,但迄今為止,嘗試的結果要么是黑屏,要么是無法發布的結果。社群和這些組件的作者都表示,它尚未準備好可靠使用。

實際結果顯而易見:目前該專案並不擅長運行AAA級遊戲和高要求的3D軟體。如果您追求的是最高畫質的遊戲體驗,那麼在專用虛擬機器(以及相容的硬體)上使用雙重啟動或PCIe直通方案仍然是更現實的選擇。

WinBoat 與 Wine、Proton 和傳統虛擬機

與 Wine 相比,WinBoat 簡直是天壤之別。 Wine將 Windows 調用轉換為 Linux 調用,如果轉換正確,它輕量級且速度極快。但它在處理現代應用程式或具有非常特殊依賴項的應用程式時會遇到困難。 WinBoat 透過直接執行 Windows 來避免這項缺陷,但代價是會佔用更多的 CPU、記憶體和儲存資源。

Proton(Valve 的 Wine 版本)專注於 Steam 遊戲,並取得了巨大的改進。然而,其嚴格的反作弊機制和某些內核依賴性仍然是其發展的障礙。在生產力和企業軟體領域,WinBoat 因其可靠性而備受好評。

與 VirtualBox 或 VMware 相比,WinBoat 在日常使用中更加「輕量級」:您無需像以前那樣管理虛擬磁碟或分配固定的資源,而且 Windows 與主機的整合也更加流暢。即便如此,也不要忘記,其底層仍然是一個完整的 Windows 系統,因此也需要消耗一定的資源。

具有反作弊功能的遊戲和軟體

如果你熱衷於使用核心級反作弊系統的競技類線上遊戲,那就沒有捷徑可走:這些系統會偵測到虛擬化並阻止啟動。玩一些配置要求不高或較老的遊戲或許還能勉強應付,但WinBoat並非為硬派遊戲平台而設計。對於這類遊戲,雙系統啟動或使用專用的Windows電腦才是更明智的選擇。

然而,對於休閒遊戲或輔助遊戲工具(啟動器、非核心依賴型模組等),考慮到虛擬化的開銷和缺乏完整的 3D 加速,其效能可能已經足夠。

實際應用、用例和現實世界相容性

WinBoat 的真正優勢在於其能夠出色地運行 Wine 難以駕馭的生產力工具和專業軟體。例如 Affinity Photo、Paint Tool SAI v1.0、部分 Adob​​e 套件、Acrobat 和 AeroChat,以及 Microsoft Office(包括 Office 365)。對於工作室、辦公室和企業環境而言,這種可靠性比純粹的性能更為重要。

  如何在 Windows 11 上安裝並充分利用 PowerShell

對於那些即將放棄 Windows 10 的用戶來說,WinBoat 也極具吸引力,因為 Windows 10 的支援將於 2025 年 10 月 14 日結束。如果您的硬體不符合 Windows 11 的要求,或者您只是更喜歡 Linux,WinBoat 可以大大降低您在過渡期間丟失關鍵 Windows 工具的擔憂。

在日常使用中,能夠像打開原生應用程式一樣打開特定的 Windows 應用,從主螢幕共享文件,並保持穩定性,這真是一種享受。延遲是存在的——畢竟它是一個虛擬客戶端——但在辦公室應用、會計、管理、二維設計或商業工具中,通常完全可以接受。

專案狀態、許可證和貢獻

WinBoat 目前仍處於穩定測試階段。可能會出現一些漏洞、網路問題或特定配置的限制。儘管如此,其改進速度良好,專案社群也不斷壯大,為 Ubuntu、Fedora、Arch 和其他發行版提供了指南和貢獻。

本專案採用MIT 許可證,因此您可以貢獻程式碼、文件或回饋。 Pull Request 應著重於技術面(包含政治、色情或其他無關內容的貢獻將不予考慮)。如果您想提供協助,最好的方法是審查問題、提出改進建議,並提交定義清晰、文件齊全的 Pull Request。

關於溝通方面,一些論壇貼文和參考網站會顯示標準的隱私和 Cookie 通知(例如 Reddit 或 X 嵌入等平台)。這些通知是這些網站特有的,不會影響 WinBoat 的功能;它們僅作為參考資料的背景資訊。

保持流程順暢的快速提示

在開始安裝之前,請花五分鐘驗證 您的使用者在 docker 群組中 並且你可以在沒有 sudo 的情況下運行容器。如果不是,請使用 sudo usermod -aG docker tu_usuario 然後重新登入。

請確認 FreeRDP 版本為 3.xx 且支援音訊輸出。早期版本可能會導致音訊問題。此外,請檢查 /var 目錄下是否有足夠的空間,以免 Windows 映像和資料在部署過程中遺失。

在 BIOS/UEFI 中啟用 VT-x/AMD-V,進入 Linux 系統後,使用常用指令驗證 KVM(例如,列出模組或檢查權限)。如果沒有正常工作的 KVM,無論其他所有設定多麼正確,WinBoat 都無法運作。

如果您打算在客戶機中使用 USB 設備,請記下它們的識別碼並記錄對它們所做的任何變更。 ~/.winboat/docker-compose.yml. 迷你清單可以節省您的時間 升降貨櫃或更換設備時。

WinBoat 提供了一種務實的解決方案:它透過容器化的 Windows 環境,整合了 Windows 系統,並採用比傳統虛擬機器更輕量級的方式,實現了在 Linux 系統上近乎完全相容 Windows 應用。雖然它並非運行 AAA 級遊戲或 GPU 密集型任務的理想工具,但對於生產力應用、企業套件以及 Wine 或 Proton 無法很好地處理的軟體而言,它卻是一個可靠的橋樑。如果您希望在 Linux 系統上獲得自由,同時又不放棄您常用的 Windows 程序,那麼 WinBoat 無疑是您日常使用的理想之選。