확장 파티션을 왼쪽으로 확장

확장 파티션을 왼쪽으로 확장

나는 다음과 같은 하드 드라이브를 가지고 있습니다

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Disk identifier: 0xfa6bd800
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      821247      409600    7  HPFS/NTFS/exFAT
/dev/sda2          821248   210991103   105084928    7  HPFS/NTFS/exFAT
/dev/sda3       210991104   317941759    53475328   83  Linux
/dev/sda4       420343806   625141759   102398977    5  Extended
/dev/sda5       435689472   507955096    36132812+  83  Linux
/dev/sda6       507955200   566546431    29295616   83  Linux
/dev/sda7       566548480   625141759    29296640   83  Linux
/dev/sda8       420345856   435687423     7670784   82  Linux swap / Solaris

최근에 Windows에서 파티션을 복원했습니다. 할당되지 않은 공간을 사용하기 위해 "확장 파티션" /dev/sda4를 왼쪽으로 확장하고 싶습니다. /dev/sda4가 420343806에서 317941760(/dev/sda3의 끝)까지 확장될 수 있음을 알 수 있습니다. gparted에서 이 작업을 시도했지만 실패했습니다.

GParted 0.12.1 --enable-libparted-dmraid

Libparted 2.3
Move /dev/sda4 to the left and grow it from 97.66 GiB to 126.95 GiB  00:00:00    ( ERROR )

calibrate /dev/sda4  00:00:00    ( SUCCESS )

path: /dev/sda4
start: 420,343,806
end: 625,141,759
size: 204,797,954 (97.66 GiB)
move partition to the left and grow it from 97.66 GiB to 126.95 GiB  00:00:00    ( ERROR )

old start: 420,343,806
old end: 625,141,759
old size: 204,797,954 (97.66 GiB)
requested start: 358,901,760
requested end: 625,139,711
requested size: 266,237,952 (126.95 GiB)
libparted messages    ( INFO )

Unable to satisfy all constraints on the partition.
Can't have overlapping partitions.

그래서 파티션 확장을 위해 fdisk를 사용해 보았습니다.

나는 이것이 다음 단계라고 생각합니다. 1. /dev/sda4를 삭제합니다. 2. 317941760에서 625141759까지 새로운 확장 파티션을 생성합니다. 3. /dev/sda4의 resize2fs

하지만 이렇게 하면 논리 파티션이나 데이터가 손실됩니까? 아니면 다른 길로 가야 할까요?

답변1

gparted가 이것을 할 수 있는지 모르겠습니다. 대부분의 파티셔너는 확장 파티션을 삭제/재생성할 때 sda5-x를 제거합니다.

sfdisk를 사용해 볼 수 있습니다.

# sfdisk -d /dev/sda > sda.original

그러면 아래와 같이 파티션 레이아웃 덤프가 생성됩니다.

# /dev/sda의 파티션 테이블
단위: 부서

/dev/sda1: 시작=2048, 크기=4194304, ID=c
/dev/sda2: 시작=4198400, 크기=2097152, ID=83, 부팅 가능
/dev/sda3: 시작=6297600, 크기=20971520, ID=83
/dev/sda4: 시작=27271168, 크기=3844096, ID=f
/dev/sda5: 시작=27273216, 크기=1918976, ID=83
/dev/sda6: 시작=29194240, 크기=1918976, ID=83

이 덤프의 복사본을 만들고 원하는 대로 수정하세요.

# cp sda.original sda.modified
# nanosda.modification

따라서 귀하의 경우 /dev/sda4를 420343806에서 317941760으로 확장하려면 sda.modified 파일에서 /dev/sda4 항목의 start= 번호를 바꾸십시오.

수정이 완료되면 로드할 수 있습니다.

# sfdisk /dev/sda < sda.modified

문제가 발생하면 편집 내용을 조정하거나 원래 상태로 되돌릴 수 있습니다.

# sfdisk /dev/sda < sda.original

sfdisk를 사용하는 방법입니다.

분리된 경우 크기 조정이 작동하지 않으면 다음을 사용하여 파티션 오프셋과 크기를 매우 주의 깊게 기록해야 합니다.

#parted /dev/sda 장치 b 무료 인쇄 > sda.parted

그러면 다음과 같은 파일이 생성됩니다.

모델: 범용 저장 장치(scsi)
디스크/개발자/sda: 15931539456B
섹터 크기(논리적/물리적): 512B/512B
파티션 테이블: msdos
디스크 플래그:

번호 시작 끝 크기 유형 파일 시스템 플래그
        32256B 1048575B 1016320B 사용 가능한 공간
 1 1048576B 2148532223B 2147483648B 1차 지방 32 lba
        2148532224B 2149580799B 1048576B 사용 가능한 공간
 2 2149580800B 3223322623B 1073741824B 기본 ext2 부팅
        3223322624B 3224371199B 1048576B 사용 가능한 공간
 3 3224371200B 13961789439B 10737418240B 메인 ext2
        13961789440B 13962838015B 1048576B 사용 가능한 공간
 4 13962838016B 15931015167B 1968177152B 확장 lba
 5 13963886592B 14946402303B 982515712B 논리적 ext2
 6 14947450880B 15929966591B 982515712B 논리적 ext2
        15929966592B 15931015167B 1048576B 사용 가능한 공간
        15931015168B 15931539455B 524288B 사용 가능한 공간

섹터와 같은 다른 단위를 선택할 수 있습니다. 이 경우 해석할 여지가 전혀 없기 때문에 바이트를 선호합니다. 미디어에 따라 파티셔닝 소프트웨어는 때때로 섹터 크기 등에 대해 다른 견해를 갖습니다.

정확한 파티션 오프셋, 크기 및 유형을 알고 있으면 parted에서 간단히 mklabel(파티션 테이블 재설정)을 수행하고 처음부터 새 파티션을 다시 만들고, 유지하려는 파티션을 다시 만들고, 변경하려는 파티션을 변경할 수 있습니다.

이러한 옵션 중 어느 것도 파티션의 파일 시스템을 수정하거나 크기를 조정하는 데 아무런 영향을 미치지 않습니다. 따라서 이 해결 방법은 이 문제를 직접 처리할 수 있거나 여유 공간에 새로운 빈 파티션을 생성하려는 경우에만 작동합니다.

관련 정보