파일에서 가상 블록 장치를 만드는 방법은 무엇입니까?

파일에서 가상 블록 장치를 만드는 방법은 무엇입니까?
  • 알 수 없는 디스크 드라이브의 압축되지 않은 원시 이미지(예: 에서 생성됨)를 단일 파일로 만들어 보겠습니다 dd if=/dev/sda of=image.
  • 디스크 레이아웃을 알고 있다면 일부 오프셋을 건너뛰어 파일의 특정 파티션을 루프 장치로 마운트할 수 있습니다.
  • 우리가 레이아웃을 모른다고 가정해 봅시다. image디스크 레이아웃에 따라 가상 블록 장치를 생성하는 프로세스인 전체 디스크 드라이브를 어떻게든 "마운트"할 수 있습니까 ? 예를 들어 에 2개의 파티션이 있으면 3개의 장치( , , ) image가 생성됩니다 . 그런 다음 평소와 같이 이러한 장치를 마운트할 수 있습니다./dev/sdx/dev/sdx1/dev/sdx2

답변1

좀 더 조사한 결과 테스트할 수 있는 방법이 최소한 두 가지 있습니다.

  1. 에 따르면이것우편,kpartx적용 가능한 도구입니다.
    • 불행히도 그것은 Arch Linux에서 작동하지 않았습니다.
    • AUR에서 가져온 내용입니다. yaourt multipath-tools-git제대로 지원/완료되지 않은 것 같으며 다음과 같은 오류가 발생했습니다.

      device-mapper: loop0p1에서 ioctl을 다시 로드하지 못했습니다. 해당 장치가 없습니다.

    • 최소한 내장된 파티션을 나열하는 데 사용할 수 있습니다.kpartx -l image
    • 편집하다:에 따르면이것게시물을 보면 더 이상 사용되지 않는 것 같으며 선호되는 방법은 다음과 같습니다.
  2. 에 따르면이것우편,losetup사용할 수 있습니다.
    • 첫째, 작동하지 않았습니다. losetup /dev/loop0 image(특정 파티션에 대한 장치가 누락되었습니다.)
    • 추가 옵션을 사용하여 다시 시도하면 -P작업이 완료 되고 losetup -d /dev/loop0장치 가 생성되었습니다.losetup -P /dev/loop0 image/dev/loop0pX
    • 그런 다음 이러한 장치는 다음과 같이 예상대로 마운트할 수 있습니다.mount /dev/loop0p3 /mnt/x -t ntfs

관련 정보