Ubuntu 22.04를 실행하는 컴퓨터의 부팅 디스크로 SMART Pre-fail 상태의 Sandisk 1TB SDD가 있습니다. 최근 디스크가 머신을 부팅하는 데 실패하여 제거하고 USB 인클로저에 설치하면 더 이상 마운트할 수 없습니다. 파일 시스템은 LVM VG 위에 ext4입니다. 이 디스크는 ubuntu-vg 볼륨 그룹의 유일한 PV입니다.
드라이브를 교체하고 OS를 처음부터 설치한 후 드라이브의 전체 dd 이미지를 추출할 수 있었습니다. 루트 파티션을 복구하려고 하면 물리적 드라이브와 이미지 모두에 대해 동일한 fsck 오류가 발생합니다. 시스템이 ext4 파일 시스템으로 인식하는데도 파티션을 마운트할 수 없습니다. 여러 백업 슈퍼블록을 사용하여 fsck를 실행해 보았지만 추가 "파일 시스템 수정" 줄을 제외하고는 출력에 차이가 없었습니다(백업 슈퍼블록을 사용한 경우). 설치하려고 할 때 "수퍼블록을 읽을 수 없습니다" 오류가 발생합니다. 이미지를 16진수 편집하면 디스크의 데이터를 얻을 수 있으므로 슈퍼블록이나 로그에 문제가 있는 것처럼 보이지만 현시점에서는 어떻게 해야 할지 모르겠습니다.
$ sudo mount /dev/mapper/ubuntu--vg-root /mnt/oldroot/
mount: /mnt/oldroot: can't read superblock on /dev/mapper/ubuntu--vg-root.
$ sudo fsck -v /dev/mapper/ubuntu--vg-root
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
/dev/mapper/ubuntu--vg-root: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? yes
fsck.ext4: Input/output error while recovering journal of /dev/mapper/ubuntu--vg-root
fsck.ext4: unable to set superblock flags on /dev/mapper/ubuntu--vg-root
/dev/mapper/ubuntu--vg-root: ********** WARNING: Filesystem still has errors **********
답변1
대체 슈퍼블록을 사용하여 읽기 전용 파일 시스템을 마운트하는 것이 좋습니다.
mke2fs -n /dev/mapper/ubuntu--vg-root # this is a no-op but gives the block # of the alt superblock
mount -oro,sb=###### /dev/mapper/ubuntu--vg-root /mnt/oldroot/
기기가 오작동을 일으키기 때문에 ro 설치를 권장합니다. 가능한 한 빨리 데이터를 백업하세요.
동일한 방식으로 이미지를 설치할 수도 있지만 루프백 설치를 사용합니다.