将/ home移至新分区后无法运行可执行文件

将我的/ home移动到一个新的分区,然后重新安装Ubuntu 10.10后,我无法运行/ home中存在的任何types为x-executable的文件。 我只是得到“没有这样的文件或目录”的错误。 其他types的可执行文件,如shell脚本和java可执行文件,都很好。

这里是一个可执行文件的strace输出:

execve("/home/evan/android-sdk/platform-tools/adb", ["/home/evan/android-sdk/platform-"...], [/* 41 vars */]) = -1 ENOENT (No such file or directory) dup(2) = 3 fcntl(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7c4c7b3000 lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(3, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory ) = 40 close(3) = 0 munmap(0x7f7c4c7b3000, 4096) = 0 exit_group(1) = ? 

我张贴我的原始问题堆栈溢出 ,然后有人build议我把它的serverfault。

分区可能会挂载noexec ,在这种情况下,即使它们被标记为可执行文件,也不可能直接执行脚本或程序。 重新安装分区exec

问题在于可执行文件是为32位架构而制作的,而我正在运行amd64。 很容易解决,只需要安装ia32-libs包。