Windows10 Ubuntu子系統運行 linux原生程序

工作當中會用當Ubuntu系統,但是主要的工作又是在Windows平臺, 這樣就需要用到虛擬機,而因爲公司裝了加密軟件,系統本來就比較卡頓,再開虛擬機就巨卡無比了。

於是就開始嘗試使用Windows10的linux子系統, 然後就操作了一番,發現運行我們的交叉編譯工具鏈時會出現,“Exec format error” , 一開始以爲是 32位和64位的區別,然後就安裝了32位兼容的各種包, 結果仍然不行。

最後沒辦法了,就只有不停的在網上搜索,看看有沒有哪位大神解決過這樣的問題,不愧是萬能的網絡,還真被我找到了,這裏就把它記錄下來,說不定哪天會再次用到呢!

問題的原因是:Windows10的linux 子系統不支持原生linux程序的文件頭

解決方法: 添加xxx形式文件頭支持

使用如下命令(三條命令):

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’

經測試,確實能解決我遇到的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章