LBA를 사용하여 블록별로 하드 드라이브 파티션 나열

LBA를 사용하여 블록별로 하드 드라이브 파티션 나열

대부분의 하드 드라이브 및 파티션 검사 도구는 섹터, 헤드 등의 항목을 나열하는 것 같습니다. 또 다른 질문에서 나는 이것이 변환 오류를 일으키는 lba에서 변환되어야 하기 때문에 이것이 가상이라는 말을 들었습니다. 논리 블록별로 하드 드라이브를 나열할 수 있는 UNIX 도구가 있습니까?

답변1

CHS과거에는 (실린더/헤드/섹터)가 이를 위해 사용되었습니다. CHS 주소는 (원래) 디스크 플래터의 실제 물리적 위치에 매핑됩니다.

그러나 드라이브가 현대화됨에 따라 이러한 C/H/S 구분은 더 이상 의미가 없습니다. 실린더당 고정된 수의 섹터는 비실용적이므로(디스크 외부 가장자리 근처의 실린더는 내부 가장자리 근처의 실린더보다 더 많은 데이터를 저장할 수 있음), 다른 시스템이 필요합니다.

LBA(논리 블록 주소 지정)은 (아마도 모든) 최신 드라이브에서 사용됩니다. 드라이브는 논리적으로 블록(주로 512바이트 또는 4k바이트 섹터)으로 나누어지며, 첫 번째 블록은 블록 0, 다음 블록은 1 등입니다.
실제 물리적 드라이브가 이러한 논리 섹터를 플래터의 물리적 영역에 매핑하는 방법은 드라이브에 따라 다릅니다. 그런 의미에서 그것은 "가상" 주소입니다. 그러나 그것은 또한 완전히 정확합니다.

  • 드라이브가 CHS를 사용하는 경우(가능성은 낮음) LBA 주소를 CHS로 변환해야 하며, 드라이브 구조 정보가 어딘가에 잘못된 경우 부정확한 결과를 얻게 됩니다.
  • 최신 드라이브가 있는 경우 CHS를 사용하려고 하면 변환이 필요하기 때문에 문제가 발생할 수 있으며 CHS는 최신 드라이브에 잘 매핑되지 않습니다.

나열된 기본값은 fdisk512바이트 섹터를 사용하는 "LBA"입니다(아마도 해당 섹터가 있는 드라이브에 4k 섹터가 있을 것입니다. 확인할 섹터가 없습니다). 헤드/섹터/트랙/실린더를 정보로 나열하지만저것오늘의 "가상" 조치입니다.

cfdisk정말로 원한다면 C/H/S 시작/끝 값으로 분할된 테이블을 인쇄할 수 있습니다(그런 다음 PrintTable번 입력).

관련 정보