chroot 我得到了这个错误:"chroot: failed to run command '/bin/bash': Exec format error"

分享于 

2分钟阅读

ubuntu

  繁體

问题


sudo chroot /mnt/temp



错误如下:


chroot: failed to run command `/bin/bash': Exec format error



这是从哪儿来的?我怎么才能解决?


答案1

确认你使用的是正确的Live CD,你需要一个64bit内核来运行64bit代码,所以检查你的架构。

假设你已将系统挂载为chrooted在/media/sda1中,以确定可以采用的体系结构:

ls /media/sda1/*

如果在输出中看到lib64,它就是64bit系统


答案2

如果使用类似下面的方法创建了jail:


debootstrap --variant=buildd --arch i386 lucid /mnt/temp 


 http://archive.ubuntu.com/ubuntu/



你可能打算这样做:


debootstrap --variant=minbase --arch i386 lucid /mnt/temp 


 http://archive.ubuntu.com/ubuntu/



为解决问题,请尝试:


cp -r /bin /lib /mnt/temp



这应该允许成功chroot,此时你可以执行其他操作。


答案3

在为armhf arch制作镜像时,我也有同样的问题,我必须安装qemu-user-static,然后将它复制到chroot bin文件夹。


sudo cp /usr/bin/qemu-arm-static /mnt/chroot/usr/bin




答案4

这是一个64位和32位不兼容问题。


cp /bin/bash /mount/temp/tmp



(将32-bit exec复制到tmp目录中的新root


chroot /mount/temp /tmp/bash



你得把它们都复制一遍。



COM  for  COMM  form  Comma  格式  
相关文章