fdisk가 실린더와 섹터 사이의 단위 변환에 불일치가 있는 이유는 무엇입니까?

fdisk가 실린더와 섹터 사이의 단위 변환에 불일치가 있는 이유는 무엇입니까?

LVM의 물리 볼륨 크기를 늘리기 위해 가상 디스크를 다시 파티션하고 있었습니다.

이것이 우리가 처음에 수행한 방법입니다:

$ fdisk /dev/sdb
# delete partition
fdisk> d
? 1
# create new partition
fdisk> n
? p
? 1
first cylinder? [ENTER]
last cylinder? [ENTER]
# set LVM type
fdisk> t
? 8e
fdisk> w

이로 인해 Linux에서 LVM을 인식하지 못했습니다. 나는 의아해하며 백업을 살펴보았습니다. 파티션 테이블은 둘 다 1에서 시작했기 때문에 문제가 아닌 것 같습니다. 그러나 단위를 u실린더에서 섹터로 변경(fdisk 명령)하면 백업은 섹터 13에서 시작되었지만 새 파티션은 섹터 128에서 시작되었음을 알 수 있습니다.

파티션의 시작 부분을 수정했을 때 모든 것이 잘 진행되었습니다.

단위 변환의 불일치에 대해 머리를 숙일 수 없습니다. 누군가 내가 이해하도록 도와줄 수 있나요?

답변1

fdisk는 오래된 도구이며 기본적으로 이전 스타일의 실린더 스키마를 사용합니다. 이는 다음을 기준으로 계산됩니다.가짜하드 디스크의 펌웨어에서 제공하는 실린더/트랙/헤드 데이터입니다. 대부분의 도구(LBA 파티셔닝이 존재하기 때문에)는 이와 관련이 없습니다.

명령을 사용하여 섹터 기반 모드로 전환할 수 있습니다 u.

파티션 테이블은 기본적으로 이 섹터 기반 파티셔닝을 사용하는 다른 도구(아마도 설치 프로그램의 재파티셔닝 기능)에 의해 생성되었을 수 있습니다.

Gpart, 분할되었지만 많은 도구가 이 작업을 더 잘 수행하지만 그 중 어느 것도 이전 fdisk의 순수하고 깨끗한 정밀도를 가지고 있지 않습니다.

관련 정보