/init는 /bin/mount를 찾을 수 없지만 /를 찾을 수 있습니까?

/init는 /bin/mount를 찾을 수 없지만 /를 찾을 수 있습니까?

Linux 시스템을 부팅하는 데 문제가 있습니다.

시작 단계에서 /init스크립트를 실행할 때 찾을 수 없다는 메시지가 나타납니다 mount. 내 PATH변수는 /sbin및 으로 설정되어 있습니다 /bin.

직접 전화 해봤는데 /bin/mount실패하고 존재하지 않는다고 하더군요.

그런 다음 그것을 포함시켰고 find .발견되어 /bin/mount실제로 액세스할 수 있음을 보여주었습니다.

나는 무엇을 해야할지 모르겠습니다. 이것이 initramfs기본적으로 쉘이라는 것을 읽었는데 busybox문제가 있을 수 있습니까?

고쳐 쓰다

이것은 mount찾을 수 없는 유일한 명령/파일인 것 같습니다. 부팅 프로세스 중에 시작 했습니다 sh. 탭에서 설치를 완료하고 find.

그러나 실행하려고 하면 아래와 같이 동일한 "찾을 수 없음" 오류 메시지가 나타납니다.

업데이트 2

mount/init내 모든 인스턴스 를 /bin/busybox mount. 그것이 작동하는 방식입니다.

가상 머신 일시 중지

답변1

스크립트를 DOS(windows) 모드로 저장했는데, 이는 각 줄 끝에 불필요한 반환 문자가 있음을 의미합니다.

이 문제를 해결하는 가장 쉬운 방법은 아마도 파일을 로드하고 vim변경 모드를 사용한 :set notx다음 파일을 저장하는 것입니다(예: :wq.

답변2

/bin/mount깨진 기호 링크 일 수 있습니다. 모든 디렉토리 항목을 보여주기 때문에 찾을 수 있지만 find ., 프로그램을 실행하려고 하면 무지개 끝에 파일이 없기 때문에 작동하지 않습니다. BusyBox 애플릿 이름은 일반적으로 BusyBox 실행 파일에 대한 링크입니다. mount -> busybox또는 mount -> /bin/busybox( busybox에 있는 경우 /bin)

또 다른 가능성은 mount바이너리가 실제 시스템에서 온 것일 수도 있습니다. 이 바이너리는 동적 로더를 사용하는 동적 링크 라이브러리이며 initramfs에 없을 수도 있습니다. 바라보다64비트 시스템에서 32비트 바이너리를 실행할 때 "찾을 수 없음" 메시지 수신유사한 사례에 대한 설명.

관련 정보