Chat
Ask me anything
Ithy Logo

解決 Wine 執行 WeChat 時遇到的錯誤問題

全面指南:在 Linux 系統上配置 Wine 以順利運行 WeChat

linux wine setup

關鍵要點

  • 安裝並配置 winbind 以解決 ntlm_auth 缺失問題
  • 通過 winetricks 安裝必要的 .NET 框架和 DLL 文件
  • 修復 Z 驅動器的讀取權限問題
  • 更新 Wine 至最新版本以獲取最佳相容性
  • 使用 PlayOnLinux 或 Lutris 管理 Wine 環境

1. 安裝並配置 winbind 以解決 ntlm_auth 缺失問題

1.1 問題描述

當您嘗試通過 Wine 運行 WeChat 時,出現如下錯誤訊息:

0024:err:winediag:ntlm_check_version ntlm_auth was not found. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.

這表示系統中缺少 ntlm_auth 工具,Wine 無法進行 NTLM 認證,這是許多 Windows 應用程序正常運行所必需的。

1.2 解決方法

1.2.1 安裝 winbind 套件

ntlm_auth 是 winbind 套件的一部分,因此需要安裝 winbind。根據您的 Linux 發行版,採取以下步驟:

  • 對於基於 Debian/Ubuntu 的系統:
  • sudo apt update
    sudo apt install winbind
  • 對於基於 Fedora/Red Hat 的系統:
  • sudo dnf install samba-winbind-clients
  • 對於 Arch Linux 或基於 Arch 的系統:
  • sudo pacman -S winbind

1.2.2 確認 ntlm_auth 在 PATH 中

安裝完成後,確保 ntlm_auth 位於系統的 PATH 環境變量中:

which ntlm_auth

如果返回類似 /usr/bin/ntlm_auth 的路徑,則表示安裝成功。如果未顯示,您可能需要手動添加路徑或檢查安裝是否正確。

1.2.3 配置 PATH 環境變量

如果 ntlm_auth 未在 PATH 中,您可以手動添加:

export PATH=$PATH:/usr/bin

將上述命令添加到您的 ~/.bashrc~/.zshrc 文件中,以便在每次啟動終端時自動設置。

1.2.4 驗證問題是否解決

重新運行 WeChat,確認是否仍有關於 ntlm_auth 的錯誤訊息。如果錯誤消失,問題已解決。


2. 安裝必要的 .NET Framework 和缺失的 DLL 文件

2.1 問題描述

錯誤訊息中提到缺少以下 DLL 文件:

0208:err:module:import_dll Library MSVCR100_CLR0400.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe") not found
0208:err:module:import_dll Library mscoree.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework64\\v4.0.30319\\mscorsvw.exe") not found

這些 DLL 文件是 .NET Framework 的一部分,WeChat 可能依賴於它們運行。

2.2 解決方法

2.2.1 安裝 winetricks

winetricks 是一個輔助工具,用於在 Wine 環境中安裝各種 Windows 組件。首先,確保已安裝 winetricks

  • 對於基於 Debian/Ubuntu 的系統:
  • sudo apt install winetricks
  • 對於 Fedora 系統:
  • sudo dnf install winetricks
  • 對於 Arch Linux:
  • sudo pacman -S winetricks

2.2.2 使用 winetricks 安裝 .NET Framework

運行以下命令來安裝必要的 .NET Framework 版本:

winetricks dotnet40

根據需要,也可以安裝更高版本,如 dotnet452

winetricks dotnet452

注意: 安裝 .NET Framework 可能會需要一些時間,並且需要多次重試。進行安裝時,請確保 Wine 配置正確,並且沒有其他應用程序在運行。

2.2.3 驗證 DLL 文件是否已安裝

安裝完成後,確認缺失的 DLL 文件已經存在:

ls ~/.wine/drive_c/windows/system32/ | grep 'MSVCR100_CLR0400.dll\|mscoree.dll'

如果能看到這些文件,則表示安裝成功。

2.2.4 重新運行應用程序

再次運行 WeChat,確認是否還有缺少 DLL 的錯誤。


3. 修復 Z 驅動器的讀取權限問題

3.1 問題描述

錯誤訊息中出現如下警告:

wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.

這表示 Wine 嘗試訪問 Z 驅動器時遇到權限問題。

3.2 解決方法

3.2.1 檢查 Wine 驅動器映射

打開 Wine 配置工具,檢查 Z 驅動器的映射設置:

winecfg

在「Drives」選項卡中,確認 Z 驅動器是否正確映射到您的 Linux 根目錄或其他需要的目錄。如果不需要 Z 驅動器,可以選擇刪除它:

  • 選擇 Z 驅動器。
  • 點擊「刪除」按鈕。
  • 應用更改並關閉配置工具。

3.2.2 調整 Z 驅動器的訪問權限

如果您需要使用 Z 驅動器,確保對應的目錄具有正確的讀取權限:

  • 檢查映射目錄的權限:
  • ls -ld /path/to/mounted/directory
  • 如果權限不足,為當前用戶添加讀取權限:
  • sudo chmod -R u+r /path/to/mounted/directory

3.2.3 重新配置 Wine

如果問題仍然存在,可以嘗試重新配置 Wine 環境:

rm -rf ~/.wine
winecfg

注意: 此操作將刪除現有的 Wine 前綴,請確保已備份重要的配置或數據。


4. 更新 Wine 至最新版本

4.1 問題描述

較舊版本的 Wine 可能存在相容性問題或錯誤,導致無法正常運行某些應用程序。

4.2 解決方法

4.2.1 更新 Wine

根據您的發行版,採取以下步驟以更新 Wine 至最新穩定版:

  • 對於 Ubuntu 或基於 Debian 的系統:
  • sudo dpkg --add-architecture i386
    wget -nc https://dl.winehq.org/wine-builds/winehq.key
    sudo apt-key add winehq.key
    sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
    sudo apt update
    sudo apt install --install-recommends winehq-stable
  • 對於 Fedora 系統:
  • sudo dnf config-manager --add-repo https://dl.winehq.org/wine-builds/fedora/$(rpm -E %fedora)/winehq.repo
    sudo dnf install winehq-stable
  • 對於 Arch Linux:
  • sudo pacman -Syu wine

4.2.2 驗證 Wine 版本

安裝完成後,檢查 Wine 的版本:

wine --version

確保顯示的是最新穩定版,例如 wine-6.0 或更高版本。

4.2.3 使用 PlayOnLinux 或 Lutris(可選)

這些工具可以幫助您管理不同的 Wine 配置,降低手動配置的複雜性:

  • 安裝 PlayOnLinux:
  • sudo apt install playonlinux

    啟動 PlayOnLinux,並按照向導進行安裝 WeChat。

  • 安裝 Lutris:
  • sudo apt install lutris

    開啟 Lutris,搜索 WeChat,並按照指示進行安裝。


5. 重建 Wine 前綴並重新安裝應用程序

5.1 問題描述

如果上述步驟無法解決問題,可能需要重建 Wine 前綴並重新安裝 WeChat。

5.2 解決方法

5.2.1 刪除現有的 Wine 前綴

備份現有的 Wine 配置,然後刪除前綴:

mv ~/.wine ~/.wine_backup
rm -rf ~/.wine

5.2.2 創建新的 Wine 前綴

運行 winecfg 以創建新的 Wine 前綴:

winecfg

根據提示完成配置,選擇合適的 Windows 版本(如 Windows 10)。

5.2.3 安裝 WeChat

下載最新的 WeChat 安裝程序,並通過 Wine 運行:

wine ~/Downloads/WeChat.exe

按照安裝向導完成安裝,並在完成後啟動 WeChat 應用。


6. 檢查文件和目錄的權限

6.1 問題描述

某些錯誤訊息指出 Wine 嘗試訪問的文件或目錄權限不足。

6.2 解決方法

6.2.1 調整權限

確保您的用戶對 Wine 前綴目錄具有讀寫權限:

sudo chown -R $USER:$USER ~/.wine

6.2.2 檢查文件系統權限

檢查相關目錄或文件的權限設定,並根據需要進行調整:

ls -ld /path/to/directory
sudo chmod -R u+rwx /path/to/directory

這將確保 Wine 能夠正常訪問並操作所需的文件和目錄。


結論

通過上述步驟,您應該能夠解決在使用 Wine 運行 WeChat 時遇到的常見錯誤。這些步驟包括安裝和配置必要的套件、修復權限問題、安裝 .NET 框架以及確保 Wine 版本是最新的。若問題依然存在,建議檢查系統日誌或查詢相關論壇尋求進一步的幫助。


參考資料



Last updated January 23, 2025
Ask Ithy AI
Download Article
Delete Article