码迷,mamicode.com
首页 > Windows程序 > 详细

Bash On Windows(WSL)无法运行32Bit程序,报错cannot execute binary file: Exec format error解决办法

时间:2019-01-28 17:47:04      阅读:2428      评论:0      收藏:0      [点我收藏+]

标签:linux工具   error   upd   roo   报错   git   ati   intel   重启   

一、背景

windows下用linux工具,但32位的却无法运行报错

aapt: cannot execute binary file: Exec format error
file aapt
aapt: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24

二、解决办法

github上@Froosh给出了他的解决方案,通过安装qemu来运行32位的程序
具体步骤:
Install qemu and binfmt

sudo apt update
sudo apt install qemu-user-static
sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic ‘\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00‘ --mask ‘\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff‘

这一步实现了把程序的运行交由qemu-user-static来运行,从而实现运行32位

注意每次重启WSL都得重新开启,可将这步加到开机自动启动中

sudo service binfmt-support start

参考:
https://github.com/Microsoft/WSL/issues/2468

Bash On Windows(WSL)无法运行32Bit程序,报错cannot execute binary file: Exec format error解决办法

标签:linux工具   error   upd   roo   报错   git   ati   intel   重启   

原文地址:https://www.cnblogs.com/TatuCz/p/10330820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!