전체 디스크 암호화로 부팅 파티션 크기 조정


12

부팅 파티션 크기 조정에 대한 일반적인 질문에 대한 답변을 보았습니다. 필자의 경우 전체 디스크 암호화를 사용하여 Ubuntu 12.04 Alternate를 설치했습니다. 크기 조정 작업 중에 드라이브를 마운트 할 수 없으므로 주 파티션이 손상되지 않습니까?

잠재적으로 다시 설치할 수 있도록 모든 것을 백업했지만 암호화 전에 부팅 파티션 크기를 지정하는 방법을 모르겠습니다.

답변:


3

나는이 질문이 오래되었다는 것을 알고 있지만 작은 부팅 파티션 문제를 검색하고 디스크 암호화를 사용할 때 나타납니다.

우분투 설치 프로그램 ubiquitypartman파티션을 위해 사용 합니다. "전체 디스크 사용"옵션을 선택하면 파티션 구성은 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. 그런 다음 설치 프로그램을 시작하고 평소와 같이 설치하십시오.


2

전체 디스크 암호화를 사용하면 암호화되지 않은 작은 부팅 파티션과 암호화를위한 물리적 볼륨 (dm-crypt) 인 다른 파티션이있는 것입니다. 그 사이에 공간이 없으면 암호화 된 파티션의 크기를 비파괴 적으로 조정하여 / boot를위한 더 많은 공간을 만들 수 없습니다.

내 대답을 여기 에서 살펴보십시오 . 도움이 될 수 있습니다.


0

예, 부팅 크기를 조정할 수는 있지만 매우 복잡합니다. 모든 데이터를 백업 한 후에 만 ​​시도합니다. 실수를하면 데이터 손실 가능성이 매우 높습니다. 라이브 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를 업그레이드 할 때 문제가 발생하는 경향이 있습니다.

일반적인 개요를 위해, 나는 당신이 내가 잘 쓴 것으로 생각하는이 기사를 언급 할 것입니다.

'단일 암호 구로 데비안 / 우분투에서 여러 파티션을 암호화하는 루크'

https://www.martineve.com/2012/11/02/luks-encrypting-multiple-partitions-on-debianubuntu-with-a-single-passphrase/

파티션을 변경해야 할 때이 게시물이 매우 유용하다는 것을 알았습니다.

'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의 크기를 해결하기 위해 다음 작업을 수행했습니다.

  1. # 3 파티션에서 루트 파일 시스템 축소
  2. # 3 파티션 크기를 작게 조정
  3. 동일한 크기의 # 4 파티션을 생성했습니다 (디스크 끝에)
  4. DD를 사용하여 # 3 파티션의 섹터를 # 4 파티션에 복사
  5. 디스크의 공간을 확보하기 위해 # 3 파티션을 삭제했습니다.
  6. Gparted를 사용하여 # 1 및 # 2 파티션의 크기를 조정하고 이동
  7. 축소 된 # 3 (또는 # 4 파티션)과 동일한 크기의 새로운 # 3 부분을 만들었습니다.
  8. DD를 사용하여 # 4 파티션의 섹터를 # 3 파티션으로 복사
  9. # 4 파티션 삭제
  10. # 3 부분의 크기를 원래 # 3 크기로 확장
  11. # 3 암호화 파티션에 포함 된 파일 시스템을 남은 공간으로 업데이트

이 방법으로 파티션 # 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로 업그레이드 할 수있었습니다.


부팅 파티션을 암호화하지 않아도됩니다. 별도의 / boot 파티션이 없으며 기본 암호화 된 rootfs의 일부입니다. Grub은 이러한 구성으로 부팅 할 수 있습니다. 1MiB EFI 파티션에서 II 부팅 / boot 크기를 조정하는 데 대략이 단계가 필요하지만 수동으로 수행 할 필요는 없습니다. KDE Partition Manager 3.0을 사용하여이 모든 단계를 수행 할 수 있습니다. 예 난 라이브 CD를 사용하지 않고 시스템 내부에서 내 암호화 된 rootfs에 여기에 몇 가지 작업을 수행 youtube.com/watch?v=FKCQ7pJN1vY을 라이브 CD가 LUKS 파티션을 이동해야하지만.
Andrius Štikonas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.