wine无法运行exe解决方案(Path not find)

我下载的wine一直无法正常运行exe文件,折腾了好久,网上大量搜索也没有发现问题原因(貌似大家都没有遇到过一样),反复实验排除了系统版本的问题,wine版本问题。最后终于发现原来是wine与exe文件路径配置的问题。


针对问题:

wine正常安装后,无法运行非Windows自带的exe、bat等其他合法的Windows可执行文件,即自行安装(解压)的Windows程序无法运行。


问题现象:

在图形界面里面双击exe文件时,弹出一个wine对话框,内容为:"Path not find"。

在命令行中使用相对路径执行该文件,提示(假设程序为/home/userx/abc.exe):

wine: cannot find L"unix\\home\\userx\\abc.exe"

若在命令行下使用完整的路径名也无法运行并会提示:

wine: cannot find L"\\home\\userx\\abc.exe"


这些因素与问题无关:

32位或64位的linux系统。

wine版本。


问题原因:

wine只能运行放置在“在wine中配置了Windows盘符的目录(含子目录)”下面的exe程序,即文件需要有一个合法的Windows路径才能运行。
默认情况下,只有C:是合法的,它被自动配置为“$HOME/.wine/driver_c”。
详细解释:

wine在运行exe的时候,需要先将这个exe文件所在的路径用合法的Windows路径表示(在$HOME/.wine/dosdevices目录中以符号链接的形式保存了合法的路径映射(从虚拟Windows盘符到本地Linux路径))。这里就涉及一个Linux路径到Windows路径的映射,为了简化映射逻辑和方便使用,wine只允许进行磁盘分区级别的映射,即将某个Linux目录映射为一个虚拟Windows分区,由此访问该Linux目录下的目录和文件在wine中就完全等效于访问该虚拟Windows分区下的目录和文件。默认情况wine只为我们将“$HOME/.wine/driver_c”配置为虚拟的C盘,因此只有“$HOME/.wine/driver_c”下的文件才有合法的Windows路径,才能改被wine成功加载并运行。


解决方法:

本质上是让所运行的exe文件具有合法的能够被wine识别的Windows路径映射。

法1:

把需要运行的exe程序放置在$HOME/.wine/driver_c下的某个位置。

法2:

为Linux中放置exe程序的目录(或其某个上级目录)配置路径映射。

配置方法有二:

2.1修改$HOME/.wine/dosdevices/下的空白符号链接文件,让其中某一个链接文件指向需要的路径。

2.2使用winecfg在图形界面中配置location部分。值得一提的是:有一个auto detection功能,它会自动提取磁盘分区信息并为各个分区所对应的Linux挂载点生成一个对应的Windows盘符(就类似Windows的一个物理分区对应一个盘符的显示方式,只是C盘不同了)。



原载于http://blog.csdn.net/yanxiangtianji

转载请注明出处



  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值