在 chroot 尝试期间,我收到此错误:“chroot: failed to run command '/bin/bash': Exec format error”

Gra*_*ore 24 bash chroot

我按照本教程HOWTO: Purge and Reinstall Grub 2 from the Live CD 的说明,当我在步骤 1 中遇到错误时,我启动了命令

sudo chroot /mnt/temp
Run Code Online (Sandbox Code Playgroud)

错误如下:

chroot: failed to run command `/bin/bash': Exec format error
Run Code Online (Sandbox Code Playgroud)

这是从哪里来的?我如何通过?

Gra*_*ore 25

验证您使用的是正确的 Live CD。例如,确认您使用的不是 32 位 CD,而是 64 位 CD。您需要一个 64 位内核来运行 64 位代码,因此请检查您的架构。

假设您将系统挂载到/media/sda1 中,确定架构,您可以:

ls /media/sda1/*

如果您在输出中看到 lib64,则可能是 64 位系统


小智 8

我在为armhf arch制作图像时遇到了同样的问题。我必须安装qemu-user-static然后将其复制到 chroot bin 文件夹。

sudo cp /usr/bin/qemu-arm-static /path/to/mount/usr/bin
Run Code Online (Sandbox Code Playgroud)

你可能需要跑

systemctl restart systemd-binfmt.service
Run Code Online (Sandbox Code Playgroud)

那么你应该能够 chroot 进入环境