답변:
나는이 질문이 오래되었다는 것을 알고 있지만 작은 부팅 파티션 문제를 검색하고 디스크 암호화를 사용할 때 나타납니다.
우분투 설치 프로그램 ubiquity은 partman파티션을 위해 사용 합니다. "전체 디스크 사용"옵션을 선택하면 파티션 구성은 partman 레시피 파일 /lib/partman/recipes-[arch]/*및 /lib/partman/recipes/*라이브 CD에 있습니다. 설치 프로그램이 사용하는 레시피를 찾고 /boot파티션 의 최대 크기를 수정하십시오 . 내 시스템에서 사용되는 기본 레시피는 /lib/partman/recipes/30atomic입니다. 터미널을 엽니 다 :
ubuntu@ubuntu:~$ sudo nano /lib/partman/recipes/30atomic
부팅 파티션 섹션으로 이동하여 세 번째 숫자 (아래 256)를 원하는 크기 (최소 512 이상 권장)로 변경하십시오.
128 512 256 ext2
$defaultignore{ }
method{ format }
format{ }
use_filesystem{ }
filesystem{ ext2 }
mountpoint{ /boot }
이 섹션에서는 크기가 우선 순위 512에서 128M과 256M 사이이며 다른 파티션과 관련하여이 파티션의 크기가 얼마나 중요한지 결정합니다.
Ctrl+ O,로 저장하십시오 Enter. 그런 다음 설치 프로그램을 시작하고 평소와 같이 설치하십시오.
예, 부팅 크기를 조정할 수는 있지만 매우 복잡합니다. 모든 데이터를 백업 한 후에 만 시도합니다. 실수를하면 데이터 손실 가능성이 매우 높습니다. 라이브 USB / CD로 부팅 한 후 이러한 작업을 수행해야하므로 부팅 가능한 Ubuntu 라이브 USB / CD를 준비해야합니다.
리눅스 커뮤니티가 부팅 파티션의 필요한 크기와 관련된 요구 사항을 변경했을 때 어려운 방법을 발견했습니다. 이전에는 100-200MB로 부팅하기에 충분했지만 커뮤니티는 크기 요구 사항을 두 배로 늘 렸습니다. 이는 이전 지침을 따르는 사용자에게 영향을 미쳤습니다.
/server/334663/what-is-the-recommended-size-for-a-linux-boot-partition
/ boot에 대한 현재 요구 사항은 공식 지침을 참조하십시오.
https://help.ubuntu.com/community/DiskSpace
이 글을 쓰는 시점에서 / boot는 250MB에서 1GB의 공간을 권장합니다. 필요한 가장 큰 공간을 가진 별도의 부팅 파티션을 권장합니다. 부팅 과정에서 부팅 파티션의 암호화를 해제해야합니다. 부트 프로세스는 LUKS 암호화 디스크 또는 암호화 된 HOME 디렉토리와 같이 다른 암호화 된 파티션을 마운트 할 것이며 이러한 접근 방식에는 차이가 있습니다. 필자의 경험에 따르면 다양한 Ubuntu 하드 디스크 암호화 옵션을 사용하면 나중에 수동 개입이 필요한 Ubuntu를 업그레이드 할 때 문제가 발생하는 경향이 있습니다.
일반적인 개요를 위해, 나는 당신이 내가 잘 쓴 것으로 생각하는이 기사를 언급 할 것입니다.
'단일 암호 구로 데비안 / 우분투에서 여러 파티션을 암호화하는 루크'
파티션을 변경해야 할 때이 게시물이 매우 유용하다는 것을 알았습니다.
'LUKS 암호화 파일 시스템의 크기를 조정하는 방법'
https://ubuntuforums.org/showthread.php?t=726724
gparted는 암호화 된 LUKS 파티션 이동을 지원하지 않으므로 명령 행이나 GUI에서 gparted 명령을 사용하여이를 수행 할 수 없습니다. gparted를 사용하여 파티션을 만든 다음 dd를 사용하여 섹터 복사본을 사용하여 섹터를 사용하여 암호화 된 파티션을 이동할 수 있습니다. 이것은 섹터의 관점에서 파티션 크기를 계산할 수있는 것을 포함합니다. 실수하면 데이터가 손실되고 다시 설치됩니다.
필자의 경우 부팅 파티션의 크기를 537MB에서 1GB로 늘려야합니다. Ubuntu 업그레이드가 / boot에서 충분한 공간을 찾을 수 있도록 Ubuntu 12.04에서 14.04로 업그레이드하는 과정에서 이것이 필요합니다. 예, 자동 제거를 제거하여 / boot에 공간을 확보 할 수 있지만 일반적인 요구 사항이 변경되어 해당 지침에 맞게 부팅을 확대하고있었습니다. 여기 내 파티션 레이아웃이있었습니다.
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 240GB 239GB
파티션 # 1에 LUKS 암호화 디스크가 있고 파티션 # 1에 부트가있어서 / boot를 확장 할 공간이 충분하지 않았습니다. 참고 파티션 된 # 3은 암호화 된 파티션이므로 파티션을 이동할 수 없습니다. 이 문제를 해결하기 위해 섹터 크기가 같은 디스크 끝에 네 번째 부분을 만들고 dd를 사용하여 파티션 # 3의 내용을 파티션 # 4로 복사했습니다. 루트의 크기를 필요한 최소 크기로 조정하는 것이 유용하다는 것을 알았습니다. 따라서 / boot의 크기를 해결하기 위해 다음 작업을 수행했습니다.
이 방법으로 파티션 # 3을 삭제하고 gparted를 사용하여 파티션 # 1과 # 2를 이동하고 확대 할 수 있습니다. 위의 가이드를 읽으면 앞으로 나아갈 수있는 충분한 통찰력을 얻을 수 있습니다. 여기에 표시되지 않지만 루트 파티션을 축소 할 때 동일한 파티션에서 스왑 볼륨 그룹을 삭제하고 마지막에 다시 생성했습니다. 이 모든 것은 Linux Live USB 플래시 드라이브로 부팅하는 동안 수행됩니다. 다음은 위의 가이드에서 쉽게 사용할 수 없었던 몇 가지 참고 사항입니다.
섹터의 파티션 크기를 표시하는 데 blockdev가 유용하다는 것을 알았습니다. 이것은 섹터 크기를 계산할 때 도움이됩니다.
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
Gparted 명령 'units'는 파티션 테이블을 섹터로 표시합니다. 모든 파티션 크기, 삭제 및 생성은 Gparted를 사용하여 수행됩니다. 이런 식으로 섹터의 모든 수학을 수행 할 수 있습니다. 섹터 연산이 어떻게 보이는지 확인하려면 '단위 컴팩트'가 MB / GB 형식으로 다시 전환됩니다.
(parted) unit s
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1050623s 1048576s fat32 boot
2 1050624s 1550335s 499712s ext2
3 1550336s 456656896s 455106561s
resize2fs 명령에는 최소로 크기를 조정하는 멋진 옵션이 있습니다. 또한이 부분에서 스왑 볼륨 그룹을 삭제했습니다.
ubuntu@ubuntu:~$ sudo resize2fs -M -p /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/ubuntu-vg/root to 2261211 (4k) blocks.
Begin pass 3 (max = 1600)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/ubuntu-vg/root is now 2260992 blocks long.
파티션 테이블의 크기를 조정하면 돌아가서 gparted를 업데이트하십시오. 4096 * 2260992를 사용한 다음 blockdev를 사용하여 수학을 확인하십시오. 다음은 gparted 명령입니다.
(parted) resizepart 3
End? [224419843s]? 225970179s
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on failed: No such device or address
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1050623s 1048576s fat32 boot
2 1050624s 1550335s 499712s ext2
3 1550336s 225970179s 224419844s
파티션 # 3의 섹터 수는 원래 목록보다 작습니다. 즉,이 방법으로 gparted를 사용하여 DD 사본보다 먼저 # 4 파티션을 만들 수 있습니다. 축소하면 해당 사본의 디스크 공간이 더 많이 확보됩니다.
ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=1550336 count=224419844 seek=244437218
224419844+0 records in
224419844+0 records out
114902960128 bytes (115 GB) copied, 2146.1 s, 53.5 MB/s
DD 복사 후에 / boot 파티션의 크기를 늘리십시오. 원래 # 3 부분을 삭제 한 다음 확대 된 # 1 및 # 2 파티션 다음에 새 섹터 위치에서 파티션 # 3을 다시 작성합니다. 다시 blockdev는 섹터 크기를 측정하는 데 사용되었습니다. 원래 # 3보다 작은 # 4 파티션과 동일한 크기로이 # 3 파티션을 만들었습니다. DD를 사용하여 # 4 섹터를 # 3 파티션에 복사하십시오.
ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=244437218 count=224419844 seek=9242624
복사 한 후 # 4 파티션을 삭제하고 # 3 파티션의 크기를 확장하십시오. 내 경우에는 방금 시작했을 때의 크기로 # 3 부분으로 복원했습니다. 이 작업을 수행 할 공간이 충분했습니다.
(parted) resizepart 3
End? [464349185s]? 464349184s
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? y
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on failed: No such device or address
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 4192255s 4190208s fat32 boot
2 5146624s 9242623s 4096000s ext2
3 9242624s 464349184s 455106561s
gparted가 파티션 크기를 늘리면 파일 시스템을 업데이트하지 않습니다. 파일 시스템은 암호화 된 파티션 안에 포함되어 있으므로이 변경을 위해 파일 시스템을 열고 마운트해야합니다. 이 문제를 해결하려면 다음 명령을 사용하십시오. 필요한 경우 라이브 시스템에서 수행 할 수 있습니다.
user@zagyg:/$ sudo resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/root is now 54266880 blocks long.
결론적으로 Gparted는 기본적으로 자신의 작업을 지원하지 않지만 파티션 관리에 유용한 도구입니다. 제 생각에는 fdisk보다 조금 더 유용합니다. Gparted와 DD 사이에서 파티션을 관리 한 다음 Ubuntu 도구를 사용하여 12.04 LTS에서 14.04 LTS로 업그레이드 할 수있었습니다.