스왑 파일을 삭제한 후 LUKS 암호화 드라이브로 부팅할 수 없습니다

스왑 파일을 삭제한 후 LUKS 암호화 드라이브로 부팅할 수 없습니다

내 드라이브는 LVM을 사용하고 LUKS 암호화(EFI)됩니다. 내 드라이브에 들어가려고 하는데 LUKS 암호화된 비밀번호를 입력하면 작동이 중단됩니다.

최근에 루트 논리 볼륨에 메모리를 더 추가해야 했습니다. 그래서 처음에는 스왑 파일을 삭제하고, 로그 파일도 줄이고, 팩맨이 사용하던 캐시도 많이 삭제했습니다(저는 Arch Linux를 사용하고 있습니다). 이 작업을 수행한 후 LVM을 사용하고 있기 때문에 기본 논리 볼륨의 메모리 양을 줄이고 남은 메모리를 루트 파티션에 사용할 수 있다는 것을 깨달았습니다. 그래서 다음 명령을 실행했습니다(제가 기억하는 것에서 ;참고로). 내 물리 볼륨에 두 개의 논리 볼륨이 있음):

lvresize -L-20G /dev/mapper/volgroup0-lv_home
lvresize -L+20G /dev/mapper/volgroup0-lv_root
resize2fs /dev/mapper/volgroup0-lv_root

resize2fs문제가 될 수 있는 한 가지는 내 루트 논리 볼륨이 어떤 파일 시스템인지 확신할 수 없고, (불행히도) 그것이 특별히 ext3/ext4 파일 시스템용인지 모른다는 것입니다 . 내가 아는 것은 lv 명령을 사용하여 크기를 조정한 후 df -h.

기계를 종료하고 다시 시작하기 전까지는 모든 것이 잘 진행되고 있었습니다. LUKS 암호화 드라이브에 액세스하기 위해 비밀번호를 입력하면 다음 오류가 발생합니다.

[FAILED] Failed to activate swap /swapfile.
[DEPEND] Dependency failed for Swaps.

그리고 오류 메시지가 반복적으로 나타납니다. 그래서 라이브 디스크를 구해 드라이브를 마운트하고 스왑 파일을 생성해 보았습니다. 내가 사용하는 명령은 다음과 같습니다.

cryptsetup luksOpen  /dev/sda3 home
mount /dev/mapper/volgroup0-lv_root /mnt
cd /mnt
dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048 status=progress
chmod 600 /mnt/swapfile
mkswap /mnt/swapfile
swapon /mnt/swapfile

이 작업을 수행한 후 오류 메시지 없이 로그인할 수 있었지만 로그인 화면에서 멈추고 컴퓨터에는 아무것도 처리 중이라는 표시가 없었습니다(해당 화면에서 10분 동안 기다렸지만 아무 일도 일어나지 않았습니다). 기본적으로 이전에 로그인을 시도했을 때와 동일한 현상이 발생했으며 오류 메시지는 표시되지 않았습니다.

[편집] fstab 파일에서 줄을 삭제하고 디렉터리에서 스왑 파일을 제거한 후. 이 문제는 스왑 파일과 관련이 없다고 생각합니다. 어쨌든 LUKS 암호화 비밀번호를 입력했는데 드라이브에 로그인할 수 없습니다. 어떤 도움이라도 여전히 크게 감사하겠습니다. 자세한 내용을 알려드리겠습니다.

[편집 2]

/home 파일 시스템의 백업을 다른 곳에 안전하게 저장합니까?

아니요, 안타깝게도

/etc/fstab을 표시합니다(루트로 로그인하거나 라이브 디스크에서 부팅하고 스왑 파일을 다시 생성하는 것처럼 루트 파일 시스템에 액세스하면 해당 파일이 /mnt/etc/fstab임을 알 수 있음). 이는 /dev/mapper/volgroup0-lv_home LV에서 사용되는 파일 시스템 유형을 식별해야 합니다.

두 volgroup이 모두 ext4인 것 같습니다.

또한 yout /home 파일 시스템을 마운트하여 표시되는 오류 메시지(있는 경우)를 확인하고 마운트 시도가 성공하면 중요한 파일을 백업해 볼 수도 있습니다.

다음 명령 "mount /dev/mapper/volgroup0-lv_home homey"(homey는 내가 만든 디렉터리입니다)를 시도하면 다음 오류가 발생합니다.

mount: /root/homey: wrong fs type, bad option, bad superblock on /dev/mapper/volgroup0-lv_home, missing codepage or helper program, or other error

답변1

불행하게도 문제는 귀하가 나열한 첫 번째 명령일 가능성이 높습니다.

lvresize -L-20G /dev/mapper/volgroup0-lv_home

-r옵션이 없으면 논리 볼륨 내의 파일 시스템이 적절하게 축소되었다고 가정하여 명령은 논리 볼륨만 축소합니다. 사용 중인 파일 시스템 유형은 언급하지 않았지만 많은 파일 시스템은 파일 시스템이 마운트 해제된 경우에만 축소를 허용하고 일부(예: XFS)는 축소를 전혀 허용하지 않습니다.

따라서 메모리가 일부 주요 단계를 놓친 것이 아니라면 대략 /home20G를 잘라서 파일 시스템을 손상시켰을 수도 있습니다. 이는 로그인을 시도하기 전에 시작 시 오류가 표시되지 않은 이유일 가능성이 높습니다.

resize2fs문제가 될 수 있는 한 가지는 내 루트 논리 볼륨이 어떤 파일 시스템인지 확신할 수 없고, (불행히도) 그것이 특별히 ext3/ext4 파일 시스템용인지 모른다는 것입니다 . 내가 아는 것은 lv 명령을 사용하여 크기를 조정한 후 df -h.

resize2fs유효하지 않은 파일 시스템에서 사용하려고 하면 ext2오류 메시지가 표시되고 다른 작업은 수행되지 않습니다. 그래서 그 부분은 잘 작동했거나 적어도 아무런 손상도 일으키지 않은 것 같습니다.34

이전에 삭제한 스왑 파일도 올바르게 재생성한 것으로 보입니다. (참고: swapoff이전에 스왑 파일을 삭제했어야 하지만 시스템이 재부팅된 이후에는 더 이상 문제가 되지 않습니다.)

다음 단계를 계획하려면 질문을 편집하여 다음 정보를 추가해야 합니다.

  1. /home파일 시스템의 백업을 다른 곳에 안전하게 저장하고 계십니까 ?

  2. 귀하의 파일을 보여주십시오 /etc/fstab(루트로 로그인하거나 라이브 디스크에서 부팅한 다음 스왑 파일을 다시 생성하는 것처럼 루트 파일 시스템에 액세스하면 /mnt/etc/fstab그때와 마찬가지로 찾을 수 있습니다). 이는 LV에서 사용되는 파일 시스템 유형을 식별해야 합니다 /dev/mapper/volgroup0-lv_home.

  3. 또한 파일 /home시스템을 마운트하여 표시되는 오류 메시지(있는 경우)를 확인할 수 있으며, 마운트 시도가 성공하면 중요한 파일을 백업해 볼 수도 있습니다.

파일 시스템 유형 lv_home이 축소 가능하고 파일 시스템의 잘린 부분에 실제로 데이터가 포함되어 있지 않은 경우 이 상황을 해결할 수 있습니다. 희소 파일을 가짜 LVM PV로 사용하는 등 파일 시스템 축소 도구가 제대로 작동할 수 있도록 누락된 20G를 일시적으로 가짜로 만들어야 할 수도 있지만 lv_home먼저 기본적인 사실을 확인해 보겠습니다.

관련 정보