슈퍼블록의 잘못된 매직 넘버

슈퍼블록의 잘못된 매직 넘버

그래서 3개의 디스크가 있습니다. 볼륨 자체에 레이블을 지정하는 것에 대해 생각했습니다.

$ e2label /dev/sda
d80-JD-75MS

$ e2label /dev/sdb
e2label: Bad magic number in super-block while trying to open /dev/sdb
Found a dos partition table in /dev/sdb

$ e2label /dev/sdc
e2label: Bad magic number in super-block while trying to open /dev/sdc
Found a dos partition table in /dev/sdc

...세 개의 디스크 모두 부팅 가능합니다. fdisk에서 오류가 보고되지 않았습니다. 그러나 일반적인 ext4 유틸리티는 모두 동일하거나 매우 유사한 내용을 보고합니다.

"Couldn't find a valid filesystem superblock
Found a dos partition table in ..."

/dev/sdb는 Debian 11을 새로 설치했지만 e2label은 이에 만족하지 않습니다. 그 외에는 별 문제가 보이지 않는데 '슈퍼블록' 문제는 어떻게 되나요? 문제를 해결할 수 있나요?

그런데 유망해 보이는 한 가지는 다음과 같습니다.

mkfs.ext4 -L "wipeout" /dev/sda

...이것은 태그를 추가하지만 디스크의 모든 내용도 지웁니다 :(

...그럼 이건 못된 짓인가? "

$ e2label /dev/sda "bad bad bad"

$ lsblk /dev/sda -o name,label,fstype,mountpoint,size,model
NAME    LABEL          FSTYPE MOUNTPOINT     SIZE MODEL
sda     bad bad bad    ext4                 74.5G WDC_WD800JD-75MSA3
├─sda1  d1--5-swap     swap                    5G 
├─sda2  d2--0-boot     ext4   /media/sda/2   200M 
├─sda3  d3--6-root     ext4   /media/sda/3     6G 
├─sda4      

...명령은 실행에 만족합니다. 이 명령은 FS를 만드는 것이 아니라 표시하는 것입니다. 아무것도 깨진 것 같지 않았습니다. 나는 매우 행복합니다. 내가 알고 싶은 것은 다른 두 디스크에서 "잘못된 매직 넘버" 메시지가 나타나는 이유입니다.

답변1

레이블은 디스크가 아닌 파일 시스템의 속성입니다.

이를 사용하여 파일 시스템에 e2label레이블을 지정할 수 있습니다(N={ 2, 3, 4 }의 경우). FAT 파일 시스템의 경우 , 또는 FAT를 지원하는 다른 도구를 extN사용해야 합니다 .fatlabelmlabel

파티션 테이블을 통하지 않고 첫 번째 디스크에 직접 extN파일 시스템을 생성한 것으로 보입니다. /dev/sda이는 일반적으로 매우 나쁜 생각입니다. (거의) 항상 디스크 파티션 테이블이 있어야 합니다.

/dev/sda파티션(예: )이 아닌 디스크( )에 직접 위치하는 파일 시스템의 문제점은 /dev/sda1디스크를 파일 시스템 이외의 용도로 사용할 수 없다는 것입니다.

걱정스럽게도 출력을 표시하는 이후 lsblk편집 내용을 보면 디스크에 다른 파티션이 있습니다. 가장 좋은 시나리오는 첫 번째 파티션 테이블이 손상되었고 디스크가 디스크 끝 부분에서 백업을 사용하고 있다는 것입니다. 최악의 시나리오는 하나 이상의 파티션에 있는 데이터도 덮어쓰는 것입니다.

이제 해당 디스크의 모든 데이터를 백업하고 다시 빌드하는 것이 좋습니다. 일단 백업해두세요백업이 성공했는지 테스트합니다., 모험심이 느껴진다면 마스터 GPT를 재구축해 볼 수 있습니다. 것 같다gdisk그리고r그러면 c옵션이 이렇게 해야 합니다.하지만 난 시도하지 않았어. 디스크를 지우고 데이터를 복구하는 것이 더 좋을 것 같습니다.

관련 정보