首页/系统/信创系统运维速查/Exec format error:架构不匹配处理
迁移适配65 条

Exec format error:架构不匹配处理

报错 cannot execute binary file: Exec format error 表示二进制架构与主机不符:file/uname 确认后,换对应架构产物或源码编译,不要暴力改名或强跑。

信创系统运维速查系统更新于 2026-10-12

定位

定位
./app
# bash: ./app: cannot execute binary file: Exec format error
file ./app
uname -m
# 例:file 显示 x86-64 而主机 aarch64 → 架构不匹配

处理路径

处理路径
# 1) 获取目标架构产物(优先)
# 2) 源码在本机编译(见 arm-source-compile 条目)
# 3) 脚本类报错则检查 shebang 与换行符:
head -1 script.sh; file script.sh
另一种近似报错 bad ELF interpreter 多为解释器路径问题(如 32 位程序缺 32 位库),先用 file 区分两类。

易错点

  • 同样的报错来源不同:架构不符、脚本 CRLF、解释器路径缺失都要先用 file 分辨
  • 不要试图用 qemu 长期承载核心生产程序:性能与内核接口限制需评估

数据来源与参考

  • man 1 file
  • man 8 binfmt(内核二进制格式)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌