Parted는 파티션이 겹칠 수 없습니다.

Parted는 파티션이 겹칠 수 없습니다.

예를 들어, 디버깅 목적으로 디스크를 할당되지 않은 모든 공간으로 확장해야 합니다.

내 전체 디스크 크기는 931.5GB이고 다음과 같은 파티션이 있습니다.

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0 107.5G  0 part /
└─sda3   8:3    0   3.8G  0 part [SWAP]

따라서 내 /dev/sda2 파티션은 931.5GB보다 작습니다. 더 많은 공간을 확보하려면 parted 명령을 사용하여 이 파티션을 늘려야 합니다.

할당되지 않은 공간은 819.72GB(gparted 참조) parted /dev/sda resizepart 2 500GB이지만 이 명령은 다음 오류를 반환합니다.

 Can't have overlapping partitions

/dev/sda가 마운트되지 않고 이상하게 분리되어 파티션을 축소할 수 있도록 라이브 USB를 사용하여 이 모든 작업을 수행하고 있습니다.

 parted /dev/sda resizepart 2 50GB

또 다른 점은, 이 문제에 대한 해결책을 찾을 수 있다면 bash 스크립트를 사용하여 이 프로세스를 자동화하기 위해 -s 옵션을 사용하고 싶습니다.

이것은 fdisk -l 명령의 출력입니다.

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C680462D-DE3F-4A97-B2A2-50226E7F9668

Device         Start       End   Sectors   Size Type
/dev/sda1       2048   1050623   1048576   512M EFI System
/dev/sda2    1050624 226453503 225402880 107.5G Linux filesystem
/dev/sda3  226453504 234440703   7987200   3.8G Linux swap

감사해요

답변1

성장할 수 없는 이유 /dev/sda2는 스왑 파티션이 /dev/sda3너무 가까워 /dev/sda2성장을 허용할 수 없기 때문입니다. 파티션 /dev/sda2은 226453503 섹터에서 시작하고 스왑 파티션은 다음 섹터 226453504에서 시작합니다. 따라서 실제로 다음 섹터에 추가 파티션을 요청하는 것입니다(이는 매우 나쁜 생각이므로 gparted허용되지 않습니다).

이 문제를 해결하려면 스왑 영역을 드라이브 끝으로 이동하거나( gparted생각나는 대로) 삭제하고 크기가 커진 후 다시 추가할 수 /dev/sda2있습니다(가장 익숙한 파티션 도구 사용). 불행하게도 특정 상황에 따라 프로세스를 자동화하는 것에 대한 제안은 없습니다. 그러나 적어도 이제 문제의 근본 원인을 알게 되었습니다.

매우 비슷한 문제와 해결책이 있습니다여기.

답변2

새 부팅 파티션(또는 추가 단계가 필요할 수 있는 다른 파티션)을 추가한 후 이 문제가 발생할 수 있는 경우, 또 다른 매우 간단한 해결책은 gdiskparted Sort를 통해 크기를 조정하기 전에 쌍 파티션을 사용하는 것입니다.

gdisk /dev/sdX
Command (? for help): s

그 후에는 parted에서 더 이상 파티션 겹침 오류가 발생하지 않았습니다.

답변3

디스크 크기와 파티션 크기가 서로 다른 다수의 clonzilla 이미지에 대한 Elder의 답변을 자동화하고 기본 레이아웃 EFI+OS+Swap이 항상 동일하고 OS가 스왑 시 절전 모드가 아니라고 가정할 때 가장 어려운 부분은 스왑 파티션을 이동하는 것입니다. 디스크 끝까지. Gparted는 끝을 기준으로 한 위치를 허용하지 않는 것 같습니다(음수 시작/끝 숫자 사용). 출력을 처리하여 parted print디스크 크기를 확인하고 mkpartgparted 명령에 사용할 시작 및 끝 위치를 자동으로 계산해야 합니다(필요한 경우 파티션의 시작을 정렬합니다(예: 2048 섹터)). 쉘 스크립팅과 같은 프로그래밍이 필요합니다.

관련 정보