하드 드라이브 불량 섹터를 해결하는 방법


17

우분투를 사용하여 하드 드라이브를 수정하려고했지만 오류 메시지가 표시되어 진행 방법을 몰랐습니다. 불량 섹터를 수정해야합니다

fsck /dev/sdb  
fsck from util-linux 2.20.1  
e2fsck 1.42.5 (29-Jul-2012)  
fsck.ext2: Permission denied while trying to open /dev/sdb  
You must have r/w access to the filesystem or be root  

1
붙여 넣은 텍스트는 질문과 관련이없는 것 같습니다. 명확히 할 수 있습니까?
thomasrutter

답변:


22

드라이브 의 불량 섹터 는 드라이브가 영구적으로 손상되었다는 표시입니다. 드라이브가 이러한 섹터를 잘못 표시했다고 생각할만한 이유가 없으면 "수정"할 수 없습니다.

더 이상 안정적으로 읽거나 쓸 수없는 정도로 드라이브의 일부가 손상되었음을 의미합니다.

시스템은 해당 섹터를 사용할 수없는 것으로 표시하여 드라이브를 계속 사용할 수 있지만 불량 섹터는 더 많은 섹터 또는 전체 드라이브가 곧 실패 할 수 있다는 표시 일 수 있으므로 드라이브 교체를 고려할 수 있습니다.

드라이브가 섹터를 불량으로 표시 해제하여 다시 사용할 수 있도록하는 방법이있을 수 있지만 이는 좋은 생각이 아닙니다. 업종은 양호 할 수 있지만 다시 악화 될 가능성이 높습니다. 실패한 방식에 따라 일부 데이터가 손실되거나 손상 될 수 있습니다.

자, 당신이 당신의 질문에 붙여 넣은 오류 메시지 (내 글을 쓰는 시점)에 관해서는, 그 오류는 불량 섹터와 관련이 없습니다. 드라이브에 액세스 할 수 없음을 의미합니다. 이기 sudo때문에, 당신에게 액세스 권한을 부여 할 수 있습니다 :

sudo fsck /dev/sdb

그러나,는 / dev / sdb에 전체 드라이브를 참조하기 때문에이있는 반면, 여전히 아마 당신이 원하지 않는 무엇 fsck에 작동하도록 설계 파일 시스템 보통 (항상하지만, 당신은 예외가 여기에있을 수 있습니다)에 배치 파티션을 . 위의 방법으로 문제가 해결되지 않으면 해당 드라이브의 첫 번째 파티션에서이 작업을 수행 할 수 있습니다.

sudo fsck /dev/sdb1

다음을 사용하여 드라이브 당 파티션 목록을 얻을 수 있습니다.

sudo fdisk -l

7
아마도 나쁜 블록 일 것입니다. 데이터를 읽을 수 없습니다. 블록을 다시 매핑 한 후 드라이브는 다른 3 년 동안 양호 할 것입니다. 내 경험도 마찬가지입니다.
Zan Lynx

불량 섹터가있는 HDD는 불량 섹터가 없었던 것보다 훨씬 빨리 고장날 가능성이 높습니다. 경험에 근거한 드라이브 수는 몇 개입니까? 나는 여전히 그것을 더 큰 도박이라고 부릅니다.
thomasrutter

더 가능성이 있습니까? 확실한. 그러나 그것은 즉시 운명이 아닙니다. 그 블록이 잘못 되었는지에 달려 있습니다. 내가 말했듯이, 나는 평생 동안 몇 가지 나쁜 블록을 천천히 다시 매핑하고 계속 작동하는 드라이브를 가지고 있습니다.
Zan Lynx

it isn't immediately doomed-당신은 그것을 알거나 보장 할 방법이 없습니다. 어떤 경우에는 그럴 수 있습니다. So much depends on why that block went bad-왜 그것을 열어서 효과적으로 파괴하지 않으면 서 그 이유를 확실하게 찾는 것은 불가능하다. 내가 말했듯이 항상 위험이 증가합니다. 당신이 그런 위험에 절대적으로 괜찮다면 나는 그것에 아무런 문제가 없습니다. 대부분 의 경우, 아마도 시간의 90 % 이상인 경우 불량 섹터가 발견 된 후 드라이브가 빠르게 고장 나지 않으며 경우에 따라 몇 년 동안 지속될 수도 있습니다. 좋은 백업을 유지하면 향후의 실패로 인한 피해는 그리 크지 않습니다.
thomasrutter

1
"디스크가 마운트되었습니다"라고 말하고 아무 것도 수행하지 않습니다.
Dims

21

요컨대 : 복구 시스템을 부팅하고 불량 블록을 사용하십시오 .

badblocks -svn /dev/sda

하드 디스크 컨트롤러가 불량 블록을 예비 블록으로 교체하도록합니다.

나는 세부에서 같은 질문에 대답했다 여기 .


4
아마도 fsck의 -c옵션 과 함께 이것을 간접적으로 사용하고 싶을 것입니다 . badblocks독립형을 사용하는 AFAIK 는 어떤 동작도 변경하지 않으며 불량 블록의 위치 만보고합니다. 물론 드라이브 펌웨어는의 사용 패턴 특성에 따라 동작을 투명하게 수정할 수 badblocks있지만 반드시 드라이브에 따라 다릅니 까?
amoe

1
새 사용자는이 사이트에서 특정 활동을 수행하기 전에 먼저 "평판"을 받아야합니다. 따라서 이것을 복제 할 수 없었습니다. 여전히 그 질문에는 대답이 필요합니다. 불량 블록은 물리 디스크의 문제이므로 (SMART 값을 확인하면 파일 시스템이 직접 영향을받지 않습니다. 데이터 손실로 인해 손상 될 수 있습니다. 따라서 fsck를 수행하는 것도 좋은 생각입니다. "수리"불량 블록이 답이었습니다
user228505

@amoe 문서는 동작이 변경 될 것이라고 가정합니다. "장치 이름에서 sudo badblocks -n을 실행하여 직접 실행하고 터미널에서 바로 불량 블록을보고하십시오. -w 옵션을 사용하여 쓰기 모드 테스트를 사용할 수 있습니다. -n과 -w 옵션은 상호 배타적이므로 함께 사용하지 마십시오 데이터가있는 볼륨에는 -w 옵션을 사용하면 안됩니다. 모든 항목이 깨끗하게 지워지기 때문입니다. -w 옵션은 지우고 싶지 않은 볼륨에 적합합니다. "
Webwoman

13

예전에는 하드 디스크 표면이 "완벽"하지 않았기 때문에 드라이브에 기록 된 불량 블록을 기록하고 드라이브를 포맷하기 전에 결함 목록에있는 불량 블록을 입력해야했습니다. 디스크를 구매하면 디스크에 인쇄 된 결함 테이블을보고 결함이 가장 적은 디스크를 구매합니다.

이제 20 년 정도 앞으로 스크롤하면 하드 디스크 제조업체는 새로운 디스크에 펌웨어에 불량 블록이 있다는 사실을 숨 깁니다. 새로운 디스크를 구입할 때 이미 모든 불량 블록에있을 것입니다. 예비 실린더 세트에서 이들을 매핑하지만, 해당 섹터에서 쓰기 작업이 발생하고 ECC 알고리즘이 비트 오류를 ​​감지 한 경우에만 발생하며 블록 만 매핑합니다. 따라서 다시 DD를 사용하여 드라이브가 불량 블록을 강제로 매핑하도록 강제 할 수 있습니다. 예를 들면 다음과 같습니다.

dd if=/dev/zero of=/dev/sdX bs=1M 

드라이브 결함을 다시 매핑하는 가장 빠른 방법이며 대상 드라이브를 잘못 설정하여 Linux 설정을 완전히 지울 수있는 가장 빠른 방법이기도합니다. Enter 키를 누르기 전에 다시 확인하십시오. dd 명령에서 블록 크기를 늘려 읽기 / 쓰기를 최적화하고 더 빠르게 진행할 수 있지만, 포인트 이후에는 수익이 감소합니다. 1M과 8M 사이에서 가장 잘 작동하는 것을 발견했습니다.

DD가 하나의 섹터를 작성하고 나쁜 섹터를 다시 가져 오기 위해 다시 가져올 수 있으므로 드라이브를 백업 할 필요가 없지만 정확하게 알지 못하면 완전히 다른 물고기 주전자와 러시아 룰렛입니다 당신이하고있는 일 .....

이 명령은 파티션을 포함하여 하드 드라이브의 모든 것을 파괴합니다. 그러나 이로 인해 드라이브는 불량 섹터를 매핑해야합니다.

디스크가 부트 섹터에 있지 않는 한 디스크에 불량 섹터가있는 경우, 디스크가 불량한 경우 드라이브는 쓸모가 없습니다. 몇 개월 후에 드라이브가 불량 섹터를 개발했다는 ​​사실을 알게되면 시간입니다 교체를 위해 쇼핑을 시작합니다.

나는 이와 같은 수백 개의 드라이브를 부활 시켰고 그 후 몇 년 동안 살아 왔으며, 불량 섹터가 반드시 드라이브의 죽음을 초래하는 것은 아닙니다.


나는이 방법을 전에 사용해 보았지만 왜 효과가 있었는지 결코 알지 못했다. 대부분의 드라이브 중에서 규정에 따라 드라이브를 얕게 닦은 후 수년간 지속되었습니다.
MER

Ack !! 시작하지 않은 경우 해당 줄을 복사하여 붙여 넣지 마십시오. 쉘은 와일드 카드 '?'를 확장합니다 / dev에 실제 장치 이름이 있습니다. ?를 교체하기 전에 실수로 enter 키를 치면 잘못된 드라이브를 지울 수 있습니다. 장치가 두 개 이상인 경우 dd에서 오류가 발생할 수 있지만 내 컴퓨터에서 테스트하지는 않겠습니다.
TiberiusKirk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.