Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Wine:在Linux上運行Windows程式的兼容層

編輯:Linux 教學

Wine (Wine Is Not an Emulator) 是一個在 X Window System 與 UNIX-like 系統上實現 Windows API 的兼容層,讓 Windows 可執行檔 (.exe/.dll) 在 Linux、FreeBSD、Solaris、macOS (透過 WineBottler/CrossOver) 直接運行,無需安裝 Windows 作業系統。

核心架構

  • Winelib:開發工具包,讓 Windows 原始碼重新編譯為原生 UNIX 程式。
  • Program Loader:載入 PE 格式可執行檔,映射 Windows DLL 至 Wine 實現的對應函式。
  • DLL 映射:核心 DLL (kernel32, user32, gdi32, advapi32...) 由 Wine 以 C 重寫;可選擇使用原生 Windows DLL (native) 替換內建實現 (builtin)。
  • Registry/檔案系統/執行緒/同步物件:模擬 Windows 核心子系統語義。

安裝與基本使用


# Ubuntu/Debian
sudo apt-get install wine64 wine32
# RHEL/CentOS/Fedora
sudo yum install wine
# Arch
sudo pacman -S wine

# 執行 Windows 程式
wine program.exe
wine msiexec /i setup.msi

關鍵配置工具

  • winecfg:圖形配置介面 (Windows 版本、函式庫覆寫、磁碟機映射、音訊、圖形)。
  • winetricks:腳本自動安裝常用運行庫 (VC++ Redist、.NET Framework、DirectX、字型、編碼器)。
  • WINEPREFIX:隔離環境變數,預設 ~/.wine。不同程式建議用不同 Prefix 避免衝突。
    WINEPREFIX=~/wine-office winecfg
    WINEPREFIX=~/wine-game wine setup.exe
    

相容性查詢

  • AppDB (appdb.winehq.org):社區維護的程式相容性資料庫,等級:Platinum (完美) → Gold (微調可用) → Silver (部分功能) → Bronze (勉強啟動) → Garbage (無法運行)。
  • 熱門程式現狀:Office 2016/2019 (Silver-Gold)、Adobe Photoshop CS6 (Gold)、騰訊 QQ/微信 (Gold、需補丁)、Steam 遊戲 (Proton 加持下 70%+ Platinum)。

商業增強版

產品廠商特色
CrossOverCodeWeavers圖形化安裝器、瓶管理、商業支援、貢獻代碼回 Wine 上游
Cedega (停止)TransGaming專注遊戲、DirectX 轉譯層
Porting KitPorting TeammacOS 上自動化安裝腳本

現代替代/補充方案

  • Proton (Steam):Valve 基於 Wine + DXVK (D3D11→Vulkan) + vkd3d (D3D12→Vulkan) + 包管理,一鍵運行 Windows 遊戲。
  • WinApps (KVM + RDP):虛擬機運行真實 Windows,應用視窗無縫投射至 Linux 桌面。
  • Box86/Box64:ARM 架構上運行 x86/x64 Linux 程式 (配合 Wine 可跑 Windows 程式)。

局限性

  • 核心模式驅動 (反作弊、授權加密狗) 無法運行。
  • 依賴未文檔化 Windows 內部行為的程式極難相容。
  • 效能開銷:CPU 密集型通常 <5%,圖形密集型視驅動轉譯層而定 (DXVK/vkd3d 近乎原生)。
  • 64 位程式需 wine64 + 32 位庫 (wine32/lib32) 共存。

Wine 是開源逆向工程的奇蹟,讓 Linux 用戶在不妥協自由的前提下,保留運行關鍵 Windows 程式的能力。配合 Proton、WinApps 等新技術,邊界正持續模糊。

Copyright © Windows教程網 All Rights Reserved