wineboot 挂起并且无法完成

wineboot 挂起并且无法完成

我在 macOS 10.13.4 上使用 Wine 时遇到了一个奇怪的问题。我安装了 Homebrew,并且安装了 Wine brew install wine winetricks

$ wine --version
wine-3.0

当我运行时,wineboot --init > log 2>&1我得到一个对话框,上面写着The Wine configuration in /Users/richard/.wine is being updated, please wait。日志文件如下所示:

wine: created the configuration directory '/Users/richard/.wine'
0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0012:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0012:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0012:err:ole:get_local_server_stream Failed: 80004002
0014:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0014:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0014:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0014:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0014:err:ole:get_local_server_stream Failed: 80004002
0017:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
0017:err:mscoree:LoadLibraryShim error reading registry key for installroot
0017:err:mscoree:LoadLibraryShim error reading registry key for installroot
0017:err:mscoree:LoadLibraryShim error reading registry key for installroot
0017:err:mscoree:LoadLibraryShim error reading registry key for installroot
0017:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0017:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
001b:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
001b:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
001b:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0010:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0010:fixme:dwmapi:DwmIsCompositionEnabled 0x6dbd1518
0010:fixme:winsock:set_dont_fragment IP_DONTFRAGMENT for IPv4 not supported in this platform
001d:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x69ebd3de, context 0x9e6640, init_notify 0, handle 0x12dfa40): stub
0009:err:process:__wine_kernel_init boot event wait timed out
004a:fixme:mountmgr:DriverEntry failed to create device error c0000035
004a:err:winedevice:async_create_driver failed to create driver L"MountMgr": c0000035
005a:err:hid_report:process_hid_report Device reports coming in too fast, last report not read yet!
005a:err:hid_report:process_hid_report Device reports coming in too fast, last report not read yet!
    [THE ABOVE LINE IS REPEATED 1000s OF TIMES]

当我wine64在一小时后使用 SIGTERM 终止程序时,以下几行被附加到日志文件中:

006e:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
006e:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
006e:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
006c:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
006c:fixme:dwmapi:DwmIsCompositionEnabled 0x6d5d3018
0070:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x6a0cb608, context 0x958950, init_notify 0, handle 0x119fce8): stub
006c:fixme:winsock:set_dont_fragment IP_DONTFRAGMENT for IPv4 not supported in this platform
wine: configuration in '/Users/richard/.wine' has been updated.
  • rm -rf ~/.wine在这一切之前就这么做过
  • WINEPREFIX未设置
  • Homebrew 并且wine是最新可用版本
  • winebootwineboot --init都有wineboot --update同样的问题

我怎样才能wineboot不挂起而完成?

编辑:我目前正在设置 macOS 10.13.4 虚拟机来测试是否发生同样的事情。

编辑 2:我在全新的 macOS 10.13.4 虚拟机中测试过,遇到了同样的问题。我尝试过brew install wine(针对 Wine 3.0 稳定版)和brew install wine --HEAD(针对最新的 Wine 3.7),两者都遇到了同样的wineboot挂起问题。

编辑 3:我认为日志行0009:err:process:__wine_kernel_init boot event wait timed out可能是问题所在,但不知道如何解决它。

答案1

刚刚发现这是 Homebrew 版本的一个已知错误,请参阅https://github.com/Homebrew/homebrew-core/issues/26384。目前的解决方法是使用官方版本https://dl.winehq.org/wine-builds/macosx/download.html

答案2

命令wineboot挂起,因为它很可能会弹出一些错误信息。要查看弹出消息错误,请确保您已DISPLAY配置指向当前显示的正确变量。

常见问题是弹出有关缺少 Gecko 的提示。wineboot非交互运行的解决方法是忽略 Gecko 包通过以下命令:

WINEDLLOVERRIDES="mscoree,mshtml=" wineboot -i

另一个问题可能与 .NET/rundll32 有关,请参阅:错误 #47144

相关内容