说明
Wine 需要能够创建 16 位 LDT 段才能运行 16 位 的应用程序。请注意,相当多表面上看起来是 32 位的应用程序,实际上在某些地方(比如启动器)仍然套用了 16 位代码。
然而,Linux 内核在 3.14 版本左右,为了临时修复一个安全漏洞,64 位系统上 移除了对 16 位段的支持,这很可能就是出现此问题的原因。
解决方法
解决这个问题最好的办法,就是将 Linux 内核升级到已修复相关安全问题的版本,也就是 3.16 或更高版本。除此之外,最简单的解决办法通常是将 Linux 内核降到 3.13 或更早版本。
针对部分 Linux 内核的另一个解决方案是,以 root 身份运行以下命令:
echo 1 >/proc/sys/abi/ldt16但请注意,这样做意味着在内核中重新引入了原本存在的安全隐患。此外,该设置在重启后会重置,您可能需要设置一个 init.d 脚本实现自动执行该操作。