"슈퍼블록의 잘못된 매직 넘버" 수정 방법

"슈퍼블록의 잘못된 매직 넘버" 수정 방법

한 SSD의 모든 데이터를 다른 SSD로 이동해 보았습니다. 기존 SSD는 500GB, 새 SSD는 1000GB입니다.

먼저 백업을 만들었습니다.

dd if=/dev/nvme0n1 | gzip -c /media/ubuntu/local/backup1.img.gz

그런 다음 백업을 복원하려고 합니다.

gunzip -c /media/ubuntu/local/backup1.img.gz | dd of=/dev/nvme0n1

그 후 오류가 발생합니다.

$ sudo e2fsck /dev/nvme0n1
e2fsck 1.46.5 (30-Dec-2021)
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/nvme0n1

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

Found a gpt partition table in /dev/nvme0n1

어떻게 해결할 수 있는지 아시나요?

자세한 내용은 추가 출력:

$ lsblk -f
NAME        FSTYPE   FSVER            LABEL                    UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sdc                                                                                                                
└─sdc1      ntfs                      local                    824A5D3E4A5D2FE1                        244G    49% /media/ubuntu/local
nvme0n1                                                                                                            
├─nvme0n1p1                                                                                                        
├─nvme0n1p2                                                                                                        
├─nvme0n1p3                                                                                                        
├─nvme0n1p4                                                                                                        
├─nvme0n1p5                                                                                                        
├─nvme0n1p6                                                                                                        
└─nvme0n1p7      

답변1

라이브 데비안 USB 세션에서 KDE 파티션 관리자를 사용하여 ext4 debian "/" 파티션을 이동하는 데 실패했을 때 이 문제가 발생했습니다.

나에게 긴 이야기: 오래된 라이브 USB 설치를 사용하고 있고 라이브 Linux USB 썸 드라이브를 다시 설치/다시 굽기에는 너무 게으르기 때문에 문제는 오래되거나 손상된 USB 드라이브에 있는 것 같습니다. KDE 파티션 관리자가 세 번째(파티션을 왼쪽으로 이동) 두 가지 작업을 성공적으로 수행한 후 프로그램이 실패하고 오류를 보고합니다. 재부팅할 때 부팅할 수 없는 ext4 파티션과 마운트할 수 없는( ) 파티션이 남았습니다 mount: wrong fs type, bad option, bad superblock on /dev/nvme0n1p6.

fsck /dev/nvme0n1p6해당 파티션이나 디스크( 또는 ) 를 확인할 때 fsck /dev/nvme0n1" " 메시지가 보고되었습니다. Bad magic number in super-block원래 게시물과 동일한 문제입니다.

작동 안함:

  • e2fsck -b 32768 <device>

제안을 따르세요

수행된 작업:

  • 테스트 디스크! ! ! (아래에서 자세히 읽어보세요)

의심했던 대로 문제는 수정된 파티션 테이블(파티션이 이동된 것처럼)에 있지만 이동된 데이터(파일)에는 문제가 없는 것 같습니다. 수정 및 수정 또는다시 덮다부식되지 않은파티션 테이블내가 사용한 원래 상태로 testdisk( apt install testdisk, 튜토리얼 (https://www.cgsecurity.org/wiki/TestDisk_Step_By_Step) [deepsearch]testdisk를 통해 실행하고 새 파티션 테이블(원본(손상되지 않음)과 유사)에 표시하려는 파티션(P(보존, 무시/할당되지 않은 공간의 경우 D로 표시)로 표시)를 선택(오른쪽, 왼쪽 화살표)합니다. 즉, 이전 및 새) 파티션 테이블이 해당 단계에 있습니다.가능한반품파일 나열(에 따르면 P)잃어버린 파티션에올바른 파티션을 복원하고 있는지 확인하십시오. "이 파티션에서 파일을 찾을 수 없습니다"라는 메시지가 나타나면 원하는 파티션에 대한 파티션 테이블 정보(시작/끝 섹터)가 잘못된 것입니다.

대상 디스크에서 비교(시작, 끝 및 섹터 번호 포함)를 사용 fdisk -l하고 올바른(문제가 없는) 파티션을 올바르게 선택하여 프로세스에서 삭제되는 것을 방지하는 것이 도움이 됩니다.

사용 후 파티션 테이블을 디스크에 쓰도록 testdisk선택하십시오 . [write]이제 파티션을 다시 마운트할 수 있습니다.

답변2

partprobe /dev/nvme0n1이와 같이 전체 디스크 이미지 백업을 복원한 후에는 커널이 디스크 파티셔닝에 대해 올바른 생각을 가지고 있는지 확인하기 위해 실행해야 할 것입니다 .

lsblk -f7개의 파티션이 표시되고 그 중 어떤 파티션에도 인식된 파일 시스템 유형이 없다는 사실은 nvme0n1백업을 복원한 후 커널의 디스크 파티셔닝 아이디어가 구식일 수 있음을 시사합니다.

원본 디스크(및 복구된 디스크 이미지)가 분할된 경우 e2fsck해당 장치에서 실행하는 것은 결코 적합하지 않습니다 /dev/nvme0n1. 적절하게 분할된 장치를 대상으로 해야 합니다. 사실은 e2fsck이렇게 말합니다.

Found a gpt partition table in /dev/nvme0n1

/dev/nvme0n1즉, 디스크가 분명히 분할되어 있으므로 어떤 종류의 파일 시스템 검사도 실행해서는 안 됩니다 .

그러나 소스 디스크가 원래 mkfs파티션이 없는 단일 파일 시스템으로 의도된 것이라면(= "슈퍼플로피 구성"이라고 함) e2fsck /dev/nvme0n1적합할 수 있습니다. 그러나 디스크의 파일 시스템 유형이 또는 인 경우에만 ext2가능 ext3합니다 ext4.

디스크나 파티션에 다른 유형의 파일 시스템이 포함된 경우 이는 e2fsck올바른 도구가 아닙니다. 올바른 파일 시스템 유형별 도구를 사용해야 합니다.

답변3

나는 이것이 오래된 포럼이라는 것을 알고 있지만 dd를 사용하여 Linux 배포 ISO를 USB에 작성하여 USB의 잘못된 슈퍼 블록 오류를 수정했습니다. 그런 다음 gparted에서 ext4로 포맷하고 fsck를 실행했는데 오류가 표시되지 않았습니다.

관련 정보