풀 HD 검사


17

일부 외장 하드 드라이브에서 섹터별로 전체 물리적 검사를 실행하고 싶습니다. 내가 아는 chkdsk한이 옵션은 제공하지 않습니다.

아래에 해결 방법이 있습니까 chkdsk, 아니면 좋은 교체 방법이 있습니까? 이 컴퓨터에서 Windows 7을 사용하고 있지만 라이브 CD에서 사용할 수있는 Linux 솔루션도 환영합니다.

감사,

아담 마탄


어떤 OS를 사용하고 있습니까? chkdsk를 언급 했으므로 Windows NT, XP, Vista, 7, Server 2003 또는 Server 2008이라고 가정합니다.
rob

답변:


28

Windows NT / XP / Vista / 7에서는 CMD 프롬프트를 열고 사용할 수 있습니다

chkdsk /r x:

여기에서 x는 드라이브가 파티션되어 있고 드라이브 문자가 할당되었다고 가정 할 때 USB 드라이브의 드라이브 문자입니다.

우분투 라이브 CD를 가져 와서 리눅스로 부팅 한 다음 불량 블록을 사용하여 물리적 결함을 스캔하는 것이 좋습니다.

sudo fdisk -l모든 드라이브 및 해당 파티션을 나열하는 데 사용하십시오 . 각 드라이브 마다 :

sudo badblocks -nvs /dev/sdx

하드 드라이브는 / dev / sdx입니다. 파일 시스템 검사를 수행하지 않고 디스크에서 비파괴적인 읽기 / 쓰기 테스트를 수행합니다.

데이터에 신경 쓰지 않으면 대신 더 철저한 스캔을 수행 할 수 있습니다.

sudo badblocks -wvs /dev/sdx

-w 옵션은 불량 블록이 알려진 패턴을 작성하도록하고 데이터를 다시 읽고 패턴과 일치하는지 확인합니다. 패턴 0xaa, 0x55, 0xff 및 0x00 (0과 1, 대체 1과 0)을 사용하여이 작업을 4 번 수행합니다. 드라이브의 모든 데이터를 덮어 쓰고 모든 파티션을 지 웁니다.

드라이브에 Linux 파일 시스템이있는 경우 파일 시스템 오류를 확인하고 동시에 불량 블록을 실행할 수 있습니다. 먼저 모든 드라이브 및 파티션 목록을 가져옵니다.

sudo fdisk -l

그런 다음 각 파티션 마다 :

sudo e2fsck -fcc /dev/sdx#

다시 말하지만 / dev / sdx는 스캔하려는 하드 드라이브입니다. #은 파티션 번호입니다 (예 : / dev / sdb1). c를 두 번 지정하면 fsck가 강제 실행되고 불량 블록을 사용하여 비파괴적인 읽기-쓰기 테스트를 수행합니다. c 옵션을 한 번만 사용하면 불량 블록이 읽기 전용 테스트를 수행합니다.

서비스를 시작하기 전에 구입 한 모든 새 하드 드라이브에서 badblocks -wvs를 실행합니다.


1
chkdsk / r이 실제로 모든 블록을 스캔한다고 생각하지는 않습니다. 매 블록마다 읽는 것이 예상보다 훨씬 빠릅니다. 디스크에 이미 데이터가있는 경우 불량 블록의 비파괴 테스트 옵션을 기록 할 수 있습니다.
davr

@ davr : 감사합니다; fsck 명령에서 불량 블록 비파괴 검사에 대해 이미 언급했지만 철저한 불량 블록 -vs를 추가했습니다. chkdsk / r은 불량 블록을 확인하고 실행할 때 꽤 오래 걸리지 만 badblocks -w만큼 철저하지는 않습니다. chkdsk / f 또는 chkdsk / p를 생각하지 않고 파일 시스템 오류 만 수정하지만 불량 블록은 스캔하지 않습니까?
rob

@ davr : 한 가지 생각했습니다 ... chkdsk는 아마도 부팅 레코드 또는 파티션 테이블을 확인하지 않을 것입니다. 볼륨 이름 (예 : 드라이브 문자, 마운트 포인트 또는 볼륨 이름) 만 인수로 사용하므로 매체 오류에 대한 논리적 볼륨 만 검사 할 수 있으며 지정된 볼륨 (파티션) 외부의 모든 항목은 무시됩니다. 그러나 스캔 속도 측면에서 큰 차이는 없습니다. 그게 당신이 말하는거야?
rob 07

1
fsck 사용은 실제로 e2fsck에 대한 참조입니다. 스톡 fsck에는 -c명령 행 인수가 포함되어 있지 않습니다 . 좋은 대답 말고는
DaveParillo

맞아, 데이브 감사; Windows를 실행하고 있기 때문에 badblocks 명령어를 앞쪽으로 옮겼지만 e2fsck 명령어를 수정하여 Linux를 실행하는 모든 사람을 위해 e2fsck 명령어를 수정했습니다.
rob

5

일부 외장 하드 드라이브에서 섹터별로 전체 물리적 검사를 실행하고 싶습니다.

HD Tune을 다운로드하여 실행 하고 드롭 다운 메뉴에서 스캔하려는 드라이브를 선택한 다음 오류 스캔 탭을 클릭하고 ( 빠른 스캔 상자가 지워 졌는지 확인 ) 시작을 누르십시오 .

여기에 이미지 설명을 입력하십시오

HD Tune은 개인용 및 휴대용 용으로 무료로 설치할 수 있습니다 (설치 필요 없음).


1
프리웨어 ?? 15 일 평가판! 프리웨어 인 HD Tune뿐입니다.
Loren Pechtel

스크린 샷에서 알 수 있듯이, 언급 한 기능은 무료 버전으로 제공되기 때문에 사과하지만 게시물을 편집 한 ... 차이는별로 없습니다.

1

Western Digital 및 Seagate와 같은 많은 드라이브 제조업체는 이러한 종류의 검사를 수행 할 수있는 도구를 제공합니다. 일반적으로 Windows 도구입니다.


내가 아는 한, 이것은 전체 드라이브 스캔이 아닌 SMART 자체 테스트를 실행합니다.
endolith 2009

endolith- WD semm에서 SMART를 넘어서는 테스트. WD 드라이브가 있다면 무료로 다운로드하십시오.
Dave M

1

Windows에서는 무료 버전의 HDTune을 사용하여 불량 섹터를 스캔합니다. 그러나 Linux 프로그램 BadBlocks가 훨씬 우수하여 모든 불량 블록의 정확한 목록을 제공하며 읽기 및 쓰기 검사를 모두 지원합니다 (쓰기는 파괴적 임).


2
badblocks에는 비파괴 쓰기 테스트도 있습니다. 블록을 읽고 새 값을 쓰고 새 값을 확인한 다음 원래 블록을 다시 씁니다. 디스크의 유효한 데이터를 파괴하지 않습니다. 단점은 추가 작업이 훨씬 느리게 실행된다는 것입니다.
davr

1

모든 최신 드라이브는 읽을 수없고 / iffy 블록을 자동으로 다시 매핑합니다. 블록을 실제로 읽을 수없는 경우 가 아니면 OS는 일반적으로 블록에 대한 읽기 실패를받지 않으며 해당 블록을 쓰면 드라이브가 블록을 다시 매핑합니다. 드라이브에 스페어 블록이없는 경우에만 실패합니다.이 경우 드라이브를 교체해야합니다!

결과적으로 스캔 디스크 스타일에서 "불량 블록"을 표시하는 OS는 일반적으로 무의미합니다.

그렇게 말하면서 SMART 확장 자체 테스트를 사용합니다. smartmontools 가 작동해야합니다. 재 매핑 된 블록 수를 얻을 수도 있습니다.

linux dd if=/dev/sdx of=/dev/null에서 sdx가 디스크의 블록 장치 인 plain 은 디스크의 전체 논리적 읽기를 수행합니다. 읽을 수없는 블록이 있으면 오류가 발생합니다. 클로버 링 데이터가 마음에 들지 않으면 dd if=/dev/zero of=/dev/sdx전체 디스크를 덮어 쓰면 드라이브가 필요에 따라 다시 매핑 될 수 있습니다.


1
'dd'를 사용하는 대신이 작업을 위해 특별히 설계된 Linux 명령 'badblocks'를 사용하는 것이 좋습니다.
davr

1
내 요점은 "이 작업"은 "나쁜 블록"의 개념만큼 쓸모가 없다는 것입니다.
선장 Segfault

하드 드라이브는 불량 블록을 쓸 때까지 불량 블록을 수정하지 않습니다. 그들에게 쓰는 좋은 방법 중 하나는 비파괴 모드에서 배드 블록을 사용하는 것입니다. : D
endolith 2009

이것이 사실이기를 바란다. 내부 디스크와 USB 외부 디스크를 혼동하고 있습니다. USB 드라이브 인클로저에는 SMART보고 기능이있는 더 나은 펌웨어가 필요하지만 대부분 부족합니다.
Nicolay77

@endolith 일부 하드 드라이브는 읽을 때 suspicios 블록을 재배치합니다. 최소한 일부 엔터프라이즈 HDD.
Roland Pihlakas

-1

ScanDisk 와 같은 최고의 도구 가 작성 되었을 때 실제로 존재하지 않았기 때문에 USB 외장 드라이브에 너무 열중하지 않았습니다 . 특히 Windows 98 SE와 함께 제공되는 ScanDisk 버전이 마음에 듭니다.

따라서 외장 드라이브 인 경우 컴퓨터에 넣고 PLD Rescue CDfsck -f 와 같은 Linux LiveCD에서 드라이브 를 실행 해야합니다 .


1
디스크 검사가 더 이상 사용되지 않습니다. fsck -f는 fsck를 강제로 실행하지만 물리적 매체 테스트는 수행하지 않습니다.
rob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.