예를 들어, 디버깅 목적으로 디스크를 할당되지 않은 모든 공간으로 확장해야 합니다.
내 전체 디스크 크기는 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
새 부팅 파티션(또는 추가 단계가 필요할 수 있는 다른 파티션)을 추가한 후 이 문제가 발생할 수 있는 경우, 또 다른 매우 간단한 해결책은 gdisk
parted Sort를 통해 크기를 조정하기 전에 쌍 파티션을 사용하는 것입니다.
gdisk /dev/sdX
Command (? for help): s
그 후에는 parted에서 더 이상 파티션 겹침 오류가 발생하지 않았습니다.
답변3
디스크 크기와 파티션 크기가 서로 다른 다수의 clonzilla 이미지에 대한 Elder의 답변을 자동화하고 기본 레이아웃 EFI+OS+Swap이 항상 동일하고 OS가 스왑 시 절전 모드가 아니라고 가정할 때 가장 어려운 부분은 스왑 파티션을 이동하는 것입니다. 디스크 끝까지. Gparted는 끝을 기준으로 한 위치를 허용하지 않는 것 같습니다(음수 시작/끝 숫자 사용). 출력을 처리하여 parted print
디스크 크기를 확인하고 mkpart
gparted 명령에 사용할 시작 및 끝 위치를 자동으로 계산해야 합니다(필요한 경우 파티션의 시작을 정렬합니다(예: 2048 섹터)). 쉘 스크립팅과 같은 프로그래밍이 필요합니다.