出现You are using a 64-bit WINEPREFIX时,创建32位WINEPREFIX 的指南以解决问题

使用 Wine 的 WoW64 模式:创建 32 位 WINEPREFIX 的指南

Wine 是一个兼容层,使类 Unix 操作系统能够运行 Windows 应用程序。WoW64(Windows-on-Windows 64-bit)是 Wine 的一个子系统,允许在 64 位环境中运行 32 位 Windows 应用程序。然而,WoW64 模式目前仍被视为实验性功能,可能会遇到兼容性问题。因此,建议在需要运行 32 位应用程序时,创建一个独立的 32 位 WINEPREFIX。

什么是 WINEPREFIX?

WINEPREFIX 是一个环境变量,指定了 Wine 存储其配置文件和已安装 Windows 应用程序的目录。默认情况下,这个目录是 ~/.wine。通过创建不同的 WINEPREFIX,用户可以为不同的应用程序设置独立的环境,以避免潜在的冲突。

创建 32 位 WINEPREFIX 的步骤

删除现有的 WINEPREFIX(如果存在):

在终端中执行以下命令:

1
rm -rf ~/.wine

注意: 这将删除当前 WINEPREFIX 中安装的所有 Windows 应用程序。请确保在执行此操作前备份重要数据。

设置环境变量并初始化新的 32 位 WINEPREFIX:

执行以下命令:

1
WINEARCH=win32 WINEPREFIX=~/.wine winecfg

此命令将设置 WINEARCH 为 win32,并将 WINEPREFIX 指定为 ~/.wine,然后运行 winecfg 初始化新的前缀。

注意: 在某些情况下,使用 WoW64 模式的 Wine 版本可能不支持创建 32 位 WINEPREFIX。如果遇到相关错误,请参考下文的解决方案。

安装 Windows 应用程序:

在新的 32 位 WINEPREFIX 中,您可以像往常一样安装和运行 32 位 Windows 应用程序。例如:

1
WINEPREFIX=~/.wine wine setup.exe

这将使用指定的 WINEPREFIX 运行安装程序。

处理 WoW64 模式的兼容性问题
由于 WoW64 模式仍处于实验阶段,可能会遇到以下问题:

无法创建 32 位 WINEPREFIX: 在 WoW64 模式下,尝试设置 WINEARCH=win32 可能会导致错误。例如:

1
kotlinwine: WINEARCH is set to 'win32' but this is not supported in wow64 mode.

此时,建议使用传统的 32 位 Wine 版本,或在 64 位系统上安装支持多架构的 Wine 版本。
应用程序兼容性问题: 某些 32 位应用程序可能无法在 WoW64 模式下正常运行。如果遇到此类问题,建议在纯 32 位环境中测试应用程序。

结论

虽然 WoW64 模式为在 64 位系统上运行 32 位应用程序提供了便利,但由于其仍处于实验阶段,可能存在兼容性问题。为确保最佳兼容性,建议在需要运行 32 位应用程序时,创建并使用独立的 32 位 WINEPREFIX。在尝试新的 Wine 功能时,请始终备份重要数据,并在报告问题时注明所使用的 Wine 模式和版本。
通过遵循上述指南,您可以在 Wine 环境中更有效地管理和运行 32 位 Windows 应用程序。