특정 섹터를 차지하는 파일을 어떻게 확인합니까?


34

불량 섹터가 3 개인 하드 드라이브가 있습니다. 섹터 번호를 알고 컴퓨터는 여전히 Windows로 부팅 할 수 있습니다. 제조업체의 HDD 진단 도구에서 섹터 복구를 실행하고 싶지만 수행하기 전에 어떤 파일이 영향을 받는지 알고 싶습니다. 해당 섹터를 차지하는 파일을 파악할 수있는 방법이 있습니까?


1
roadkil의 부문 편집자는 프로그램의 일부가 아니라 단지 일부일 수도 있습니다.
barlop

참고 특정 섹터에 어떤 파일 찾는 방법 - 같은 질문,하지만 리눅스에서 액세스를 NTFS 파일 시스템에 대한.
sleske

답변:


22

다음은 드라이브를 직접 검사하고 편집 할 수있는 편리한 16 진 편집기 인 WinHex를 사용하는 프로세스 입니다. 정말 조심하세요; 이 도구를 잘못 사용하면 시스템이 손상 될 수 있습니다. 가능할 때마다 디스크를 읽기 전용으로여 십시오.

  1. 불량 섹터 위치가 이미 있으므로 WinHex에서 직접 드라이브를 열고 ( "디스크 열기" 도구 모음 버튼) 섹터를 탐색하여 데이터를 볼 수 있습니다 ( "섹터로 이동" 도구 모음 버튼). 섹터 위치가 물리 섹터 주소라고 가정하면 이 단계에서 물리 드라이브 를 열어야합니다 .

    되지 않습니다 직접 파일을 식별하지만 왼쪽 창은이 분야 및 해당 들어있는 파티션을 식별해야 상대 섹터 주소를.

  2. 식별 한 파티션이 NTFS 또는 FAT 파티션 인 경우 파티션을 직접 열 수 있습니다 ( "디스크 열기" 다시). 그러면 새 탭에서 파티션이 열리므로 필요에 따라 앞뒤로 전환 할 수 있습니다. 파티션 탭에서 "섹터로 이동" 기능을 다시 사용하십시오. 그러나 이번에는 변환 된 섹터 ( 드라이브보기에서 식별 된 "상대 섹터" )를 입력하십시오.

    이제 왼쪽 분할 창에 "표시된 드라이브 공간 할당" 섹션 이 표시 됩니다. 이 아래에는 클러스터 #, 물리 섹터 #, 논리 (상대) 섹터 # 및이 섹터가 실제로 파일에 속하는 경우 파일 이름이 있습니다.

이러한 단계를 통해 즉각적인 답변을 얻을 수없는 경우 불량 섹터가 사용 중이 아닐 수 있습니다. 결과가 불분명 한 경우 답을 찾기 위해 더 많은 파기를 수행해야 할 수도 있습니다.


1
다운로드 가능한 버전은 평가판이라고 주장하지만 매우 유능한 것 같습니다. 시험 기간이 무엇인지 잘 모르겠습니다. 라이센스 옵션은 여기를 참조하십시오 : x-ways.net/winhex/order.html
quack quixote

WinHex는 폭탄이었습니다 .... 몇 분 안에 불량 섹터 (표면 스캔의 절대 섹터)의 영향을받는 파일을 발견했습니다. 멋진 튜토리얼. 고마워요 나는 "Quick quixote"를 투표 할 것이지만 나는 15 명성이 필요하지 않습니다 ......

섹터를 읽지 않고 사용자 인터페이스를 통해이 정보를 공개 할 수 있습니까? 특정 섹터를 읽을 때 종료 (분리 및 전원 끄기) 된 디스크에서 복구를 수행하고 있습니다.
sheldonh 2014

winhex 웹 사이트가 다운 / 사용할 수없는 것으로 나타납니다 ( i.imgur.com/1FAX5cN.png ) 아래 nfi 솔루션을 사용해보십시오. 똑 바르고 간단합니다. 비어 있는. "즉각 답변";)
Costin Gușă

21

nfi.exe-Windows NT 파일 시스템 (NTFS) 파일 섹터 정보 유틸리티를 사용해보십시오. Microsoft OEM 지원 도구 3 단계 SR2 에서 다운로드 하십시오 .

> nfi.exe
Dumps information about an NTFS volume, and optionally determines
which volume and file contains a particular sector.

Usage: nfi drive-letter [logical-sector-number]

        Drive-letter can be a single character or a character followed
        by a colon (i.e., C or C: are acceptable).

        Logical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the volume
        whose drive letter is given by drive-letter. If not
        specified, then information about every file on the volume
        is dumped.

   nfi NT-device-path physical-sector-number

        Determines which volume a given physical sector on a drive is
        within, and then which file on the volume it is in.

        NT-device-path is the NT-style path to a physical device.
        It must not include a partition specification.

        Physical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the physical
        drive whose device path is given by NT-device-path.

    nfi full-win32-path

        Dumps information about a particular file. full-win32-path
        must start with a drive letter and a colon.

"\\?"를 생략해야합니다. 블록 장치 경로의 접두사. 예:

C:\Users\admin\Downloads>nfi \Device\Harddisk0\DR0 28521816
NTFS File Sector Information Utility.
Copyright (C) Microsoft Corporation 1999. All rights reserved.


***Physical sector 28521816 (0x1b33558) is in file number 5766 on drive C.
\IMAGES\win7HDD.vhd
    $DATA (nonresident)
        physical sectors 32863720-34098663 (0x1f575e8-0x2084de7)
        physical sectors 28519912-32863719 (0x1b32de8-0x1f575e7)
        physical sectors 25727944-26291143 (0x18893c8-0x1912bc7)
        physical sectors 95163976-115106143 (0x5ac1648-0x6dc615f)

나는 이것을 공표하기 위해 로그인했다. 이것은 답변으로 표시되어야합니다!
Costin Gușă

모르는 경우 (으) NT-device-path로 찾을 수 있습니다 dd --list. (유닉스 도구를 사용하는 사용자들에게주의를 기울 PATHdd십시오 : 여기는 C:\WINDOWS\system32\dd.exe전체 경로를 사용해야합니다.)
사용자

Windows 10에는 system32에이 유틸리티가 없습니다. c:\Windows\System32>dd.exe 'dd.exe' is not recognized as an internal or external command, operable program or batch file.
Aen Sidhe

1
마이크로 소프트 사이트의 다운로드 링크가 죽었
분지

1
또한 뒤로 기계에서 찾을 수 있습니다 web.archive.org/web/20150329185738/http://...
mkey

8

대부분의 조각 모음 프로그램은 디스크의 모든 클러스터를 표시하는 디스크 맵을 표시 한 다음 클릭하여 ( 나쁜 것으로 표시된 클러스터를 찾습니다 ) 해당 클러스터에있는 파일을 볼 수 있습니다.

Walter가 말했듯이, 지난 10 년 정도의 디스크와 OS 콤보는 불량 섹터에서 파일을 자동으로 재배치 할 것입니다 (드라이브 펌웨어는 일반적으로이를 처리하지만 디스크 도구 chkdsk또는 조각 모음 도구도 일반적으로이를 수행합니다).


조각 모음 :

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

파일 조각 모음 :

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

Vopt :

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


유망 해 보인다, 나는 그것을 줄 것이다.
ChrisWue

6

Sysinternals의 DiskView 는 정확히이 기능을 수행합니다. 드라이브의 디스크 맵을 표시하고 어떤 파일이 어떤 클러스터를 차지하는지 확인할 수 있습니다.

불행히도 시스템 파일의 이름을 표시하는 방법은없는 것 같습니다.

DiskView 메인 화면 DiskView 시스템 파일



그렇기 때문에이 목적을 위해 특별히 제작 된 도구이기 때문에 별도의 답변으로 게시 한 이유는 질문에 대답하지만 제한적입니다 (여전히 FAT32를 광범위하게 사용합니다). 모든 솔루션. (아직?)
Synetech

5

fsutil관리자 명령 프롬프트에서 사용할 수 있습니다 . 부속 명령 volume에는 부속 부속 명령 이 querycluster있습니다. Windows 명령 행 참조 Fsutil을 참조 하십시오 .

Fsutil은 논리 드라이브의 클러스터 번호를 섹터 번호 대신 입력 인수로 사용합니다. 그러나
cluster # = (absolute_sector-start_of_partition_sector) / sectors_per_cluster와 같은 숫자를 쉽게 계산할 수 있어야합니다 .

출력 예 :

c:\tmp> fsutil volume querycluster C: 5235
Cluster 0x0000000000001473, verwendet von
 ----D \Program Filesx86)\LibreOffice 4\program\fwilo.dll::$DATA

3

드라이브가 섹터에서 특정 수의 읽기 오류를 발견하면 불량으로 표시되고 그 내용이 드라이브의 다른 위치로 복사됩니다. 이것은 일반적으로 해당 섹터의 데이터를 완전히 읽을 수 없게되기 전에 발생합니다.

나는 그것을 위해 소스를 파려고 노력하고 있습니다. 어제 그것을 읽으십시오. 그러나 어디에 있는지 기억하지 못합니다.

에서 남자 hdparm을 (8)

또한 --repair-sector 플래그는 실제로 불량 섹터를 포함하여 더 이상 필요하지 않은 불량 섹터를 복원하는 데 사용될 수 있습니다 (드라이브는 해당 미디어를 새로운 영역에 다시 매핑 할 수 있음).

결론 : 불량 섹터에 대해 신경 쓸 필요가 없으며 하드 드라이브 펌웨어가 대신 해줍니다. 당신이해야 할 일은 너무 많아서 드라이브가 죽기 전에 새 드라이브를 얻는 것입니다.


재 할당은 읽기가 아니라 쓰기에서 발생한다고 확신합니다. 드라이브의 SMART 데이터가이를 확인하는 것 같습니다. 섹터 재 할당 횟수가 0 인 동안 보류중인 섹터 수가 0보다 큽니다. 즉, 재 할당으로 표시된 불량 섹터가 있지만 아직 재 할당되지 않았습니다.
ChrisWue

CHKDSK를 사용해 보셨습니까? en.wikipedia.org/wiki/CHKDSK
Baarn

/ r 옵션을보십시오
Baarn

해당 섹터에 저장된 파일에 대한 정보를 얻는 것은 불가능한 것 같습니다.
Baarn

2

RunTime의 DiskExplorer를 사용하면 섹터별로 드라이브를 검사 할 수 있습니다. 페이웨어 (NTFS 버전의 경우 70 달러)이지만 무료로 사용해 볼 수 있습니다. NTFS, FAT 및 Linux (ext2 / 3) 버전이 있습니다.

대체 텍스트


이것은 유망한 것처럼 보였지만 슬프게도 효과가 없습니다. DiskExplorer는 드라이브의 모든 섹터에 대해 "잘못된 MFT 항목"을 표시합니다.

모든 섹터에 대해 표시되는 경우 누락 된 구성 단계가 있다고 생각하지만 오랫동안이 도구를 사용하지 않았으므로 직접 지시를 줄 수는 없습니다. 별도의 도구를 사용하여 다른 답변을 추가하겠습니다. 아마도 다른 누군가가 이것의 적절한 사용법으로 차임 할 것입니다.
quack quixote

구성 문제가 아닙니다. 디스크 탐색기는 매우 복잡하고 사용하기가 어렵습니다. 충분히 자동적이지 않습니다. (이전의 DOS 프로그램 인 Norton Disk Doctor는 비슷하지만 파일 시스템 구조를 자동으로 읽고 조정하기 때문에 사용하기가 훨씬 쉽습니다. NTFS를 지원하지 않아 중단되었습니다.)
Synetech

0

나는 스레드가 오래되었다는 것을 알고 있지만 그러한 문제가있는 모든 사람들의 기록을 위해 리눅스에서 확인하는 방법이 있습니다. 실행하기 매우 쉬운 slax와 같이 cd / usb 스틱에서 라이브 리눅스를 항상 사용할 수 있습니다. 어쨌든 사업으로 돌아가

나는 오늘 읽을 수없는 섹터 경고가있는 똑똑한 데몬 로그를 발견하고 조사하기로 결정했습니다. 연구 후 결국 실행합니다 (#는 루트 권한을 나타내는 프롬프트이며 일반 사용자로 실행중인 경우 대신 sudo를 사용할 수 있습니다).

# smartctl -H /dev/sda2

SMART overall-health self-assessment test result: PASSED

이는 해당 드라이브가 다소 건전하다는 것을 나타냅니다. 그러나 나는 계속해서 더 조사하고 실행했다 badblocks.

# badblocks -v /dev/sda2 > ~/log/sda2.badsectors
# cat ~/log/sda2.badsectors

271521948

그래서 나는 그것이 속한 파일을 알고 싶어하고 있음을 발견 된 일부 badblock 있었다 그것을 할 수 와 함께이 debugfs문제는 내가 사용 그래서 내 파티션이 NTFS이었다이었다 ntfstools를 핵심이다 :

# ntfscluster -s 271521948 /dev/sda2 > 271521948.secinfo 2>&1
# cat 271521948.secinfo | grep -v "extent"

Searching for sector 271521948
Inode 142427 /tmp/dl/setup_torch_2.exe/$DATA
* one inode found

/ grep -v "extent"쓸모없는 정보를 제거 오프 많은으로 표시 얻을 것입니다 ntfscluster/

따라서 ntfs의 경우 모든 요구 사항은 ntfscluster -s $SECTOR입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.