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


14

확장 파티션 / 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 Linux
/ dev / sda2 1001470 16775167 15773698 7.5G 5 확장
/ dev / sda5 1001472 16775167 15773696 7.5G 83 Linux


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

명령 (도움을위한 m) : n
파티션 타입
   p 1 차 (1 차, 0 확장, 3 프리)
   e 확장 (논리 파티션의 컨테이너)

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

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

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

나는 parted 로 그것을했지만 fdisk로 가능할 것입니다.

$ fdisk -V
fdisk from util-linux 2.27.1

답변:


11

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

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


매력처럼 일했다. 이 경우 전문가 모드가 필요하지 않은 이유를 자세히 설명 할 수 있습니까 ?
AD

2
@AD이 경우 파티션이 1MB로 정렬 되었기 때문입니다.
Gilles 'SO- 악의를 멈춰라

사실, 정렬 된 파티션을 확장하려고했지만 전문가 모드가 없어도 작동했습니다.
AD

14

Gilles의 답변 에 따라 취한 조치 :

$ 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 Linux
/ dev / sda2        1001470 16775167 15773698 7.5G 5 확장
/ dev / sda5        1001472 16775167 15773696 7.5G 83 Linux

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

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

명령 (도움을위한 m) : n
파티션 타입
   p 1 차 (1 차, 0 확장, 3 프리)
   e 확장 (논리 파티션의 컨테이너)
선택 (기본 p) : e
파티션 번호 (2-4, 기본값 2) :
첫 번째 섹터 (999424-20479999, 기본값 999424) : 1001470
마지막 섹터, + 섹터 또는 + 크기 {K, M, G, T, P} (1001470-20479999, 기본값 20479999) :

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

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

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

명령 (도움을위한 m) : x


전문가 명령 (도움을위한 m) : b
파티션 번호 (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 유형 Start-C / H / S End-C / H / S Attrs
/ dev / sda1 * 2048 999423 997376 83 Linux 0/33/32 62/55/53 80
/ dev / sda2        1001470 20479999 19478530 5 확장 62/23/86 250/23/209
/ dev / sda5        1001472 20479999 19478528 83 리눅스 62/57/118 250/23/209

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


-1

Fdisk는 오래된 프로그램으로 MBR 파티션 만 이해합니다. 귀하의 문제는 변경된 디스크 지오메트리 (헤드, 트랙 당 섹터 및 트랙)에 있다고 생각합니다. dd 명령 (섹터에서 섹터 복사)을 통해 이전 디스크에서 새 디스크로 데이터를 복제 한 후 트랙 섹터를 시작하도록 파티션이 정렬되지 않았습니다. 따라서 fdisk를 사용하면 이전 디스크에 있던 트랙 섹터의 시작 부분에 먼저 정렬하기 전에 시작 파티션 섹터를 만들 수 없습니다.

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

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


최신 버전의 fdisk는 GPT도 이해하지만 여기서는 관련이 없습니다. 문제는 반드시 디스크 구조가 변경되는 것이 아니라 fdisk의 비전문가 인터페이스의 한계 일뿐입니다.
Gilles 'SO- 악마 그만해

이것은 MBR Disklabel type: dos입니다. 나는 정렬되지 않았으며 정렬하고 확장 할 수 있다고 불평했다. fdisk에서 동일한 절차를 수행했으며 제대로 작동하고 있다고 확신합니다.
AD
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.