데이터를 보존하면서 기존 드라이브의 기본 파티션을 사용하여 암호화된 파티션 생성

데이터를 보존하면서 기존 드라이브의 기본 파티션을 사용하여 암호화된 파티션 생성

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`

-l을 분리하세요:

Model: ATA WDC WD10EZEX-21W (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0,00B  1000GB  1000GB  ext4

목표: 드라이브에는 내 모든 데이터가 포함된 암호화된 파티션이 1개 있어야 합니다.하지만 운영 체제는 아닙니다., (반드시 그런 것은 아님) 암호화되지 않은 파티션 1개

드라이브에는 200GB의 데이터가 있습니다. (데이터만 있고 시스템 파일은 없습니다. OS는 250GB SSD에 있습니다.) 이 드라이브를 사용하는 동안 파일을 저장할 다른 저장 공간이 없습니다(내 SSD에는 약 50GB의 여유 공간이 있습니다).

이 기본 파티션의 크기를 조정할 수 있지만 여유 공간에 새 파티션을 만들 수는 없습니다. gparted에서는 이 드라이브에 기본 파티션이 1개만 존재할 수 있다고 말합니다. 돕다?

운영 체제: 우분투 16.04

답변1

파티션이 하나만 있을 수 있다면 파티션 테이블이 없는 것입니다. 원시 디스크만 사용하는 것입니다. 찾아보니 Partition Table: loop원시 장치를 사용하고 있음을 확인하는 듯한 내용이 많이 발견되었습니다.

파일 시스템을 이동하고 이를 파티션 1을 가리키는 파티션 테이블을 삽입하는 것이 가능해야 합니다. 그런 다음 계속해서 다른 파티션을 추가할 수 있습니다.

하지만 데이터를 폐기하지 않을 확률은 0에 가깝다고 생각합니다. 또 다른 작은 기기가 있다면 몇 번 연습하면 되지만, 현실과 실제가 다르면 데이터가 없어질 수도 있습니다.

이 작업을 한 번 했는데 작업이 시작되기도 전에 뜨거운 땀을 흘리며 몇 시간 동안 고장이 났습니다. 또 한번은 실수로 데이터를 썼습니다.

답변2

Richard가 지적했듯이 파일 시스템은 파티션이 없는 디스크의 첫 번째 섹터에서 시작됩니다. 암호화된 파티션을 생성하려면 먼저 파티션 테이블을 생성해야 합니다. 암호화된 파티션을 갖고 싶다면 부트로더를 위한 암호화되지 않은 공간이 필요하므로 두 개의 파티션이 필요합니다.

데이터 손실 없이 파티션을 나눈 테이블을 만들 수 있습니다. 이는 민감한 작업이므로 백업이 최신 상태인지 다시 확인하세요. 하지만 완료할 수 있습니다.

ext4 파일 시스템은 처음 512바이트를 사용하지 않고 남겨두고 MBR 파티션 테이블은 디스크의 처음 512바이트에 맞으므로 MBR 파티션 테이블을 위한 공간이 있습니다. (GPT가 아닌 MBR이어야 합니다.)

먼저 복구 미디어를 실행하세요. 파일 시스템이 마운트된 동안에는 어떤 작업도 수행하지 마십시오.시스템 복구 디스크그런 종류의 일에는 좋습니다.

디스크 공간의 절반 이상을 사용할 수 있는 경우 다음과 같이 디스크의 두 번째 절반에 파티션을 생성할 수 있습니다.

  1. 디스크 장치의 경로를 결정합니다. 복구 시스템은 일반 시스템과 다르게 디스크 이름을 지정할 수 있습니다. 여기서는 경로가 /dev/sda.
  2. resize2fs /dev/sda파일 시스템을 최대한 줄이십시오. 여유 공간이 얼마나 있는지 확인할 수 있습니다 tune2fs -l /dev/sda.
  3. 달리기 fdisk /dev/sda. Fdisk는 메모리에 MBR 파티션 테이블인 "dos disklabel"을 생성합니다. 들어가서 n부팅할 새 기본 파티션을 만듭니다.파일 시스템이 종료된 후. Enter는 w새 파티션 테이블을 쓰고 fdisk를 종료합니다.
  4. 파일 시스템을 축소 후 파일 시스템의 크기인 head -c SIZE /dev/sda1새 파티션에 복사합니다 .SIZE
  5. 새 파티션의 데이터가 안전한지 확인하십시오.
  6. 이제 파일 시스템의 이전 복사본이 있는 디스크의 전반부에 걸쳐 파티션을 생성할 수 있습니다.

디스크의 절반 이상이 사용 중이라면 상당한 고통을 겪게 됩니다. 내 생각엔 네가 이걸 할 수 있을 것 같아먼저 데이터를 LVM 볼륨으로 변환합니다.그리고조각, 그런 다음 파일 시스템, 논리 볼륨 및 물리 볼륨을 축소합니다.gparted를 사용하여 물리 볼륨의 시작 부분 이동. 하지만 저는 이런 일을 해본 적이 없으므로 백업을 다시 확인하시기 바랍니다.

답변3

휴대용 배포판을 부팅하고, parted를 사용하여 파티션 크기를 최대한 작게 조정하고, 다른 파티션을 생성하고, 암호화하고, 데이터를 암호화된 새 파티션으로 이동할 수 있습니다. 이제 몇 가지 옵션이 남았습니다. 기존 파티션을 유지하거나 /boot(GRUB를 실행한 다음 암호화된 드라이브를 잠금 해제하는 데 필요할 수 있음), 기존 파티션을 삭제하고, 전체 디스크를 사용하도록 암호화된 파티션의 크기를 조정하고, GRUB의 내장 파티션을 사용하는 것입니다. 파티셔닝. - 분할 없이 암호화 모듈에서 새 LUKS 볼륨을 잠금 해제합니다. /boot(개인적으로 드라이브 잠금 해제 속도가 매우 느립니다.)

관련 정보