가지고 있지 않은 오래된 디스크에서 .img 를 사용하여 winxp.img라는 파일을 만들었습니다 partimage
. 파일 이름에서 알 수 있듯이 이 파티션에는 Windows XP가 포함되어 있으며 NTFS로 포맷되어 있습니다.
(이 파일에는 전체 디스크가 아닌 4.6 GiB NTFS 파티션만 포함되어 있습니다.)
실제 디스크에 복원하지 않고 이 이미지의 파일에 액세스하려면 어떻게 해야 합니까?
답변1
에서 언급했듯이부품 이미지 문서1 ,
(...) 이미지에서 파일을 추출하는 것도 불가능합니다.
하지만 절망하지 마세요! Unix 철학의 힘을 활용하세요("모든 것은 문서이다"), 파일에 액세스하기 위해 별도의 파티션에 디스크 공간을 할당할 필요가 없습니다. 아래와 같은 방법:
..0. 당신이 만든 이미지의 partimage
이름이 다음과 같다고 하셨습니다.winxp.img
백업이 있어4.6GiBNTFS 파티션. 아름다운. Linux 시스템에 4.6GiB 이상의 여유 공간이 있습니까? 완벽한! (그렇지 않으면 여유 공간을 확보하십시오.)partimage
실제 파티션인 것처럼 보이는 "더미" 파일로 아카이브의 내용을 복원할 수 있습니다 .
먼저 당신이 필요합니다빈 파일 만들기최소 4.6GiB 크기:
dd if=/dev/zero of=dummy_disk.raw bs=1M count=4711
(매개변수의 값은 4.6GiB 이상의 숫자로
count
반올림하여 파생됩니다1024*4.6
. 정확한 값을 보려면 원래 파티션의 바이트 크기를 알아야 합니다. 하지만 여유 공간이 충분하다면 간단히 , 를 사용하면 됩니다5K
. 안전한 측면에서.)이제
partimage
이 가상 공간에 NTFS 파일 시스템을 복원하라는 메시지가 나타납니다. 무엇? 일반 파일을 하드 드라이브 파티션으로 처리하는 것을 거부합니까? 문제 없습니다 - Unix가 말한다면"모든 것은 문서이다", 그러면 디스크 핸들/dev/sda1
도 파일이므로 상황을 뒤집어 "블록 장치" 유형의 파일을 제공하면 됩니다partimage
.루프백 장치구성은 유용합니다(계속 읽으세요).만들다루프백 장치새로 생성된 가상 디스크에 연결합니다(대부분의 시스템에서 루트 권한이 필요하므로
sudo
사용).sudo losetup -f --show dummy_disk.raw
명령은 다음과 같이 출력합니다 . 이는 실제 파티션이 아니라
/dev/loop0
제공해야 하는 루프백 장치 이름입니다 .partimage
다음을 실행하여 루프백 장치가 파일에 연결되어 있는지 확인할 수도 있습니다.losetup -a
물론 이는 선택 사항입니다.partimage
향해 달려가다다시 덮다아카이브 파일 시스템을 가상 파일에 복사합니다(/dev/loop0
이전 단계에서 얻은 이름으로 바꿉니다).partimage restore /dev/loop0 winxp.img
성공적으로 완료되면
dummy_disk.raw
파일에 복구된 NTFS 파일 시스템이 포함됩니다! 이제 간단히 설치하여 파일에 액세스할 수 있습니다.산가짜의. 이렇게 하려면 빈 디렉터리만 있으면 됩니다.
mkdir mountpoint
기존 항목을 사용하거나 기존 항목을 사용하여 생성할 수 있습니다 . 파일 시스템을 마운트하는 방법에는 두 가지가 있습니다.sudo mount -t ntfs-3g /dev/loop0 mountpoint
(
/dev/loop0
이전에 얻은 장치 이름으로 대체)또는
sudo mount -o loop -t ntfs-3g dummy_disk.raw mountpoint
전자의 방법은 기존 루프백 장치를 사용하는 반면 후자는 자동으로 새 루프백 장치를 생성합니다(리소스 사용량 차이는 무시할 수 있음).
그게 다야! 이제 이 디렉토리에서 보관된 콘텐츠에 액세스할 수 있습니다 mountpoint
.
참고 사항: 향후 파일 시스템 보관 작업을 위해서는 다음과 같은 최신 도구를 사용하는 것이 좋습니다.FSA 아카이버. 완벽하다고는 할 수 없지만 적어도 여전히 유지되고 있습니다. 이 두 도구의 차이점은 다음에서 확인할 수 있습니다.FSArchiver 위키 페이지.
1 소프트웨어가 유지 관리되지 않고웹 사이트에는 설명서 페이지가 "오래됨"으로 표시됩니다..
답변2
내가 아는 "partimagefs" 솔루션이 없기 때문에 이 작업을 직접 수행할 수는 없다고 생각합니다. 퓨즈 도구를 확인할 수도 있지만 더 쉬운 방법이 있는 것 같습니다...
가상 디스크(KVM, qemu, VirtualBox 사용)를 사용하고 partimage가 거기에 이미지 압축을 풀도록 할 수 있습니다. 원본 형식을 사용하시면 안전하게 설치하실 수 있습니다.
필요한 단계를 설명합니다.여기
답변3
NTFS 볼륨이 없지만 전달하는 데 도움이 될 수 있습니다.
mount -t ntfs -o loop,ro /path/to/winxp.img /mnt
/mnt
사용되지 않은 마운트 지점은 어디에 있습니까? 사용할 수 있는 배포판은 많지만 /mnt
필요한 경우 다른 배포판을 쉽게 만들 수 있습니다. ro
"읽기 전용"을 의미합니다. 이는 이미지를 변경하고 싶지 않을 때 좋은 계획입니다.