![msdos 파티션 테이블을 사용할 때 blkid의 PARTUUID는 무엇입니까?](https://linux55.com/image/126162/msdos%20%ED%8C%8C%ED%8B%B0%EC%85%98%20%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20blkid%EC%9D%98%20PARTUUID%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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