Linux luks 파티션을 손상시켰고 부팅 시 오류 메시지 없이 initramfs를 받았습니다.

Linux luks 파티션을 손상시켰고 부팅 시 오류 메시지 없이 initramfs를 받았습니다.

이 문제를 해결하기 위해 약 10시간 이상 검색했지만 아직 해결책을 찾지 못하여 여기에 있습니다.

간단히 말해서, 이중 부팅 Windows 파티션을 위한 더 많은 공간을 만들기 위해 라이브 USB 부팅에서 크기를 줄여 기본 Linux 부팅 드라이브(luks 암호화 사용)를 손상시켰습니다.

컴퓨터를 부팅하고 정상적으로 드라이브를 해독하기 전까지는 모든 것이 괜찮았지만, 디스크를 해독한 후 로그가 없는 initramfs 콘솔(initramfs)을 발견했습니다.

여러 가지 접근 방식을 시도했지만 조사를 통해 추론할 수 있는 내용은 다음과 같습니다.

*내 드라이브에 유효한 luks 헤더가 있습니다(비밀번호를 알고 있습니다) *드라이브에 유효한 슈퍼 블록이 있습니다* initramfs에 종료를 입력하면 /dev/ 찾을 수 없음이라고만 표시됩니다(잠깐...). 프롬프트가 표시되지 않습니다.

이 문제를 해결하는 데 도움이 될 수 있는 몇 가지 결과를 명령에 적어 보겠습니다. 나는 몇 주 전에 Linux로 옮겼기 때문에 이것이 나에게 새로운 것입니다 :/

그런데, 라이브 실행 시 이 명령을 입력하고 있습니다. 내 주요 Linux 파티션은 sda3에 있습니다. 도움이 되었기를 바랍니다.

root@pop-os:~# lsblk

NAME                                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0                                           7:0    0     2G  1 loop  /rofs
sda                                             8:0    0 223.6G  0 disk  
├─sda1                                          8:1    0   498M  0 part  
├─sda2                                          8:2    0     4G  0 part  
├─sda3                                          8:3    0 146.5G  0 part  
│ └─luks-077248fb-b2bf-4ddb-9762-3c69af031c2c 253:0    0 146.5G  0 crypt 
├─sda4                                          8:4    0     4G  0 part  [SWAP]
└─sda5                                          8:5    0    67G  0 part  /media/pop-os/c
sdb                                             8:16   0   1.8T  0 disk  
├─sdb1                                          8:17   0    16M  0 part  
└─sdb2                                          8:18   0   1.8T  0 part  
sdc                                             8:32   1  14.5G  0 disk  
├─sdc1                                          8:33   1   2.1G  0 part  /cdrom
├─sdc2                                          8:34   1     4M  0 part  
└─sdc3                                          8:35   1  12.3G  0 part  /var/crash

root@pop-os:~# sudo blkid grep LUKS |

/dev/sda3: UUID="077248fb-b2bf-4ddb-9762-3c69af031c2c" TYPE="crypto_LUKS" PARTUUID="fa8127eb-222e-48ab-93ba-23fde42b29bf"

root@pop-os:~# sudo blkid |

/dev/mapper/luks-077248fb-b2bf-4ddb-9762-3c69af031c2c: UUID="FMjQHW-a72R-7Z4K-37pV-dioz-vvIb-QJsKhm" TYPE="LVM2_member"

root@pop-os:~# sudo fdisk -l /dev/sda3

Disk /dev/sda3: 146.5 GiB, 157286400000 bytes, 307200000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

root@pop-os:~# cryptsetup luksDump /dev/sda3

[luks header in full]

root@pop-os:~# sudo mke2fs -n /dev/mapper/luks-077248fb-b2bf-4ddb-9762-3c69af031c2c

mke2fs 1.45.5 (07-Jan-2020)
/dev/mapper/luks-077248fb-b2bf-4ddb-9762-3c69af031c2c contains a LVM2_member file system
Proceed anyway? (y,N) y
Creating filesystem with 38395904 4k blocks and 9601024 inodes
Filesystem UUID: 5eedce5b-bea9-405e-85ed-0316ea3ba13c
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872

root@pop-os:~# file -s /dev/sda3

/dev/sda3: LUKS encrypted file, ver 2 [, , sha256] UUID: 077248fb-b2bf-4ddb-9762-3c69af031c2c

라이브 부팅 파일 관리자에서 파티션을 해독하고 열려고 하면 다음이 반환됩니다.

"/media/pop-os/<8num>-<4num>-<4num>-<4num>-<12num>에 /dev/dm-1을 설치하는 동안 오류가 발생했습니다. /dev/ Superblock 오류에서 잘못된 파일 시스템 유형, 잘못된 옵션이 발생했습니다. 매퍼/데이터루트에 코드 페이지나 도우미가 없거나 기타 오류가 발생했습니다."

아직 헤더가 있어서 복구가 가능해야 하는데, 전체 내용을 복구할 수 없다면 /home 디렉터리를 어떻게 구하는지 알고 싶습니다. 시간 내 주셔서 감사합니다.

답변1

실행 mke2fs -n해 보면 암호화된 볼륨에 /dev/mapper/luks-077248fb-b2bf-4ddb-9762-3c69af031c2c파일 시스템뿐만 아니라 LVM 물리 볼륨도 포함되어 있는 것으로 나타났습니다. 따라서 볼륨 잠금을 해제한 후(필요한 경우 수동으로) 다음 단계는 cryptsetup luksOpenLVM 구성 요소를 검색한 후 상태가 양호하면 활성화하는 것입니다.

볼륨을 축소하여 손상시켰다고 하므로 감지할 수는 있지만 자동으로 활성화되지 않을 수 있습니다. LVM 및 관련 udev자동화는 일반적으로 오류 없이 VG를 자동으로 활성화하기 때문입니다. 따라서 실제 환경에서는 다음 명령이 필요합니다.

vgscan
vgchange -Pay --activationmode partial

이는 일부 부품이 누락된 것처럼 보이더라도 LVM 볼륨 그룹(방금 잠금 해제된 볼륨 포함)을 찾아 활성화하도록 시스템에 지시합니다. 이러한 명령에서 진단, 경고 및/또는 오류 메시지가 표시될 수 있습니다.

LVM 물리 볼륨이 포함된 LUKS 암호화 볼륨보다 크다고 주장하여 VG가 활성화를 거부하는 경우 먼저 LUKS 컨테이너를 축소 전 크기로 다시 확장해야 할 수 있습니다.

이러한 명령이 성공하면 시스템 구성 방식에 따라 탑재할 수 있는 LVM 논리 볼륨이 최소한 하나 이상 있어야 합니다. lvs및/또는 명령을 사용하여 확인하십시오. LVM 논리 볼륨을 또는 lsblk로 지정할 수 있습니다 ./dev/<VG name>/<LV name>/dev/mapper/<VG name>-<LV name>

data라이브 부팅 파일러의 오류 메시지에 따르면 LVM 볼륨 그룹의 이름 이 루트 파일 시스템 LV의 이름인 것으로 추측됩니다 root.

이것이 사실이라면 다음 단계는 파일 시스템 유형을 확인하는 것입니다. 그렇지 않을 수도 있지만 ext4Linux 배포판과 설치 시 선택한 사항에 따라 다를 xfs수도 있습니다 . btrfs그래서:

file -Ls /dev/mapper/data-root

파일 시스템 유형이 인 경우 ext4응답은 다음과 유사해야 합니다.

/dev/mapper/data-root: Linux rev 1.0 ext4 filesystem data, UUID=12345678-abcd-1234-abcd-123456789abcd, volume name [...]

파일 시스템 유형이 인 경우 xfs응답은 다음과 유사해야 합니다.

/dev/mapper/data-root: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

ext4파일 시스템 유형이 또는 ext3이 아닌 경우 ext2// systemtype 제품군 과 관련된 e2fsck다른 파일 시스템 도구ext2ext3ext4적용되지 않습니다. 이를 사용하려고 하면 해로울 수 있습니다.

명령이 파일 시스템 유형을 인식하지 못하는 경우 file파일 시스템이 손상되었기 때문일 수 있습니다. 또는 단순히 라이브 Linux 환경이 실제 설치보다 오래되었거나 더 제한적이며 특정 파일 시스템 유형을 완전히 지원하지 않기 때문일 수 있습니다. .

파일 시스템 유형을 성공적으로 식별할 수 있으면 다음 명령을 사용하여 파일 시스템 마운트를 시도할 수 있습니다.

mount -o ro /dev/mapper/data-root /mnt    #or whatever you want to use as a mount point

LVM 논리 볼륨이 여러 개 있는 경우 이제 모두 동일한 방식으로 마운트되어야 합니다.

관련 정보