无法在已安装的分区上运行可执行文件

无法在已安装的分区上运行可执行文件

我在 fstab 中以以下方式安装了一个图像:

/home/fbence/ee_modbox.img /home/fbence/mounted/modbox lowntfs-3g windows_names,ignore_case,umask=007,uid=fbence 0 0

在已安装映像上的特定文件夹中,我拥有具有以下权限的以下文件:

fbence@localhost:~/mounted/modbox/bg2ee/game$ ls -l
total 38239
-rwxrwx--- 1 fbence root 11774908 dec   19  2017 baldursgateii
drwxrwx--- 1 fbence root     4096 dec   19  2017 characters
-rwxrwx--- 1 fbence root  1154176 dec   19  2017 chitin.key
drwxrwx--- 1 fbence root    57344 dec   19  2017 data
drwxrwx--- 1 fbence root     4096 jan   27  2018 eet
-rwxrwx--- 1 fbence root    29271 dec   19  2017 eet_end.tp2
-rwxrwx--- 1 fbence root      162 dec   19  2017 eet_gui.tp2
drwxrwx--- 1 fbence root     4096 dec   19  2017 eet_tweaks
-rwxrwx--- 1 fbence root      109 dec   19  2017 engine.lua
drwxrwx--- 1 fbence root        0 dec   19  2017 lang
lrwxrwxrwx 1 fbence root       14 nov    3 23:44 libjson.so.0 -> libjson-c.so.2
-rwxrwx--- 1 fbence root      255 jan   27  2018 list.txt
drwxrwx--- 1 fbence root        0 dec   19  2017 manuals
drwxrwx--- 1 fbence root     4096 dec   19  2017 movies
drwxrwx--- 1 fbence root    53248 dec   19  2017 music
drwxrwx--- 1 fbence root  3072000 jan   27  2018 override
drwxrwx--- 1 fbence root     4096 dec   19  2017 scripts
-rwxrwx--- 1 fbence root 17548975 dec   19  2017 setup-eet.debug
-rwxrwx--- 1 fbence root  1028264 dec   19  2017 setup-eet_end
-rwxrwx--- 1 fbence root  1028264 dec   19  2017 setup-eet_gui
-rwxrwx--- 1 fbence root  3361726 jan   27  2018 setup-eet_tweaks.debug
-rwxrwx--- 1 fbence root     3950 dec   19  2017 weidu-bgee.log
-rwxrwx--- 1 fbence root       17 dec   19  2017 weidu.conf
-rwxrwx--- 1 fbence root     1879 jan   27  2018 weidu.log
drwxrwx--- 1 fbence root        0 dec   19  2017 worldmap

当我尝试执行baldursgateii可执行文件时出现错误,我完全不明白为什么会出现这个错误:

fbence@localhost:~/mounted/modbox/bg2ee/game$ ./baldursgateii 
bash: ./baldursgateii: No such file or directory

镜像和设置是从另一台运行与当前计算机相同的 Ubuntu 18.04 的计算机复制而来的。文件显然在那里,我实际上使用 bash tab 自动完成来输入文件名,但它仍然说没有这样的文件...这里出了什么问题?

编辑

fbence@localhost:~/mounted/modbox/bg2ee/game$ ldd baldursgateii 
    not a dynamic executable

答案1

当您知道是二进制可执行文件但无法运行时,并出现一条No such file or directory消息,这通常是由于共享库存在问题。

在某些情况下,这是因为缺少一个或多个共享库。运行

ldd ./baldursgateii

(例如)应该有助于识别哪一个。另一方面,如果ldd本身失败,则会出现无用(且不正确)的消息

not a dynamic executable

那么这可能表明你正试图在缺少 32 位动态加载程序的系统上运行 32 位可执行文件,如ldd 32 位 exe / 64 位操作系统

要在当前多架构 64 位系统中获取缺少的 32 位加载器,您应该安装该libc6-i386软件包:

sudo apt install libc6-i386 

apt show libc6-i386

描述:GNU C 库:适用于 AMD64 的 32 位共享库 此软件包包含标准 C 库和标准数学库的共享版本,以及许多其他库。这是该库的 32 位版本,适用于 AMD64 系统。

除了 32 位加载器之外,这还会安装一组最小的 32 位库:如果程序仍然无法执行,请ldd ./baldursgateii再次运行以检查其他特定未满足的库依赖关系。

相关内容