LUKS 파티션을 축소하는 방법과 "cryptsetup 크기 조정"의 기능은 무엇입니까?

LUKS 파티션을 축소하는 방법과 "cryptsetup 크기 조정"의 기능은 무엇입니까?

단일 ext4 파일 시스템(LVM 등 없음)을 포함하는 LUKS 암호화 파티션의 크기를 조정하고 있습니다. 이것비밀번호 설정 FAQ기존 파티션을 삭제하고 다시 생성하는 것이 좋지만 이는 시간낭비처럼 들립니다. 그래서 저는 수동으로 신중하게 파티션 크기를 조정하고 싶습니다.

지금까지 내가 해야 할 일은 다음과 같습니다.

  1. 파일 시스템의 (암호화된) 백업을 생성합니다. 중요한! 다음 작업을 수행하는 동안 데이터가 손실되는 첫 번째 사람은 아닙니다.
  2. 기존 ext4 파일 시스템을 마운트 해제합니다(예: Live CD 부팅). Live CD에서 부팅하는 경우 다음 명령을 사용하여 암호화된 파티션을 마운트합니다.cryptsetup luksOpen /dev/sdXY ExistingExt4
  3. 기존 ext4 파일 시스템 크기 조정.
  4. cryptsetup resize /dev/mapper/ExistingExt4 -b $SECTORS
  5. 다음 명령을 사용하여 LUKS 파티션을 종료/"마운트 해제"합니다.cryptsetup luksClose ExistingExt4
  6. 파티션 크기를 줄입니다.

위의 단계가 정확합니까?

4단계에서는무엇을 선택해야 합니까 $SECTORS? 이 단계가 여전히 필요합니까?매뉴얼 cryptsetup페이지에는 실제로 옵션이 설명되어 있지 않습니다 resize.

resize <name>
    resizes an active mapping <name>.
    If --size (in sectors) is not specified, the size of the underlying
    block device is used.

마지막으로 ext4 파티션을 15GiB만큼 축소하면 를 사용하여 기존 파티션에서 15GiB를 삭제할 수 있다고 안전하게 가정할 수 있습니까 parted? 그렇다면 어떻게 해야 합니까? 내 디스크는 GPT로 파티션되어 있습니다(있는 경우).

답변1

백업(1단계) 및 마운트 해제(2단계와 3단계 사이) 후 다음을 실행하여 fsck파일 시스템이 정상인지 확인합니다.

e2fsck -f /dev/mapper/ExistingExt4

그 외에는 단계가 괜찮습니다.

cryptsetup resize명령의 목적

$SECTORS에는 무엇을 선택해야 하나요? 이 단계가 여전히 필요합니까?

이 단계는 필요합니다. 그렇지 않으면 파티션이 여전히 이전 면에 나타납니다. Nautilus는 이를 확인했는데, resize를 사용한 후에도 resize2fsLUKS 파티션이 여전히 이전 크기로 표시됩니다 . 실행 후 cryptsetup resize올바른 숫자가 표시됩니다. 이 단계는 필수가 아닙니다.파일 브라우저에 표시된 현재 크기 상태에만 영향을 미칩니다. 크기를 변경하고 파티션을 다시 닫거나 열면 번호가 복원되었습니다. 따라서 이 작업은 LUKS 파티션이 종료되면 더 이상 사용되지 않게 됩니다(나중에 표시됨).

$SECTORS이는 다음 출력을 보면 확인할 수 있습니다 cryptsetup status ExistingExt4.

    /dev/mapper/ExistingExt4가 활성화되었습니다.
      유형: LUKS1
      비밀번호: aes-cbc-essiv:sha256
      키 크기: 256비트
      장치: /dev/sda2
      섹터 크기:  512화
      오프셋: 2056 섹터
      크기:    156049348부서
      모드: 읽기/쓰기

(처럼cryptsetup 2.0.0(2017년 12월), 섹터 크기는 512바이트보다 클 수 있습니다. 참조cryptsetup(8)맨페이지그리고 --sector-size옵션. )

따라서 15GiB를 빼려면 섹터 크기를 사용하십시오 156049348 - 15 * 1024 * 1024 * 2 = 124592068.

cryptsetup resize ExistingExt4 -b 124592068

파티션 크기 조정parted

파티션 크기 조정의 경우 partedGPT 파티션이 훌륭하게 작동합니다. 그러나 resize명령이 작동하지 않습니다. 해결 방법(또는 솔루션)으로 파티션 정보를 삭제하고 다음에서 영감을 받아 새 파티션을 생성하십시오.http://ubuntuforums.org/showthread.php?p=8721017#post8721017:

#cryptsetup luks는 기존 Ext4를 닫습니다.
#/dev/sda2를 분리하세요.
GNU 별도 2.3
/dev/sda 사용
GNU Parted에 오신 것을 환영합니다! 명령 목록을 보려면 "help"를 입력하십시오.
(분리된)단위
(분리된)
모델: ATA INTEL SSDSA2CW08(scsi)
디스크/개발자/sda: 156301488s
섹터 크기(논리적/물리적):512B/512B
파티션 테이블: gpt

번호 시작 끝 크기 파일 시스템 이름 플래그
 1 34초 2082초 2049초 bios_grub 시작
 3 2083s 250034s 247952s ext2 루트 부팅
2 250035s 156301438s 156051404s 모두

15GiB를 잘라야 하므로 새 끝은 가 됩니다 156301438 - 15 * 1024 * 1024 * 2 = 124844158. 파티션 2를 변경하고 싶기 때문에 먼저 파티션을 삭제한 다음 "Everything"이라는 레이블로 다시 만들어야 합니다(원하는 경우 변경할 수 있음).노트: 디스크에 GPT 레이아웃이 있습니다. MBR의 경우 Everything또는 primary( extended테스트되지 않은 MBR의 파티션 크기 조정은아니요테스트를 거쳤으며아니요테스트되지 않았으므로 권장됩니다.)

경고하다: 다음 명령에는손상된 데이터. 무슨 일이 일어나고 있는지 이해하지 않고 복사하지 마십시오. 부서 규모~ 해야 하다변경될 수 있습니다. 그렇지 않으면 당신은~ 할 것이다파티션을 파괴하십시오. 나는 너의 어리석음에 대해 책임을 지지 않는다백업 백업 백업귀하의 데이터두번째데이터가 위험에 빠지기 전에 저장 매체를 확인하세요.

(분리된)RM2
(분리된)mkpart 모든 것 250035s 124844158s
경고: 결과 파티션은 최적의 성능을 위해 제대로 정렬되지 않았습니다.
무시/취소하시겠습니까?소홀히 하다
(분리된)
모델: ATA INTEL SSDSA2CW08(scsi)
디스크/개발자/sda: 156301488s
섹터 크기(논리적/물리적): 512B/512B
파티션 테이블:요약표

번호 시작 끝 크기 파일 시스템 이름 플래그
 1 34초 2082초 2049초 bios_grub 시작
 3 2083s 250034s 247952s ext2 루트 부팅
 2 250035초  124844158s 124594124s               모든 것
(분리된)사직하다

위의 예에서 parted내 섹터가 정렬되지 않았습니다. 이는 초기 설치 오류이므로 너무 걱정하지 마십시오.

이제 맞다! cryptsetup status및를 사용하여 file -Ls /dev/...모든 것이 제대로 작동하는지 확인한 다음 재부팅 할 수 있습니다 .

답변2

알아채다KDE 파티션 관리자 2.2.0이러한 단계를 수행하고 LUKS 파티션의 크기를 조정하면 좋은 결과를 얻을 수 있습니다.

관련 정보