fdisk를 사용하여 논리 및 확장 파티션을 확장하는 방법

fdisk를 사용하여 논리 및 확장 파티션을 확장하는 방법

확장 파티션 /dev/sda2 아래의 논리 파티션인 /dev/sda5 파티션을 확장하려고 합니다.

나는 사용하고 싶다fdisk.

절차는 두 파티션을 모두 삭제한 다음 정확히 동일한 시작 섹터(1001470 및 1001472)로 다시 생성하는 것입니다. 최소 시작 섹터가 더 큰 논리 파티션을 생성할 때까지는 잘 진행됩니다(1003518) 필요 이상으로요.

$ sudo fdisk /dev/sda
명령(도움말은 m): p
디스크 /dev/sda: 9.8 GiB, 10485760000바이트, 20480000 섹터
단위: 1 * 512 = 512바이트 섹터
섹터 크기(논리적/물리적): 512바이트 / 512바이트
I/O 크기(최소/최적): 512바이트 / 512바이트
디스크 라벨 유형: dos
디스크 식별자: 0x0cd7105f

장치 부팅 시작 끝 섹터 크기 ID 유형
/dev/sda1 * 2048 999423 997376 487M 83 리눅스
/dev/sda2 1001470 16775167 15773698 7.5G 5 확장
/dev/sda5 1001472 16775167 15773696 7.5G 83 리눅스


파티션 5가 삭제되었습니다.
파티션 2가 삭제되었습니다.

명령(도움말은 m): n
파티션 유형
   p 기본(기본 1개, 확장 0개, 무료 3개)
   e 확장(논리 파티션용 컨테이너)

선택(기본값 p):이자형
파티션 번호(2-4, 기본값 2):
첫 번째 섹터(999424-20479999, 기본값 999424):1001470
마지막 섹터, +섹터 또는 +크기{K,M,G,T,P}(1001470-20479999, 기본값20479999):
'확장' 유형과 크기 9.3GiB의 새 파티션 2를 생성했습니다.

명령(도움말은 m): n
기본 파티션의 모든 공간이 사용 중입니다.
논리 파티션 5 추가
첫 번째 섹터(1003518-20479999, 기본값1003520):1001472

값이 범위를 벗어났습니다.

나는 그것을했다나뉜, 그러나 fdisk를 사용하면 어떻게든 가능합니다.

$ fdisk -V
fdisk from util-linux 2.27.1

답변1

다음에 따라 취한 조치질'답변:

$ sudo fdisk /dev/sda

fdisk(util-linux 2.27.1)에 오신 것을 환영합니다.
변경 사항은 쓰기로 결정할 때까지 메모리에만 유지됩니다.
write 명령을 사용하기 전에 주의하십시오.


명령(도움말은 m): p
디스크 /dev/sda: 9.8 GiB, 10485760000바이트, 20480000 섹터
단위: 1 * 512 = 512바이트 섹터
섹터 크기(논리적/물리적): 512바이트 / 512바이트
I/O 크기(최소/최적): 512바이트 / 512바이트
디스크 라벨 유형: dos
디스크 식별자: 0x0cd7105f

장치 부팅 시작 끝 섹터 크기 ID 유형
/dev/sda1 * 2048 999423 997376 487M 83 리눅스
/dev/sda2       100147016775167 15773698 7.5G 5 확장
/dev/sda5       100147216775167 15773696 7.5G 83 리눅스

명령(도움말은 m): d
파티션 번호(1,2,5, 기본값 5): 2

파티션 2가 삭제되었습니다.

명령(도움말은 m): n
파티션 유형
   p 기본(기본 1개, 확장 0개, 무료 3개)
   e 확장(논리 파티션용 컨테이너)
선택(기본값 p): e
파티션 번호(2-4, 기본값 2):
첫 번째 섹터(999424-20479999, 기본값 999424):1001470
마지막 섹터, +섹터 또는 +크기{K,M,G,T,P}(1001470-20479999, 기본값 20479999):

'확장' 유형과 크기 9.3GiB의 새 파티션 2를 생성했습니다.

명령(도움말은 m): n
기본 파티션의 모든 공간이 사용 중입니다.
논리 파티션 5 추가
첫 번째 섹터(1003518-20479999, 기본값 1003520):
마지막 섹터, +섹터 또는 +크기{K,M,G,T,P}(1003520-20479999, 기본값 20479999):

'Linux' 유형과 크기 9.3GiB의 새 파티션 5를 생성했습니다.

명령(도움말은 m):엑스


전문가 명령(도움말은 m):
파티션 번호(1,2,5, 기본값 5):
데이터의 새로운 시작(1001471-20479999, 기본값 1003520):1001472

전문가 명령(도움말은 m): p

디스크 /dev/sda: 9.8 GiB, 10485760000바이트, 20480000 섹터
단위: 1 * 512 = 512바이트 섹터
섹터 크기(논리적/물리적): 512바이트 / 512바이트
I/O 크기(최소/최적): 512바이트 / 512바이트
디스크 라벨 유형: dos
디스크 식별자: 0x0cd7105f

장치 부팅 시작 끝 섹터 ID 유형 시작-C/H/S 끝-C/H/S 속성
/dev/sda1 * 2048 999423 997376 83 리눅스 0/33/32 62/55/53 80
/dev/sda2       100147020479999 19478530 5 확장 62/23/86 250/23/209
/dev/sda5       100147220479999 19478528 83 리눅스 62/57/118 250/23/209

그런 다음 r(메인 메뉴로 돌아가기) 및 w(디스크에 테이블 쓰기).

답변2

일반 인터페이스에서 Linux의 fdisk는 파티션에 정렬 제약 조건을 적용합니다. fdisk 버전에 따라 달라지는 제약 조건은 무엇입니까? 이전 버전은 호환되지 않는 이전 운영 체제와의 호환성을 위해 기본적으로 실린더 정렬로 설정되었습니다.LBA. LBA가 20년이 조금 넘었을 때 fdisk는 기본적으로 이러한 고대 시스템에 대한 지원을 중단하고 대신 최신 저장 미디어에서 더 나은 성능을 제공하는 1MB 정렬로 전환했습니다.

현재 버전의 fdisk에서 임의의 섹터(512B) 정렬로 파티션을 생성하려면 먼저 원하는 끝점으로 파티션을 생성한 다음 전문가 메뉴( x)로 이동하여 명령을 사용하여 b파티션의 시작 부분을 조정해야 합니다( 이는 끝이 아닌 파티션 크기를 변경합니다). 다소 서투른 것 같습니다.

답변3

Fdisk는 오래된 프로그램이므로 MBR 파티션만 이해합니다. 귀하의 문제는 변경된 디스크 구조(헤드, 트랙당 섹터 및 트랙)에 있는 것 같습니다. dd 명령(섹터 간 복사)을 통해 이전 디스크에서 새 디스크로 데이터를 복제한 후 파티션이 트랙의 시작 섹터에 맞게 정렬되지 않았습니다. 그렇기 때문에 fdisk는 이전 디스크에 있던 트랙 섹터의 시작 부분에 먼저 정렬되기 전에 시작 파티션 섹터를 생성하는 것을 허용하지 않습니다.

확장 메뉴의 명령을 통해 fdisk 프로그램에서 새 디스크의 구조를 변경하려고 시도할 수 있지만 이는 잘못된 방법입니다. 오래된 fdisk 대신 parted 및 gparted 프로그램을 사용하십시오.

이제 읽기 및 쓰기 속도는 각 파티션의 시작 트랙 섹터 정렬에 의존하지 않습니다.

관련 정보