디스크 문제로 인해 부팅할 수 없거나 디스크를 읽기 전용으로 설정할 수 없습니다. 디스크를 복구하는 방법?

디스크 문제로 인해 부팅할 수 없거나 디스크를 읽기 전용으로 설정할 수 없습니다. 디스크를 복구하는 방법?

질문:

약 일주일 전부터 우분투 시스템에서 온갖 종류의 심각하고 이상한 문제를 경험했습니다. 때때로 전체 시스템이 갑자기 정지되는 경우가 있습니다. 기계를 끄려면 무차별적인 힘으로 전원 버튼을 눌러야합니다. 때로는 모든 파일이 갑자기 읽기 전용이 되는 경우가 있습니다. 기기를 다시 시작해야 괜찮아 보였지만 나중에 위의 문제가 발생할 수 있습니다. Ubuntu를 종료하려고 하면 디스크 오류에 대한 메시지와 함께 검은색 화면이 나타나는 경우가 있습니다.


수정해 보세요:

내 WD 1T 하드 드라이브에 수정해야 할 몇 가지 버그가 있는 것 같습니다. 그래서 문제의 하드 드라이브를 마운트 해제한 후 우분투 설치 CD나 다른 하드 드라이브에서 우분투에서 다음 명령을 실행합니다. 그러나 나는 이 문제를 해결할 수 없다. 특히 를 실행하려고 하면 sudo e2fsck -b 8193 /dev/sda1"잘못된 인수"라는 오류 메시지가 나타납니다. 자세한 내용은 아래와 같습니다.

1) 먼저 다음과 같은 메시지가 출력됩니다. (수정하고 싶은 부분만 복사됩니다 fdisk -l.)/dev/sda1

경고: '/dev/sda'에서 GPT(GUID 파티션 테이블)가 감지되었습니다! util fdisk는 GPT를 지원하지 않습니다. GNU Parted를 사용하세요.

디스크 /dev/sda: 1000.2GB, 1000204886016바이트
255개 헤드, 63개 섹터/트랙, 121601개 실린더, 총 1953525168개 섹터
단위 = 1 * 512 = 512바이트 섹터
섹터 크기(논리/물리): 512바이트/4096바이트
I/O 크기(최소/최적): 4096바이트/4096바이트
디스크 식별자: 0x00000000
장치 부팅 시작 끝 블록 ID 시스템
/dev/sda1 1 1953525167 976762583+ ee GPT
파티션 1은 물리적 섹터 경계에서 시작되지 않습니다.

2) 실행하여 sudo fsck.ext4 -ck /dev/sda1하드 드라이브를 복구해 봅니다.

e2fsck 1.42.5(2012년 7월 29일)
ext2fs_open2: 슈퍼블록의 잘못된 매직 넘버
fsck.ext4: 잘못된 슈퍼블록, 블록 백업 중...
fsck.ext4: /dev/sda1을 열려고 할 때 슈퍼블록의 잘못된 매직 넘버
슈퍼블록을 읽을 수 없거나 ext2가 설명되지 않았습니다.
파일 시스템. 장치가 유효하고 ext2를 포함하는 경우
파일 시스템(스왑이나 ufs 등이 아님), 슈퍼블록
손상된 경우 대체 슈퍼블록을 사용하여 e2fsck를 실행해 볼 수 있습니다.
e2fsck -b 8193

3) sudo e2fsck -b 8193 /dev/sda1블록 8193에서 슈퍼 블록을 복원해 보세요.

e2fsck 1.42.5(2012년 7월 29일) e2fsck: 시도 시 잘못된 인수
/dev/sda1 열기

슈퍼블록을 읽을 수 없거나 ext2가 설명되지 않았습니다.
파일 시스템. 장치가 유효하고 ext2를 포함하는 경우
파일 시스템(스왑이나 ufs 등이 아님)
슈퍼블록이 손상되었습니다. 다음 명령을 사용하여 e2fsck를 실행해 볼 수 있습니다.
대체 슈퍼블록:
    e2fsck -b 8193

4) sudo mke2fs -n /dev/sda1다른 백업 블록 찾기

mke2fs 1.42.5(2012년 7월 29일)
파일 시스템 태그 =
운영 체제 유형: 리눅스
블록 크기=1024(로그=0)
조각 크기=1024(로그=0)
단계 크기 = 4블록, 스트라이프 너비 = 4블록
48768개의 아이노드, 194560개의 블록
슈퍼유저용으로 예약된 블록 9728개(5.00%)
첫 번째 데이터 블록 = 1
최대 파일 시스템 블록 = 67371008
24개 블록 그룹
그룹당 8192개 블록, 그룹당 8192개 세그먼트
그룹당 인덱스 노드 2032개
블록에 저장된 슈퍼 블록 백업:
    8193, 24577, 40961, 57345, 73729

5) 4에서 반환된 다른 모든 슈퍼블록 백업에 대해 3단계를 다시 실행합니다. 3단계에서도 동일한 오류가 표시됩니다.

gdisk추신: 의견을 바탕으로 붙여넣은 합계의 출력 parted은 다음과 같습니다.

sudo gdisk -l /dev/sda
GPT fdisk(gdisk) 버전 0.8.5

파티션 테이블 스캔:
  MBR: 보호
  BSD: 존재하지 않습니다
  APM: 존재하지 않습니다
  GPT: 지금

보호 MBR이 있는 유효한 GPT를 찾으세요.
디스크 /dev/sda: 1953525168 섹터, 931.5 GiB
논리 섹터 크기: 512바이트
디스크 식별자(GUID): 6166B96C-AD2A-4EF1-8967-1ACFA23FE2E4
파티션을 나눈 테이블은 최대 128개의 항목을 보유할 수 있습니다.
사용 가능한 첫 번째 섹터는 34이고 마지막 사용 가능한 섹터는 1953525134입니다.
파티션은 2048 섹터 경계에 정렬됩니다.
총 사용 가능한 공간은 3437개 섹터(1.7MiB)입니다.

넘버링 시작(섹터) 끝(섹터) 크기 코드 이름
   1 2048 391167 190.0MiB EF00  
   2 391168 890879 244.0MiB 0700  
   3 890880 1953523711 931.1GiB 8E00  
`sudo parted -l `
모델: ATA WDC WD10EZEX-00R(scsi)(참고: 문제의 디스크입니다)
디스크/개발자/sda: 1000GB
섹터 크기(논리적/물리적): 512B/4096B
파티션 테이블: gpt

번호 시작 끝 크기 파일 시스템 이름 플래그
 1 1049kB 200MB 199MB fat32 부팅 1개
 2 200MB 456MB 256MB 확장2
 3 456MB 1000GB 1000GB LVM


모델: ATA SAMSUNG HD103SJ(scsi)(참고: 이것은 또 다른 일반 디스크입니다)
디스크/개발자/sdb: 1000GB
섹터 크기(논리적/물리적): 512B/512B
파티션 테이블: msdos

번호 시작 끝 크기 유형 파일 시스템 플래그
 1 1049kB 30.0GB 30.0GB 기본 확장4
 4 30.0GB 1000GB 970GB 확장 LBA
 6 30.0GB 983GB 953GB 논리적 ext4
 5 983GB 1000GB 16.9GB 논리적 Linux-스왑(v1)


모델: Linux 장치 매퍼(선형)(dm)
디스크/개발자/매퍼/우분투 루트: 983GB
섹터 크기(논리적/물리적): 512B/4096B
분할된 테이블: 루프

번호 시작 끝 크기 파일 시스템 플래그
 1 0.00B 983GB 983GB 확장4


모델: Linux 장치 매퍼(선형)(dm)
디스크/개발자/매퍼/ubuntu-swap_1: 16.9GB
섹터 크기(논리적/물리적): 512B/4096B
분할된 테이블: 루프

번호 시작 끝 크기 파일 시스템 플래그
 1 0.00B 16.9GB 16.9GB 리눅스 스왑(v1)

답변1

당신은 fsck잘못된 일을 하려고 합니다. 다행히 실패했어요...

당신은 달리고 싶어합니다 fsck -f /dev/mapper/ubuntu-root. -c원하는 경우 추가할 수 있습니다. 또한 smartctl -a /dev/sda디스크가 SMART 오류(백업, 지금 디스크 교체) 또는 정지된 섹터(-c 시도)를 나타내는지 확인해야 합니다 .

"찾을 수 없음" 오류가 발생하면 먼저 LVM을 시작해야 합니다. 당신은 다음과 같은 일을 할 것입니다 :

# vgscan 
# vgchange -ay

그런 다음 fsck위의 작업을 다시 시도하세요.

(gdisk와 parted 모두 200MB라고 말하기 때문에 sda1이 틀렸다고 말할 수 있습니다. 또한 EXT4가 아니라 FAT32입니다. 1T 파티션이 LVM으로 나열되어 있으므로 LVM에 대해 알 수 있습니다. fdisk는 무시합니다. GPT를 지원하지 않습니다).

편집: 시스템이 부팅되므로 대안은 을 실행하는 것입니다 shutdown -F -r now. 그러면 컴퓨터가 재부팅되고 전체 fsck가 수행됩니다. 그러나 이것은 작동하지 않습니다 fsck -c. 또한 smartctl -a시동 디스크에서 안전하게 실행할 수 있습니다.

답변2

당신은 무엇을 성취할 계획인지 언급하지 않았습니다. 해당 디스크에 중요한 데이터를 저장해야 합니까, 아니면 손상되었는지 확인하고 싶습니까?

내 WD 1T 하드 드라이브에 수정해야 할 몇 가지 버그가 있는 것 같습니다.

이는 용어상 모순이다. 여기에는 두 가지 가능한 시나리오가 있습니다.

1) 하드 드라이브에 오류가 있습니다(즉, 결함이 있습니다). 그런 다음 가능한 한 빨리 데이터를 저장해야 합니다. .txt 파일을 사용하여 디스크를 다른 하드 드라이브에 이미지화하는 것이 좋습니다 dd. 하드 드라이브를 "수리"하는 것은 불가능합니다. 데이터를 성공적으로 저장한 후 삭제할 수 있습니다.

2) 파일 시스템에 버그가 있지만(즉, 어떤 면에서 일관성이 없음) 디스크 자체는 손상되지 않았습니다. 일반적으로 fsck를 사용하여 이 문제를 해결할 수 있지만 e2fsck파일 시스템을 fsck하기 전에 백업 이미지를 생성하는 것이 나쁠 것은 없습니다. fsck가 어떤 경우에는 상황을 더 악화시킬 수 있기 때문입니다.


하드 드라이브가 손상되었는지 확인하려면 SMART 자체 테스트를 실행하십시오. 루트로 다음 명령을 실행합니다:

smartctl -t long /dev/sda

몇 시간이 걸립니다. 완료되면 다음을 통해 결과를 쿼리할 수 있습니다.

smartctl -a /dev/sda | less

SMART Selective self-test log블록까지 아래로 스크롤하세요. 최상위 결과가 나타나면 Completed without error하드 드라이브에 문제가 없는 것입니다. 오류가 보고되면 오류가 발생했다는 의미이므로 가능한 한 빨리 데이터를 저장해야 합니다.

관련 정보