it-swarm-ko.tech

파티션의 섹터 크기 찾기

이 질문 , 가정*.img 파일의 섹터 크기가 512라고 답했습니다.

올바른 섹터 크기를 찾기 위해 장치 또는 장치 이미지를 쿼리하는 방법은 무엇입니까?

26
Stefan

fdisk -l (매개 변수에서 L이 더 낮음)는 다른 정보 중에서도 섹터 크기를 보여줍니다.

$ Sudo fdisk -l

Disk /dev/sda: 150.3 GB, 150323855360 bytes
255 heads, 63 sectors/track, 18275 cylinders, total 293601280 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
   /dev/sda1   *          63      208844      104391   83  Linux
   /dev/sda2          208845   209712509   104751832+  83  Linux

이것은 섹터 크기가 512 바이트임을 나타냅니다.

수정 : fdisk의 최신 버전 (예 : fdisk (패키지 util-linux 2.20.1), 논리 및 물리 섹터 크기도 표시합니다. 예를 들어 "WDC WD10EFRX 1TB 드라이브"의 관련 출력은 다음과 같습니다.

Disk /dev/sdn: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
28
Patkos Csaba

큐 sysfs 파일에 대한 문서 에 따르면 :

# cat /sys/block/sda/queue/hw_sector_size
512
27
Anthony Ananich

file(1) 명령을 사용하여 수학을 직접 할 수 있습니다. FAT 시스템 이미지 만있는 경우에도 작동합니다.

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

$ Sudo file -s /dev/sda5 | tr , '\n'
/dev/sda5: DOS/MBR boot sector
 code offset 0x58+2
 OEM-ID "mkfs.fat"
 sectors/cluster 64
 reserved sectors 64
 Media descriptor 0xf8
 sectors/track 63
 heads 255
 hidden sectors 147632128
 sectors 536870912 (volumes > 32 MB)
 FAT (32 bit)
 sectors/FAT 65536
 serial number 0x9f981691
 unlabeled

이 파티션에는 클러스터 당 64 개의 섹터가 있습니다. 각 섹터의 바이트 수는 기본값이므로 512이므로 클러스터 크기는 32KB입니다.

섹터 크기는 512보다 클 수 있습니다 (FAT 사양은 4096으로 제한하지만 더 높아질 수 있음). 이 경우 출력에 추가 "바이트/섹터"필드가 표시됩니다.

$ Sudo mkfs.fat -S 4096 -s 16 /dev/sda5
mkfs.fat 4.1 (2017-01-24)

$ Sudo file -s /dev/sda5 | tr , '\n'
/dev/sda5: DOS/MBR boot sector
 code offset 0x58+2
 OEM-ID "mkfs.fat"
 Bytes/sector 4096
 sectors/cluster 16
 Media descriptor 0xf8
 sectors/track 63
 heads 255
 hidden sectors 147632128
 sectors 67108864 (volumes > 32 MB)
 FAT (32 bit)
 sectors/FAT 4096
 serial number 0xb059d826
 label: unlabeled

클러스터 당 4096 바이트 × 16 섹터 = 64 KiB로 다시 일치시킵니다.

2
Tankman六四

위의 답변, 물리적 섹터 크기를 표시하는 fdisk 및/sys 경로에 대해서는 ...하지만 한 가지 참고 사항 ... 책 Absolute FreeBSD에서 Lucas의 거의 모든 hdd는 거의 모든 hdd가 섹터 크기에 대해 거짓말하므로 Linux의 경우

/sys/block/sda/queue/hw_sector_size

내가 이해할 수있는 한 항상 더 나은 성능을 위해 512를 표시하여 실제 하드웨어 논리에 실제로 사용되는 실제 섹터 크기를 고려하는 것이 좋습니다. 그것은 fdisk로 보여 주었고

cat /sys/block/sdc/queue/physical_block_size 
4096
0
Hex