최근 듀얼부팅을 하려고 컴퓨터에 리눅스를 설치했는데, 실패해서 윈도우 부팅 디스크가 지워졌는데, 별 문제는 아닙니다. 그러나 이제 Windows 부팅 시 이 파티션에 사용할 수 없는 공간이 생겼습니다. GParted 또는 CLI를 통해 이 파티션 내의 공간을 현재 파티션에 재할당할 수 있는 방법이 있습니까?
nvme1n1
은 Linux가 작업 중인 기존 파티션이고 nvme0n1
현재 대부분의 저장 공간이 할당되어 있어 액세스할 수 없는 파티션입니다.
편집하다:
추가해서 cat /proc/mdstat
출력 dmsetup ls --tree
했어요
cat /proc/mdstat
dmsetup ls --tree
출력은 다음과 같습니다sudo dmsetup ls --tree
출력은 다음과 같습니다sudo pvs
답변1
nvme0n1
파티션이 아니라 전체 디스크: "NVMe 컨트롤러 #0, 네임스페이스 #1". 심각한 엔터프라이즈 하드웨어가 없는 한 NVMe 디스크에는 네임스페이스가 하나만 있습니다.
ataraid
파일 시스템 유형은 한때 BIOS-RAID 유형이 있었지만 Linux 설치 프로그램이 해당 유형을 덮어쓰고 두 번째 NVMe 디스크에 Linux 설치를 생성했음을 의미합니다.
Linux 소프트웨어 RAID 하위 시스템 아래에 (Intel 스타일 BIOS-RAID) 수퍼블록이 있음 nvme0n1
을 감지한 것 같습니다 . 이를 제거하려면 다음을 시도하십시오./dev/md127
imsm
sudo mdadm /dev/md127 --fail /dev/nvme0n1
sudo mdadm /dev/md127 --remove /dev/nvme0n1
sudo dd if=/dev/zero of=/dev/nvme0n1 count=1024 #Be careful with this command!
또한 귀하의 스왑 영역이 현재 암호화되지 않은 파티션에 있는 것으로 나타나 컴퓨터를 도난당할 경우 데이터 유출이 발생할 수 있다는 점도 지적하고 싶습니다. 암호화를 중요하게 생각한다면 교환도 암호화해야 합니다.
nvme0n1
BIOS-RAID 설정의 남은 부분을 지운 후 전체 디스크를 포함하는 파티션을 생성 할 수 있습니다 . GParted에서 이는 선택 > nvme0n1
선택을 의미합니다 . 그러면 평소와 같이 전체 디스크를 포함하는 파티션을 생성 할 수 있습니다 . 새 파티션은 .Device
Create Partition Table...
nvme0n1
/dev/nvme0n1p1
다음 단계는 새 파티션에 암호화된 컨테이너를 만드는 것입니다. 디스크 암호화 비밀번호를 두 번 입력하고 싶지 않을 것이므로 /etc/crypttab
암호화된 루트 파일 시스템에서 이를 사용하여 두 번째 디스크를 자동으로 잠금 해제하는 키를 보관하는 것이 좋습니다. 이렇게 하려면 먼저 256바이트의 임의 데이터가 포함된 키 파일을 만듭니다.
sudo mkdir -p /etc/cryptsetup-keys.d/ # makes sure the directory exists
sudo chmod 700 /etc/cryptsetup-keys.d # ...and is only root-accessible
sudo dd if=/dev/random of=/etc/cryptsetup-keys.d/cryptdata2.key bs=256 count=1
nvme0n1p1
그런 다음 방금 생성한 키 파일을 사용하여 암호화 컨테이너를 초기화할 수 있습니다.
sudo cryptsetup luksFormat /dev/nvme0n1p1 /etc/cryptsetup-keys.d/cryptdata2.key
키 파일이 손실되거나 손상된 경우를 대비해 "사람이 쓸 수 있는" 비밀번호를 추가하는 것도 좋은 생각입니다.
sudo cryptsetup luksAddKey /dev/nvme0n1p1 # enter a passphrase for the cryptdata2 container when prompted
그런 다음 구성 파일에 다음 줄을 추가할 수 있습니다 /etc/crypttab
.
cryptdata2 /dev/nvme0n1p1 /etc/cryptsetup-keys.d/cryptdata2.key
(이 시점에서는 initramfs 파일을 다시 빌드한 후 재부팅하여 파일이 자동으로 사용 가능한지 확인하는 것이 가장 좋습니다 /dev/mapper/cryptdata2
. 그러나 Linux 배포판 이름을 지정하지 않은 것 같아서 정확한 지침을 드릴 수는 없습니다. initramfs 파일을 다시 작성하는 데 필요합니다. initramfs - 필수 명령은 다소 배포판에 따라 다릅니다.
시스템이 정상적으로 부팅되고 자동으로 사용 가능한지 확인한 후 /dev/mapper/cryptdata2
다음 단계는 LVM과 함께 사용할 볼륨을 초기화하는 것입니다.
sudo pvcreate /dev/mapper/cryptdata2
sudo vgextend data /dev/mapper/cryptdata2
이 시점에서 그림과 같이 LVM에서 사용할 수 있는 디스크 공간이 nvme0n1p1
있어야 합니다 sudo vgs
. 그런 다음 이를 사용하여 새 논리 볼륨을 생성하거나( 사용 sudo lvcreate ...
) 기존 논리 볼륨을 확장할 수 있습니다(온라인에서도 가능). 을 사용하여 루트 파일 시스템을 포함할 수 있습니다 sudo lvextend -r ...
.
그러나 루트 파일 시스템을 두 번째 암호화된 디스크로 확장하기 전에 다시 부팅하여 시스템 시작 시 오류가 없는지 확인하고 두 번째 암호화된 볼륨을 기본 LVM 볼륨 그룹에 추가하는 것이 좋습니다. 배포에 문제가 있는 경우를 대비해서입니다. 다중 장치 암호화 볼륨 그룹에서 루트 파일 시스템을 처리합니다.