linux - IMG 파일을 마운트하지 않고 원본 IMG 파일 내에 있는 파티션의 파티션 레이블 나열

linux - IMG 파일을 마운트하지 않고 원본 IMG 파일 내에 있는 파티션의 파티션 레이블 나열

다중 파티션 IMG 원시 디스크 파일이 있고 이를 마운트하지 않고 각 파티션의 파티션 레이블을 나열하고 싶습니다.

이 명령은 fdisk -l내가 원하는 방식으로 거의 작동하지만 태그가 나열되지 않습니다.

fdisk -l test.img
Disk test.img: 200 MiB, 209715200 bytes, 409600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcae9ed5b

Device     Boot  Start    End Sectors Size Id Type
test.img1  *      2048 104447  102400  50M  b W95 FAT32
test.img2       104448 206847  102400  50M  b W95 FAT32
test.img3       206848 309247  102400  50M  b W95 FAT32
test.img4       309248 409599  100352  49M  5 Extended
test.img5       311296 409599   98304  48M  b W95 FAT32

내가 이것을 원하는 이유는 어떤 것을 설치할지 알기 위해서입니다. 위는 테스트 목적으로 만든 샘플 원시 디스크 파일의 예일 뿐이지만 실제 파일은 다양한 파티션이 있는 128GB UFD로 멀티 부팅 드라이브로 사용됩니다.

디스크 같은 것으로 가능합니까? 지금까지는 파티션을 마운트한 후에만 태그를 나열할 수 있지만 이는 목적에 맞지 않습니다. 파티션이 너무 많아서 각 파티션 레이블을 위에 표시된 출력의 일부로 포함하거나 가능하면 다른 명령을 사용하여 어느 것이 어느 것인지 알 수 있도록 하고 싶습니다.

답변1

어떻게 이해가 안 돼요용이하게시스템 도움 없이 루트로 이 작업을 수행하십시오. 시스템에 파티션에 대해 알도록 요청한 다음 파티션과 그 안에 있는 파일 시스템에 대한 정보를 다시 요청할 수 있습니다. 여기서 "시스템"은 커널 기능과 udev에 내장된 계측 기능의 느슨한 조합입니다. 다음 두 명령만 필요합니다.kpartx그리고blkid. 내 예는 OP와 값이 다르지만 매우 유사합니다.

# kpartx -v -a test.img 
add map loop0p1 (253:8): 0 20480 linear 7:0 2048
add map loop0p2 (253:9): 0 22528 linear 7:0 22528
add map loop0p3 (253:10): 0 20480 linear 7:0 45056
add map loop0p4 (253:11): 0 2 linear 7:0 65536
add map loop0p5 (253:12): 0 40960 linear 7:0 67584

# blkid /dev/loop0 /dev/mapper/loop0p*
/dev/loop0: PTUUID="a5ebeec3" PTTYPE="dos"
/dev/mapper/loop0p1: SEC_TYPE="msdos" LABEL="MYFS1" UUID="D816-AFC1" TYPE="vfat" PARTUUID="a5ebeec3-01"
/dev/mapper/loop0p2: SEC_TYPE="msdos" LABEL="MYFS2" UUID="D857-D702" TYPE="vfat" PARTUUID="a5ebeec3-02"
/dev/mapper/loop0p3: SEC_TYPE="msdos" LABEL="MYFS3" UUID="D894-3506" TYPE="vfat" PARTUUID="a5ebeec3-03"
/dev/mapper/loop0p4: PTTYPE="dos" PARTUUID="a5ebeec3-04"
/dev/mapper/loop0p5: SEC_TYPE="msdos" LABEL="MYLASTFS" UUID="074A-2F0F" TYPE="vfat" PARTUUID="a5ebeec3-05"

# kpartx -v -d test.img 
del devmap : loop0p5
del devmap : loop0p4
del devmap : loop0p3
del devmap : loop0p2
del devmap : loop0p1
loop deleted : /dev/loop0

파일 시스템이 마운트되지 않았습니다. 파티션만 매핑, 확인 및 매핑 해제합니다.

관련 정보