在尝试挽救无法引导的Debian Jessie系统的过程中,尝试chroot时出现以下错误:

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

我一直在搜寻,它可能与64bit/32bit冲突(从32bit转换为64bit或反之亦然)有关,但是我不知道这在这里如何适用,因为我正在救援具有64bit直播功能的64bit系统-混合Debian-USB内存棒。

根据ldd,/bin/bash位于chroot目录中,库依赖关系也位于该目录中。

有谁知道导致错误的原因吗?

以下是我的挂载点和一个ls:
  # mount |grep mnt
/dev/mapper/centos_vh200-root on /mnt/vh2 type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /mnt/vh2/boot type ext4 (rw,relatime,data=ordered)
none on /mnt/vh2/proc type proc (rw,relatime)
devtmpfs on /mnt/vh2/dev type devtmpfs (rw,nosuid,size=10240k,nr_inodes=414264,mode=755)
sys on /mnt/vh2/sys type sysfs (rw,relatime)


  # ls -l /mnt/vh2/bin/bash
-rwxr-xr-x 1 root root 1029624 Nov 12  2014 /mnt/vh2/bin/bash

这是bash的ldd输出:
 # ldd /mnt/vh2/bin/bash
      linux-vdso.so.1 (0x00007ffd49bcc000)
      libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007fad99f1a000)
      libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fad99cf0000)
      libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fad99aec000)
      libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fad99743000)
      /lib64/ld-linux-x86-64.so.2 (0x00007fad9a13f000)

终端 session :
  # mount /dev/centos_vh200/root /mnt/vh2
  # mount /dev/sda1 /mnt/vh2/boot/
  # mount -t proc none /mnt/vh2/proc/
  # mount -o bind /dev /mnt/vh2/dev/
  # mount -t sysfs sys /mnt/vh2/sys/
  # chroot /mnt/vh2/ /bin/bash
chroot: failed to run command ‘/bin/bash’: No such file or directory

最佳答案

ldd /mnt/vh2/bin/bash在chroot外部完成,因此可以找到您的实时系统库。在/mnt/vh2/中查找库,而不是/中查找库。

关于chroot - chroot:无法运行命令 ‘/bin/bash’:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33621045/

10-15 05:10