chroot:无法运行命令‘/bin/bash’:debian 12 live 上没有该文件或目录

chroot:无法运行命令‘/bin/bash’:debian 12 live 上没有该文件或目录

我正在使用 Debian 12 实时环境并创建了一个文件夹:

mkdir /mnt/boot

当我执行时sudo chroot/mnt/boot,报出以下错误:

chroot:failed to run command '/bin/bash':No such file or directory

我发现了这个问题(https://serverfault.com/questions/162362/chroot-fails-cannot-run-command-bin-bash-no-such-file-or-directory),看上去跟我的问题很像,但是我按照上面的步骤操作之后我的问题还是没有解决,不知道我的问题出在哪里?

1# 将 sda1 安装到/mnt/boot

user@debian:sudo mount /dev/sda1 /mnt/boot

2# /bin/bash存在:

user@debian:/mnt/boot$whereis /bin/bash
bash: /usr/bin/bash /user/share/man/man1/bash.1.gz
user@debian:/mnt/boot$ls /bin/bash
/bin/bash

3# cp .so 来自liblib64

user@debian:/mnt/boot$ls lib
ld-linux-86-64.so.2 libc.so.6 libdl.so.2 libtnfo.so.6 

4# 将/mnt/boot/lib64其符号化为/mnt/boot/lib

user@debian:/mnt/boot$sudo mkdir lib64
user@debian:/mnt/boot$sudo ln -s /mnt/boot/lib /mnt/boot/lib64

5#底板:

user@debian:/mnt/boot$ldd /bin/bash
  linux-vdso.so.1 (0x00007ffdb8d1000)
  libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6(0x00007f3cda309000)
  libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6(0x00007f3cda128000)
  /lib64/ld-linux-x86-64.so.2 (0x00007f3cda493000)

答案1

您不是在检查bashchroot 内部的二进制文件,而是在检查 chroot 外部的二进制文件。确保二进制文件和所有相关库都存在里面chroot 目录。

相关内容