/dev/disk/by-uuid 아래의 짧은 uuid 및 긴 uuid

/dev/disk/by-uuid 아래의 짧은 uuid 및 긴 uuid

내 시스템에 여러 개의 하드 드라이브 파티션이 있습니다(Linux josDeb 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux). 다음과 함께 작동합니다.

bejo@josDeb:~$ ls -l /dev/disk/by-uuid

생산하다:

total 0
lrwxrwxrwx 1 root root 10 Apr 13 16:20 00FB-604A -> ../../sdb1
lrwxrwxrwx 1 root root 10 Apr 13 16:19 4425-7572 -> ../../sda1
lrwxrwxrwx 1 root root 10 Apr 13 16:19 8dc07aba-5729-4525-883f-09c32d1a9e98 -> ../../sda2
lrwxrwxrwx 1 root root 10 Apr 13 16:19 95a8efff-92d2-4e31-8632-bf7a640e100f -> ../../sda3
lrwxrwxrwx 1 root root 10 Apr 13 16:19 f5a05b5e-c3ed-4227-bb62-fe4576b72643 -> ../../sda4

일부 파티션 uuid는 매우 길고 일부는 매우 짧습니다. 이유를 이해하고 싶습니다. 내 생각에 uuid는 항상 16바이트입니다. UUID의 크기가 다른 이유는 무엇입니까?

답변1

실제보편적으로 고유한 식별자s는 길이가 128비트이고 고유해야 합니다. 이전에는 다양한 시스템에서 차별화를 위해 다양한 크기의 일련번호를 제공했습니다. 따라서 Linux는 /dev/by-uuid/UUID 정의와 일치하지 않더라도 찾을 수 있는 시퀀스를 가져와서 디렉터리에 붙여넣습니다 . 이것이 그 경우 다FAT32 볼륨 ID:

Sector offset   FAT32 EBPB offset   Length (bytes)  Contents 
0x043           0x38                4               Cf. 0x027 for FAT12/FAT16 (Volume ID) 

역사적 설명:

볼륨 ID(일련번호)

일반적으로 일련 번호 "xxxx-xxxx"는 INT 21h/AH=2Ah(시스템 날짜 가져오기) [nb 7] 및 INT 21h/AH=2Ch(시스템 날짜 가져오기)에 의해 반환된 DX 값을 16비트 추가하여 생성됩니다. 시스템 시간) [ nb 7]은 일련 번호의 상위 워드에 사용되고 두 CX 값의 또 다른 16비트 추가는 일련 번호의 하위 워드에 사용됩니다. 또는 일부 DR-DOS 디스크 유틸리티는 BCD로 인코딩된 월, 일, 시, 분의 8비트 값을 기반으로 사람이 읽을 수 있는 타임스탬프 "mmdd-hhmm"을 생성하기 위한 /# 옵션을 제공합니다(시퀀스 대신). 숫자).

예를 들어 4425-7572로 표시될 수 있는 32비트 값입니다. 이 두 파티션은 FAT32여야 하므로 EFI 시스템 파티션일 가능성이 높습니다.

더 나은 정보를 얻을 수 있습니다(아마도 여러 /dev/disks/by-*/항목을 구문 분석하여)blkid명령은 다음과 같이 변경됩니다.

# blkid

아니면 다음과 같은 짧은 항목만 사용하세요.

# blkid /dev/sda1 /dev/sdb1

사용 설명서에서는 사용을 권장합니다.lsblk반대로 루트가 필요하지 않습니다. 따라서 올바른 선택은 입니다 lsblk -o +UUID,FSTYPE /dev/sda1 /dev/sdb1.

예를 들면 다음과 같습니다.

$ lsblk -o +UUID,FSTYPE /dev/sda1 /dev/sdb1
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT UUID                                 FSTYPE
sda1   8:1    0  200M  0 part /boot/efi  1234-5678                            vfat
sdb1   8:17   1  200M  0 part            9ABC-DEF0                            vfat

관련 정보