msdos 파티션 테이블을 사용할 때 blkid의 PARTUUID는 무엇입니까?

msdos 파티션 테이블을 사용할 때 blkid의 PARTUUID는 무엇입니까?

msdos 파티션 테이블을 사용하므로 PARTUUID가 지원되지 않습니다(GPT 파티션 테이블에서만)

root@xenial:~# fdisk -l
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 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: 0xa9ff83af

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 314574847 314572800  150G  7 HPFS/NTFS/exFAT
/dev/sda2       314574848 315598847   1024000  500M 83 Linux
/dev/sda3       315598848 399484927  83886080   40G 83 Linux
/dev/sda4       399486974 407875583   8388610    4G  5 Extended
/dev/sda5       399486976 407875583   8388608    4G 82 Linux swap / Solaris

그렇다면 blkid에 표시되는 PARTUUID는 무엇입니까?

root@xenial:~# blkid
/dev/sda1: LABEL="windows" UUID="3364EC1A72AE6339" TYPE="ntfs" PARTUUID="a9ff83af-01"
/dev/sda2: LABEL="/boot" UUID="9de57715-5090-4fe1-bb45-68674e5fd32c" TYPE="ext4" PARTUUID="a9ff83af-02"
/dev/sda3: LABEL="/" UUID="553912bf-82f3-450a-b559-89caf1b8a145" TYPE="ext4" PARTUUID="a9ff83af-03"
/dev/sda5: LABEL="SWAP-sda5" UUID="12e4fe69-c8c2-4c93-86b6-7d6a86fdcb2b" TYPE="swap" PARTUUID="a9ff83af-05"

우분투 킥스타트 멀티부트 설치를 디버그하기 위해 이를 변경해야 합니다. 이 PARTUUID를 어디에서 설정할 수 있습니까?

답변1

MBR 파티션 디스크의 PARTUUID는 MBR 블록의 Windows 디스크 서명(8자리 16진수) + 대시 + 2자리 파티션 번호인 것으로 보입니다.

Windows 디스크 서명은 디스크의 첫 번째 블록(MBR 블록) 0x1B8..0x1BB 위치에 리틀 엔디안 바이트 순서로 저장됩니다.

이 명령은 MBR에서 직접 Windows 디스크 서명을 표시합니다.

# dd if=/dev/sda bs=1 count=4 skip=440 2>/dev/null | od -t x4 -An

관련 정보