아주 비슷한 이야기이것어제 나에게 일어났습니다.
고쳐 쓰다:
내 유일한 하드 드라이브는 /dev/sda
원래 다음과 같이 분할되었습니다.
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 976773119 487873536 83 Linux
/dev/sda1
/boot
암호화되지 않은 파티션 입니다 . 이 파티션은 원래 다음 논리 볼륨을 포함하는 /dev/sda2
볼륨 그룹을 포함하는 LUKS 파티션이었습니다 .fedora_pedro
/dev/mapper/fedora_pedro-root
/dev/mapper/fedora_pedro-home
/dev/mapper/fedora_pedro-swap
라이브 디스크에 있고 다음 /dev/sda2
파티션을 축소하려고 합니다.그 단계갑자기 컴퓨터를 멈추고 플러그를 뽑아야 했습니다. 방금 사용했어요
cryptsetup luksOpen /dev/sda2 fedora_pedro
exit
그리고 (처음으로 LVM과 LUKS를 사용하면서) 둘러보면서 다양한 논리 볼륨(스왑, 루트, 홈)을 마운트하고 마운트 해제하는 과정에서 LUKS 파티션( ; ) 을 닫지 않고 서둘러 터미널을 닫아야 했습니다 exit
. 별로 주의를 기울이지 않은 채 종료 프로세스가 끝나기 전에 Live CD를 꺼낸 다음 전원 버튼을 눌러 노트북을 종료했습니다.
몇 시간 후 컴퓨터를 부팅했을 때 "대상 기본 시스템에 도달했습니다"라는 메시지가 표시되면서 부팅이 중단되었습니다. 복구 모드에서 하드 드라이브로 부팅할 때 받은 유일한 메시지는 다음과 같습니다.
dracut-initqueue [...] unit file of systemd-cryptsetup@luksMYUUID changed on disk
복구 디스크를 사용하여 드라이브( )를 열고 다음을 사용하여 cryptsetup luksOpen /dev/sda2 fedora_pedro
파티션 상태를 쿼리했습니다.e2fsck
fsck.ext4: Superblock invalid, trying backup blocks...
fsck.ext4: Bad magic number in super-block while trying to open /dev/sda2
pvdisplay
모든 PE가 사용 가능함(그래서 볼륨이 실제로 비어 있는 것으로 나타남)을 반환하고 vgscan
이 보기를 공유했으며 내 볼륨 그룹에 논리 볼륨이 포함되어 있지 않다고 언급했습니다. lvdisplay
아무것도 반환되지 않습니다.
아직 아무것도 크기를 조정하지 않았으므로 이 문제에 대해 매우 혼란스럽습니다.
testdisk /dev/mapper/fedora_pedro
올바른 볼륨(스왑, 루트 및 홈)이 표시되었고 시스템의 모든 데이터에 대한 액세스가 허용되었으므로 Write partition to the disk
재부팅 후 볼 수 있기를 바라면서 해당 볼륨을 선택했습니다. 그런 일은 일어나지 않았지만 fdisk -l /dev/mapper/fedora_pedro
지금은 다시 그런 일이 일어났습니다
Disk /dev/mapper/fedora_pedro: 465.3 GiB, 49958403712 bytes, 975742976 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0000000
Device Boot Start End Blocks Id System
/dev/mapper/fedora_pedro1 * 2048 8161279 4079616 82 Linux swap / Solaris
/dev/mapper/fedora_pedro2 8161280 870885375 431362048 82 Linux
/dev/mapper/fedora_pedro3 870885376 975742975 52428800 82 Linux
모든 것이 제대로 작동하면 볼륨을 마운트 해제할 수 있기 때문에 여전히 볼륨을 개별적으로 마운트할 수 없습니다. 사실 에서 찾을 수 없습니다 /dev/mapper
. 또한 테이블을 디스크에 복사했기 때문에 그룹과 논리 볼륨은 물론이고 물리 볼륨도 더 이상 볼 수 없습니다( pvscan
, vgscan
& lvscan
명령은 아무것도 반환하지 않습니다). 그러나 나는 이 문제에 대한 해결책이 결코 불가능한 것은 아니라고 확신하고 확신합니다.
- grub의 원래 볼륨 항목과 일치하도록 파티션 테이블의 볼륨 항목 이름을 바꿀 수도 있습니다. <-- 가능성 없음
아래에서 볼 수 있습니다vgcfgrestore
어쩌면 백업을 찾고 동등한 도구를 사용하여 시스템을 복원할 수도 있습니다. <--mke2fs -S
처음에 언급한 이야기에서 제안한 것처럼 디스크의 슈퍼블록을 다시 작성하는 방법을 사용할 수도 있습니다 .testdisk
블록 크기는 양수: 4096입니다. <-- 위험하다
그러나 이러한 모든 솔루션(및 귀하가 제안할 수 있는 다른 솔루션)은 읽은 내용을 통해 알 수 있듯이 논리 볼륨 시스템에 대한 나의 제한된 지식을 넘어서는 것입니다. 정상적으로 다시 시작하기에 적합한 프로그램이 무엇인지 알고 싶습니다.
최전선에서 전하는 소식
다시 이전 시스템에 대한 액세스를 사용하고 있습니다 testdisk
. 언급한 대로 파티션은 괜찮았으며 특히 /etc
복원할 귀중한 정보를 얻을 수 있는지 확인하기 위해 이전 파일 시스템을 살펴보았습니다 . 이 게임을 오래 플레이할수록 라벨링 문제라는 생각이 더 많이 듭니다. 라이브 문서 파일에 복사하여 /etc/lvm
백업 파일로 사용하려고 했으나 vgcfgrestore
결과가 좋지 않았습니다.
Couldn't find device with uuid cZ83jX-WXkk-tNG4-ulGT-sAqq-HlKq-Omtqc8.
PV unknown device missing from cache
Format-specific setup for unknown device failed
Restore failed.
실제로 blkid
유사한 uuid는 반환되지 않습니다. 훨씬 더 흥미로운(그리고 아마도 내 자신의 행동일 수도 있음) blkid
내 Ext4 파일 시스템에 대해 반환된 다음은 다음과 같습니다.
/dev/sda1: "9f2a5417-dce6-45c1-8d93-1ee753e5c75c" TYPE="ext4" PARTUUID="0006282d-01"
/dev/sda2: "a33beb04-1147-446e-8f3b-7ff9d6bc226b" TYPE="crypto_LUKS" PARTUUID="0006282d-02"
[...]
/dev/mapper/fedora_pedro: PTTYPE="dos"
Write partition to disk
testdisk
현재 uuid가 fedora_pedro
원래 uuid와 전혀 일치하지 않는다는 점 에서 실수를 한 것 같습니다 . 실제로 fedora_pedro
uuid는 없습니다. 이전 작업 단위의 모든 사양을 이 볼륨에 귀속시키는 것이 가능합니까? uuid, 논리 파티션... 그렇다면 어떻게?
가까워지고 있나요?
vgchange -ay fedora_pedro
반품
Volume group "fedora_pedro" not found
Skipping volume group fedora_pedro
/etc/lvm/backup/
또는 에서 언급한 원래 볼륨 그룹 이름과 동일한 볼륨 그룹 이름을 사용하더라도 마찬가지입니다 /etc/lvm/archive
. vgdisplay
똑같은 말을 했어요.
흥미로운 점은 출력입니다.lvmdiskscan
/dev/mapper/live-rw [ 4.00 GiB]
/dev/sda1 [ 500.00 MiB]
/dev/mapper/live-base [ 4.00 GiB]
/dev/loop2 [ 886.75 MiB]
/dev/sda2 [ 465.27 GiB]
/dev/mapper/live-osimg-min [ 4.00 GiB]
/dev/mapper/loop3 [ 4.00 GiB]
/dev/mapper/fedora_pedro [ 465.27 GiB] LVM physical volume
/dev/loop4 [ 512.00 MiB]
3 disks
5 partitions
1 LVM physical volume whole disk
0 LVM physical volume
내가 올바르게 이해했다면 거기에 물리적 볼륨이 있다는 것을 아는 사람이 있습니까? 그러나 그것은 그것을 보여주고 싶지 않습니다.
$ pvdisplay fedora_pedro
Failed to read physical volume "fedora_pedro"
$ pvdisplay /dev/mapper/fedora_pedro
No physical volume found in lvmetad cache for /dev/mapper/fedora_pedro
Failed to read physical volume "/dev/mapper/fedora_pedro"
$ pvdisplay /home/liveuser/Documents/etc/lvm/archive/fedora_pedro_00000-1031984471.vg
Failed to read physical volume "/home/liveuser/Documents/etc/lvm/archive/fedora_pedro_00000-1031984471.vg"
더 나아가는 방법을 모르겠습니다. lvmdump -m
dmsetup_ls_tree, dmsetup_table, dmsetup_status 및 dmsetup_info를 살펴보았습니다 . dmsetup_info는 fedora_pedro에 대해 다음 UUID를 반환합니다.
Name Maj Min Stat Open Targ Event UUID
fedora_pedro 253 3 L--w 0 1 0 CRYPT-LUKS1-a33beb04-1147-446e-8f3b-7ff9d6bc226b-fedora_pedro
blkid
이는 for 에서 반환한 것과 동일한 UUID입니다 /dev/sda2
. 이것은 또한 26번째 줄에서 찾은 내용과 동일합니다./home/liveuser/Documents/etc/lvm/archive/fedora_pedro_00000-1031984471.vg
[...]
pv0 {
id = "cZ83jX-WXkk-tNG4-ulGT-sAqq-HlKq-Omtqc8"
device = "/dev/mapper/luks-a33beb04-1147-446e-8f3b-7ff9d6bc226b" # Hint only
[...]
그리고 grub.cfg
파일 에 /dev/sda1
.
위 목록에 쓴 것처럼 id와 UUID를 함께 일치시키려고 노력하겠지만 문제는 다른 곳에 있는 것 같습니다.
답변1
어떻게든 볼륨 그룹과 그 안에 있는 물리 볼륨을 지웠습니다. 그냥 질문이에요메타데이터를 사용하여 복원을 사용할 수 있습니다 testdisk
. /etc/lvm
원본 폴더를 실제 사용자의 데스크탑에 복사한 다음
$ pvcreate --uuid "cZ83jX-WXkk-tNG4-ulGT-sAqq-HlKq-Omtqc8" \
--restorefile /home/liveuser/Desktop/etc/lvm/archive/VG.vg /dev/sda2
Physical volume "/dev/sda2" successfully created
$ vgcfgrestore VG
Restored volume group VG
$ lvchange -ay /dev/VG/home /dev/VG/root /dev/VG/swap
$ lvs -a -o +devices
그 후, vgdisplay -v fedora_pedro
원래 논리 및 물리 볼륨을 언급하는 일관된 출력이 반환되었으며 마운트하고 탐색할 수 있었습니다. 그러나 몇 분 후 불행하게도 이러한 변경 사항을 디스크에 쓰려고 Luks 컨테이너의 헤더를 지웠습니다. 그래서 모든 것이 헛된 일이었습니다 ...