
나는 dd
나와 함께 'ed 디스크 이미지 파일을 가지고 있습니다.
kpartx
이 디스크 이미지 파일에서 장치 매퍼 장치를 생성하는 것과 같은 도구를 사용할 수 있습니다 .
그러나 분할 프로그램은 내 매핑된 장치를 나열하지 않습니다 gparted
!fdisk
gparted
매핑된 장치와 해당 구성 파티션 및 이러한 파티션에 대한 자세한 정보를 목록으로 만들 수 있는 방법(또는 이에 상응하는 프로그램(그래픽 또는 콘솔))이 있습니까 ?
추신: 이는 이러한 도구에 누락된 기능입니까, 아니면 이 기능을 제공하는 것이 근본적으로 불가능합니까?
답변1
가능하지만 그것이 의미가 있는지 확실하지 않습니다.
파티셔닝 도구는 관련 디스크 섹터에서 직접 파티션 테이블을 읽기 때문에 전체 디스크 장치에만 관심을 갖습니다. 존재하기 위해 파티션별 장치가 필요하지 않습니다. 즉, 로 만든 기본 루프 장치로 losetup
충분하며, 도구에서 볼 수 없는 경우 수동으로 실행 fdisk /dev/loop0
하거나 다른 작업을 수행하면 됩니다.
(만약전체 디스크장치가 에 있으면 /dev/mapper/
해당 도구에서 이를 볼 수 있도록 하는 것은 어렵지 않습니다. 일반적으로 소스 코드 몇 줄을 편집하는 작업이 포함되지만... 실행하는 것이 fdisk /dev/mapper/bleh
더 쉬운 경우가 많습니다.)
losetup --partscan
또한 이를 위해 장치 매퍼를 사용할 필요가 없는 최근 커널 지원에 유의하세요 .
답변2
임시 하드링크를 생성하세요.실행 후 kpartx -a ...
:
sudo ln /dev/loop0 /dev/mapper/loop0
그런 다음 평소대로 gparted를 실행합니다(제대로 작동합니다 /dev/mapper/loop0p*
).
sudo gparted /dev/mapper/loop0
더 이상 필요하지 않은 경우 링크를 제거하는 것을 잊지 마십시오.
답변3
3.5년 후에 나는 그것에 대한 또 다른 해결책을 가지고 있습니다 :)
kpartx 사용에 대해 걱정하지 않고 목표가 일반 파일로 표시된 디스크 이미지에서 파티션을 작동하는 것이라고 제안하는 것이 옳다면 다음은 kpartx 및 심볼릭 링크가 없는 대체 작업 흐름입니다(이것이 별도의 답변으로 게시된 이유입니다).
sudo losetup --find --show ./somedrive.img
전체 파일에 루프 장치를 연결합니다
./somedrive.img
. 무료 장치를 자동으로 찾아달라고--find
요청하는 것입니다 . 사용된 장치를 인쇄하는 것입니다losetup
.--show
예를 들어 선택한 장치가 이라고 가정해 보겠습니다/dev/loop5
.sudo partx --update /dev/loop5
Linux 커널에 내부 파티션을 다시 검색하도록 지시합니다
/dev/loop5
. 성공할 경우 출력이 생성되지 않으므로ls -al /dev/loop5*
무엇이 나타나는지 확인하세요.필요한 것은 무엇이든 하세요.
sudo gparted /dev/loop5
이 시점에서 제대로 작동할 수 있어야 합니다
/dev/loop5p*
.sudo partx --delete /dev/loop5
파티션 매핑을 해제합니다.
sudo losetup --detach /dev/loop5
마지막으로 루프 장치를 해제합니다.
추신util-linux
버전 v2.21 이상의 패키지 의 Proud Owner™인 경우 루프 장치 연결과 파티션 재검색을 한 번에 요청할 수 sudo losetup --find --show --partscan ./somedrive.img
있으며 gparted와 유사한 유틸리티의 문제를 전혀 해결할 수 없습니다.