如何强制Wine在64位Ubuntu上模拟32位Windows操作?

在64位Ubuntu 12.04上安装Wine时,会同时安装64位支持和32位支持。如果我运行wine foo.exe,其中foo.exe是一个64位感知的安装程序,则它会认为自己在64位Windows上。如果这种模式不失败,那么这将是可以接受的,但在我的情况下,它失败了(然而,Wine数据库表明我正在尝试安装的应用程序应该作为32位应用程序工作)。
我如何告诉Wine(和Winetricks)以32位模式使用Wine?
7个回答

原来要让Wine以32位模式运行,需要执行以下步骤:
1. 如果已经在64位模式下创建了~/.wine文件夹,请将其删除。(警告:这将删除您在Wine下安装的所有内容。如果想避免数据丢失,请将其移动到其他位置。) 2. 将WINEARCH环境变量设置为win32,即执行export WINEARCH=win32命令。 3. 然后运行wine(或winetricks等)。

1只是用这个来获取Editpad Pro 7.1.1(32/64位.exe)在12.04 LTS(64位)下正确安装。在删除**~/.wine**后,需要重新安装任何应用程序(在Wine下)。 - david6
1如果在失败的步骤之后,只需将.wine移动到.wine_backup。 - deadfish
8在.bashrc文件中的第10行后面添加了一行**export WINEARCH=win32**。 - david6
将WINEARCH环境变量设置为win32,即执行export WINEARCH=win32命令。如何操作? - user47206
我在.bashrc文件中添加了这些行 - Postadelmaga
对我来说不起作用。而且糟糕的是,在PlayOnLinux的32位库中存在一个错误,安装过程中出现了看不见的窗口。所以我没有任何选择。 - makkasi

在那里安装playonlinux,你将拥有这个选项。它是wine的前端,使其更好。enter image description here

这张照片是在一个12.04 - 64位系统上拍摄的。


我找不到这个选项。在PlayOnLinux界面的哪里可以找到它? - hsivonen
3工具 [第三个下拉菜单] -> 管理 Wine 版本。我会截图的。 - gajdipajti
即使将x86 Wine 1.5.4从"可用"列移至"已安装"列,通过PlayOnLinux中的"配置"按钮启动安装仍会以64位兼容版本的Wine启动。 - hsivonen

你可以简单地将所有的win32文件复制到.wine目录下,以替代不必要的更改所有运行命令的需求。这样做可以避免对系统进行过多的修改。首先,运行以下命令:
WINEPREFIX="$HOME/prefix32" WINEARCH=win32 wine wineboot

假设您已经成功运行了具有64位兼容性的.wine。如果没有,您仍然可以在您的主目录中创建一个名为.wine的文件夹。
然后将主目录中找到的prefix32的所有内容复制到您的.wine内容区域,包括文件和目录。如果您计划运行32位的wine,请先备份或删除.wine目录中的内容,不要覆盖内容!如果您已经备份,请直接删除。
请记住,.wine目录可能是隐藏的,只有在查看隐藏文件时才能看到主目录中的该文件夹。您也可以使用Ubuntu中的Thunar中的“前往”功能,直接进入主目录中名为.wine的文件夹,并按照之前所述的步骤进行操作。

1这是回应中最明智的一个,谢谢。 - JBernardo

你可以通过安装playonlinux在64位Linux机器上运行32位的Windows程序。具体步骤如下:
1. 如果之前没有安装过playonlinux,请执行以下命令进行安装:sudo apt install playonlinux。
2. 启动playonlinux图形界面:playonlinux &。
3. 在左侧边栏点击“安装程序”。
4. 点击“安装一个非列出的程序”。
5. 如果这是你第一次启动playonlinux,可能需要点击两个通知窗口。
6. 点击“下一步”,然后选择“在新虚拟驱动器中安装程序”。
7. 为你的新虚拟驱动器选择一个名称,最好使用你想要安装的Windows程序的名称。
8. 在下一个屏幕上不选中任何复选框,然后点击“下一步”。
9. 选择“32位Windows安装”并点击“下一步”。
10. 点击“浏览”来选择你想要安装的程序的安装文件,并按照安装程序的指示进行操作。

按照之前所述安装Play on linux,我只用了大约1分钟。你需要的是:

  1. 必须要有一个32位的wine版本,就像之前所说。
  2. 接下来需要点击安装。
  3. 点击底部的文本,类似于安装未列出的程序。
  4. 勾选更改wine版本。
  5. 选择你已经安装的32位版本。
  6. 创建一个新的虚拟磁盘。
  7. 给它命名。
  8. 并且最重要的是:选择32位虚拟磁盘。
  9. 选择安装程序并安装。

尝试移除.wine并导出一个wine前缀。
$rm -r .wine
$export WINEARCH=''win32''
$export WINEPREFIX=~/.wine

$wine config

如果你只创建了一个Program Files文件夹,而没有x86文件夹,那么你可以在winetricks上下载Dll文件。 - Luk Gaming

虽然你不能在同一个容器中运行,但是通过设置Biarch,你仍然可以同时拥有两者。请参考这篇关于设置的Wine白皮书。 尽管hsivonen给出了最简单的答案,但这是实现你所需功能的方法。

https://wiki.winehq.org/Building_Biarch_Wine_On_Ubuntu


1链接很好,但有可能会失效,因此提供一些相关信息的压缩形式将会很有帮助。 - George Udosen