내 컴퓨터에는 fdisk -lu /dev/sda
다음과 같은 출력이 나타납니다.
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 73947135 36972544 83 Linux
/dev/sda2 73949182 78139391 2095105 5 Extended
/dev/sda5 73949184 78139391 2095104 82 Linux swap / Solaris
이 "블록" 단위는 무엇입니까? "fdisk 블록"은 1KiB입니까? 이 장치는 어디에서 왔습니까?
답변1
첫 번째 버전의 Unix에서는 하드웨어, 파일 시스템, C 코드, 사용자 도구에 이르기까지 블록 크기가 512바이트였습니다.
오늘날 다양한 유형의 하드웨어와 다양한 파일 시스템이 있으므로(일부는 블록 크기 개념이 없음) "블록 크기"는 각 도구에서 선택한 임의의 정의입니다. 대부분의 레거시 Unix 시스템은 이전 버전과의 호환성을 위해 기본적으로 512바이트 블록 크기를 예약합니다. 이는 POSIX가 여러 명령( dd
, du
, df
, ls
, find -size
, ...)에 필요한 것입니다. 일부 GNU/Linux 유틸리티는 모드에서 호출 되지 않는 한 기본적으로 1kB 단위( du
, df
, ls
, ...) 를 표시합니다. POSIXLY_CORRECT
1kB로 이동하는 유일한 동기는 인간 친화적이기 때문이라고 생각합니다.
Linux fdisk
유틸리티는 소수점 두 자리에 1kB 청크를 사용합니다 kB
. Linux 환경에서 fdisk
"청크"는 항상 1kB를 의미합니다. 기본 단위변경됨존재하다버전 2.25, 단위는 이제 512바이트 섹터입니다. 전문가 모드에서 단위는 항상 512바이트 섹터입니다. 기존 PC 디스크의 경우 512바이트는 512바이트 섹터에 쓰고 파티션 경계가 512바이트로 정렬되므로 512바이트가 더 자연스러운 하위 수준 단위입니다. 따라서 1kB를 단위로 사용하면 1/2의 분수가 됩니다. 최신 대형 디스크에는 더 큰 섹터가 있으며(그러나 "섹터"는 디스크의 물리적 또는 논리적 특성에 관계없이 512바이트를 의미하는 데 널리 사용됨) GPT 파티션은 일반적으로 1MB로 정렬됩니다.
답변2
를 이해 하려면 sector
,, 등의 몇 가지 개념을 알아야 합니다 . 다음은 간단한 정의입니다.track
cylinder
block
Blocks and clusters
The Unix communities employ the term block to refer to a sector or group of
sectors. For example, the Linux fdisk utility normally displays partition
table information using 1024-byte blocks, but also uses the word sector to
help describe a disk's size in the phrase, 63 sectors per track.
여기에서 더 많은 내용을 읽을 수 있습니다.협회.
답변3
내 버전의 Ubuntu 14.04에서 fdisk는 파티션을 블록으로 나열하지만 각 블록에 몇 개의 섹터가 있는지는 알려주지 않습니다. 그러나 각 파티션의 시작 및 끝 섹터 번호를 제공하며, 끝점에서 시작점을 빼면 섹터 수는 파티션의 블록 수의 정확히 두 배가 됩니다. 즉, Ubuntu 12.04에는 블록당 두 개의 섹터가 있습니다.
답변4
fdisk
1k는 불가능할 것 같아요막힌보고서 - 또는 보고서조각별말씀을요.man
페이지 에서:
-u
,--units[=unit]
- 파티션 테이블을 나열할 때 크기를 표시하세요.부서또는실린더.기본 디스플레이 크기는 다음과 같습니다.부서. 이전 버전과의 호환성을 위해 이 옵션을 대신 사용할 수 있습니다.단위매개변수 - 그런 다음 기본값을 사용합니다. 선택적 단위 매개변수는 다음과 함께 사용할 수 없습니다.
-u
옵션은 공백으로 구성되며 올바른 형식은 다음과 같습니다.-u=cylinders
.
좋습니다. fdisk
출력이 다음과 같이 나열되지 않았습니다.조각, 그 다음에. 그것은 사용한다실린더또는부서기본적으로. 글쎄, 그게 다야Wikipedia에서 말하는 내용~에 대한부서:
컴퓨터 디스크 저장소에는부서하위 구분이다길디스크 또는 CD에 있습니다. 각부서사용자가 액세스할 수 있는 데이터의 고정된 양을 저장합니다.일반적으로 512바이트하드 드라이브용(하드 디스크)CD-ROM과 DVD-ROM은 2048바이트입니다.최신 HDD는 4096바이트(4KiB) 섹터를 사용합니다., 고급 포맷(AF)이라고 합니다.
이제는 나에게 더 의미가 있습니다. 나는 그것을 들어본 적이 없다1K이전에 부서가 너무 혼란스러워서 우연히 발견되었습니다. 그러나 일부 Google 검색에 따르면 Seagate 브랜드 드라이브의 소량 배치가 2005년에 출시된 것으로 나타났습니다.했다보고된 섹터 크기는 1K입니다.
어쨌든 제목 출력에는 다음이 있습니다.
Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sector
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: gpt
Disk identifier: E12A6152-B1E6-4D4A-9799-491B339BA633
Device Start End Sectors Size Type
/dev/sda1 4096 6197247 6193152 3G EFI System
/dev/sda2 6293504 31459327 25165824 12G Linux filesystem
/dev/sda3 31459328 234441614 202982287 96.8G Linux filesystem
바라보다?단위: 섹터 1 * 512 = 512바이트...