mount -o 루프가 "해당 장치 없음"을 반환하는 이유는 무엇입니까?

mount -o 루프가 "해당 장치 없음"을 반환하는 이유는 무엇입니까?

내용을 반복하여 iso9600(CD) 이미지의 내용에 액세스하고 싶습니다. 이를 위해 나는 실행한다

mount -r -t iso9600 -o loop file.iso mountpoint/

(기존) 디렉토리의 내용을 기대합니다 mountpoint. 하지만 알겠습니다 mount: mounting /dev/loop0 on mountpoint/ failed: No such device. 이에 대한 가능한 이유는 무엇입니까?

답변1

내가 생각할 수 있는 많은 이유가 있다. 아마도 더 일반적인 상황은 순환 장비에 문제가 있다는 것입니다. 예를 들어 너무 많은 순환 장비가 사용되었습니다. 루프 장치를 수동으로 설정하여 이러한 경우인지 확인할 수 있습니다.

# losetup --find --show file.iso
/dev/loop0
# mount -o ro /dev/loop0 mountpoint/
...
# losetup --detach /dev/loop0

첫 번째 명령이 합법적인 루프 장치( /dev/loop*)를 인쇄하지 않지만 오류 메시지를 표시하는 경우 루프 장치 인프라 자체에 문제가 있는 것입니다. losetup -a장치가 표시되는지 확인하세요 . 최대 개수에 도달했을 수 있습니다. 이 경우 max_loop모듈의 옵션을 통해(그리고 다시 시작) 추가 생성을 시도하거나 mknod다음에 설명된 대로 수동으로 추가 생성을 시도할 수 있습니다.이 답변.

그러나 시스템 호출 맨페이지에 간략하게 설명된 또 다른 옵션이 있습니다 mount.

ENODEV     filesystemtype not configured in the kernel.

커널이 필요한 파일 시스템을 지원하지 않을 수 있습니다. CD 이미지를 사용한 위의 예에서는 다음과 같이 iso9660적절한 모듈을 로드해 보십시오.

# modprobe iso9660

그리고 다시 시도해 보세요. 만약 그것을 얻게 된다면, modprobe: module iso9660 not found커널이 파일 시스템을 전혀 지원하지 않고 이를 활성화할 수 있는 쉬운 방법이 없기 때문에 약간 운이 없는 것입니다. 에 나열된 지원되는 파일 시스템을 확인할 수 있습니다 /proc/filesystems. 이것이 작동하려면 커널을 다시 컴파일하거나 최소한 해당 모듈을 다시 컴파일해야 합니다(물론 정확한 커널 버전과 일치).

추신: 이 모듈은 최신 커널에서 이름이 지정되었지만 isofs적어도 modprobe친구에게는 별칭이 존재합니다 iso9660.

답변2

부팅 가능한 USB 드라이브에서 Linux Mint 라이브 버전을 부팅할 때 이 오류 메시지가 나타납니다. 사용된 ISO가 손상된 것으로 밝혀졌습니다. ISO를 다시 다운로드하면 문제가 해결되었습니다.

관련 정보