Windows 7 : 검색 색인 작성이 멈춤


13

인덱싱 옵션을 열면 다음과 같이 표시됩니다.

인덱스 된 4,317 개 항목 인덱싱이 진행 중입니다. 이 시간 동안 검색 결과가 완료되지 않을 수 있습니다.

그래도 4,317에 갇혀 있습니다. 더 이상 항목이 색인화되지 않았습니다. 최악의 경우, SearchIndexer.exe는 100 % CPU를 사용하고 있습니다 (물론 50 %이지만 듀얼 코어 CPU를 갖추고 있습니다. 하드 드라이브 활동을 일으키지 않습니다.

인덱싱 옵션 창의 맨 아래에있는 "검색 및 인덱싱 문제 해결"을 클릭하려고했지만 문제가 없습니다.

또한 여러 웹 사이트에서 제안하는 복구 레지스트리 키를 시도했습니다. HKLM \ SOFTWARE \ Microsoft \ Windows Search SetupCompletedSuccessfully를 0으로 변경하고 컴퓨터를 다시 시작한 후 다시 1로 전환되어 복구 되었으나 동일한 문제가 계속 발생합니다.

내 노트북의 배터리 수명을 줄이고 정말 뜨거워서 팬이 항상 작동합니다. Windows 검색 서비스를 비활성화해야했습니다. 이 문제를 어떻게 해결할 수 있습니까? 컴퓨터를 평평하게 다시 포맷해야합니까?


업데이트 :
몇 번 재건을 시도했습니다. 색인을 생성해야하는 위치에 대해 이상한 점이 없으며, 진행중인 다운로드 나 그와 비슷한 것이 없습니다. 중지 된 이유를 알 수 없으며 시스템 복원을 수행하기에는 너무 늦었습니다. 이 시점에서 누군가가 문제를 해결하는 비밀 답변을 제공하기를 바라고 있습니다.


또 다른 업데이트 :
다시 시도하기 위해 서비스를 다시 시작했습니다. 처음에는 괜찮아 보였습니다 (인덱싱 옵션은 사용자 활동으로 인해 속도가 느려 작동하고 파일 수가 올라가는 것으로 나타났습니다). 얼마 후 나는 확인했고, 서비스는 멈췄다. 이벤트 뷰어는 다음과 같은 오류를 나타 냈습니다.

Log Name:      Application
Source:        Application Error
Date:          2/1/2010 7:34:23 PM
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      ricky-win7
Description:
Faulting application name: SearchIndexer.exe, version: 7.0.7600.16385, time stamp: 0x4a5bcdd0
Faulting module name: NLSData0007.dll, version: 6.1.7600.16385, time stamp: 0x4a5bda88
Exception code: 0xc0000005
Fault offset: 0x002141ba
Faulting process id: 0x13a0
Faulting application start time: 0x01caa39f2a70ec02
Faulting application path: C:\Windows\system32\SearchIndexer.exe
Faulting module path: C:\Windows\System32\NLSData0007.dll
Report Id: b4f7a7ae-0f92-11df-87fc-e5d65d8794c2
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Application Error" />
    <EventID Qualifiers="0">1000</EventID>
    <Level>2</Level>
    <Task>100</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2010-02-02T00:34:23.000000000Z" />
    <EventRecordID>10689</EventRecordID>
    <Channel>Application</Channel>
    <Computer>ricky-win7</Computer>
    <Security />
  </System>
  <EventData>
    <Data>SearchIndexer.exe</Data>
    <Data>7.0.7600.16385</Data>
    <Data>4a5bcdd0</Data>
    <Data>NLSData0007.dll</Data>
    <Data>6.1.7600.16385</Data>
    <Data>4a5bda88</Data>
    <Data>c0000005</Data>
    <Data>002141ba</Data>
    <Data>13a0</Data>
    <Data>01caa39f2a70ec02</Data>
    <Data>C:\Windows\system32\SearchIndexer.exe</Data>
    <Data>C:\Windows\System32\NLSData0007.dll</Data>
    <Data>b4f7a7ae-0f92-11df-87fc-e5d65d8794c2</Data>
  </EventData>
</Event>

동일한 오류가 발생하여 Google 검색에서 여기에 도착한 경우 이에 대한 진행 상황을 자세히 설명하거나 답변을 추가하십시오.


4
그건 그렇고 ... 누구든지이 마법의 4,317 번째 아이템이 무엇인지 알아내는 방법을 알고 있습니까? 전체 시스템을 방해하는 하나의 잘못된 파일이 있는지 알고 싶습니다.
Ricket

여기 ESEDatabaseView라는 일부 어딘가를 사용하여 Windows.edb 파일을 열 수 있습니다 nirsoft.net/utils/ese_database_view.html
user2924019

답변:


8

파일이 손상되었다고 말하면 문제가 해결 될 수 있다고 생각합니다. 파일을 식별하는 기본적인 방법은 파일 탭으로 이동하여 파일 형식의 절반이 색인 생성되지 않도록하는 것입니다. 실행하자. 완료되거나 중지됩니다. 멈 추면 반을 다시 끄십시오. 완료되면 잘못된 파일 형식이 다른 절반에 있다는 것을 알 수 있습니다. 이렇게하면 잘못된 파일 형식을 식별 할 수 있습니다.

또한 색인이 생성 된 파일 목록을 살펴보십시오. 파일 형식에는 HTML, 일반 텍스트 등과 같은 다른 검색 공급자가 있습니다. 일부 타사 응용 프로그램에 의해 설치되었을 수있는 다른 곳이 있습니까?

또 다른 아이디어는 4,317 번째 파일에서 검색을 중단시키는 것입니다. 그런 다음 명령 프롬프트를 실행하십시오. 유형

CD c:\
DIR /s /TA /O-D >c:\newt.txt

그러면 모든 파일과 마지막으로 액세스 한 시간을 보유 할 newt.txt라는 파일이 생성됩니다. 액세스 됨 (읽기, 수정되지 않음). 파일 편집기를 사용하여 파일을 검색해야하지만 수정 된 마지막 몇 개의 파일을 찾으십시오. 운이 좋으면 나쁜 파일이있을 것입니다. 행운을 빕니다!


좋은 팁 (두 번째 아이디어). 인덱서는 일종의 로그 파일을 어딘가에 색인화하지 않습니까? 마지막 파일이 성공적으로 색인화되었음을 알 수 있으며 이런 식으로 단서를 얻을 수 있습니다.
mtone

@mtone-한 번에 하나의 폴더를 색인 할 수 있습니까? 검색 범위를 좁힐 것입니다.
Nifle

@Nifle-예, 색인을 생성 한 폴더 수를 줄이는 것이 합리적입니다. 시작 메뉴에서 "인덱싱"을 입력하고 인덱싱 옵션을 클릭하십시오. 해당 패널에는 색인을 생성하는 위치가 표시됩니다.
녹스

첫 번째 아이디어는 @Knox +1입니다. 제거 [이진] 검색을 제안하고 있습니다. 그리고 결함 가능성에 대한 이해로 수정하고 색인을 먼저 색인으로 제한하면 O (log2 N) 속도 향상 보다 훨씬 나아질 수 있습니다 .
ElderDelp

4

Technet 포럼 에서이 정보를 찾았습니다.

알려진 버그 인 것 같습니다.

  1. PC에는 두 개 (또는 여러 개의) 드라이브 또는 파티션이 있습니다

  2. 사용자 프로필과 Windows는 첫 번째 드라이브 또는 파티션에 있습니다 (드라이브 문자 C :로 가정)

  3. 두 번째 드라이브 또는 파티션에 첫 번째 드라이브보다 사용 가능한 디스크 공간이 더 많습니다 (드라이브 문자 D :)

  4. 하드 링크와 함께 USMT 4를 사용하는 ConfigMgr 2007 OSD 새로 고침 작업 순서가 PC에서 실행되면 사용자 파일 및 설정 캡처 "/"사용자 상태 캡처 "작업이 성공하지만"사용자 상태 복원 "/"사용자 파일 및 설정 복원 " "작업이 실패합니다.

해결

이 문제를 해결하려면 OSDStateStorePath 변수를 기본값에서 변경해야합니다. MDT 2010 / MDT 2010 업데이트 1 통합을 사용하는 경우 "로컬 또는 원격 사용자 상태 확인"작업에서 ztiuserstate.wsf 스크립트로 변수를 설정 한 후에 변수를 다시 정의해야합니다.

상태 저장소가 Windows가 설치되고 사용자 프로파일이있는 동일한 드라이브 / 파티션에 저장되도록하려면 환경 변수 SystemDrive를 변수 OSDStateStorePath를 정의하는 경로의 일부로 사용할 수 있습니다.

MDT 2010 / MDT 2010 업데이트 1 통합 을 사용하지 않는 경우 변수 OSDStateStorePath를 설정하는 "작업 순서 변수 설정"작업을 수정해야합니다.

  1. ConfigMgr 2007 관리 콘솔에서 Computer Management-> Operating System Deployment-> Task Sequences노드로 이동 합니다.

  2. 영향을받는 작업 순서를 마우스 오른쪽 버튼으로 클릭하고 "편집"을 선택하십시오.

  3. Set Local State Location작업을 클릭하십시오 . 태스크가 Set Task Sequence Variable변수를 설정 하는 태스크 인지 확인하십시오 OSDStateStorePath.

받는 다음 Value:텍스트 필드에서 변경 %_SMSTSUserStatePath%%SystemDrive%\UserState

  1. "확인"또는 "적용"버튼을 클릭하여 작업 순서를 저장하십시오. "로컬 상태 위치 설정"태스크가 존재하지 않으면 변수 OSDStateStorePath를 설정하는 "태스크 순서 변수 설정"태스크를 찾은 다음 위의 변경을 수행하십시오. MDT 2010 / MDT 2010 업데이트 1 통합을 사용하는 경우 변수 OSDStateStorePath를 재정의하는 "로컬 또는 원격 사용자 상태 확인"작업 뒤에 새 "작업 시퀀스 변수 설정"작업을 추가해야합니다.

  2. ConfigMgr 2007 관리 콘솔에서 Computer Management-> Operating System Deployment-> Task Sequences노드로 이동 합니다.

  3. 영향을받는 작업 순서를 마우스 오른쪽 버튼으로 클릭하고 "편집"을 선택하십시오.

  4. "로컬 또는 원격 사용자 상태 결정"태스크를 클릭 한 후 "추가"-> "일반"-> "작업 순서 변수 설정"으로 이동하십시오. "로컬 또는 원격 사용자 상태 확인"작업 후 "상태 저장소 요청"작업 전에 "작업 시퀀스 변수 설정"작업을 만들어야합니다.

  5. 새로 생성 된 "작업 순서 변수 설정 작업"에서 :

    • Name:텍스트 상자 옆에 다음을 입력하십시오.Set Local State Location
    • Task Sequence Variable:텍스트 상자 옆 에 OSDStateStorePath
    • Value:텍스트 상자 옆에 다음을 입력하십시오.%SystemDrive%\StateStore
  6. "확인"또는 "적용"버튼을 클릭하여 작업 순서를 저장하십시오.

3 단계에서 "로컬 또는 원격 사용자 상태 결정"태스크가 존재하지 않거나 이름이 바뀐 경우 ztiuserstate.wsf 스크립트를 실행하는 "명령 행 실행"태스크를 찾은 후 위의 단계를 수행하십시오.


4

먼저, 인덱스를 다시 작성하십시오. 또한 다운로드가 임시 / 완료되지 않은 폴더의 색인을 생성하지 마십시오. 완료되지 않은 파일은 정의상 손상되어 프로세스를 중단시킬 수 있습니다. 인덱싱에서 메타 데이터를 검색하면 비디오 / 오디오 코덱도 중단 될 수 있습니다.

대체 텍스트


메타 데이터 주석에 대해 자세히 설명 할 수 있습니까? 어딘가에이 일이 방해가된다면 어쩌면 내가 생각하는 데 도움이 될 것입니다.
Ricket

인덱싱은 파일을 조사하여 메타 데이터를 얻으려고합니다. AVI 영화 파일과 같은 일부 유형의 파일은 코덱 (또는 종종 컨테이너라고도하는 컨테이너 로더)에서 이러한 파일을 열고 해상도, 길이 등을 가져와야합니다. 파일이 손상된 경우 코덱이 중단 될 수 있습니다. 즉, 지금까지 Windows 7에서는 문제가 발생하지 않았지만 XP에서는 일반적인 문제였습니다.
mtone

4

나쁜 Outlook.pst 파일로 인해 검색이 중단되었습니다. Windows 7 x64 시스템 SCANPST.EXE에서 Outlook 2007 실행 파일과 동일한 디렉토리에 있는 pst repair 유틸리티를 실행했습니다 C:\Program Files (x86)\Microsoft Office\Office12.

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


1
파일 이름은 SCANPST.EXE
M. Dudley

2

하드 드라이브가 죽지 않는 것을 확인 했습니까?

드라이브를 마우스 오른쪽 버튼으로 클릭하고 속성 대화 상자를 열고 도구 탭으로 이동 한 다음 오류 검사를 수행하십시오 (잘못된 섹터 검사 포함).


예, 기본 사항이 제대로 작동하는지 확인하는 것이 좋습니다. 또한 시스템 오류에 대한 이벤트 로그를 확인하십시오.
녹스

2

여기에서 질문 중 하나는 SearchIndexer.exe가 차단되었는지, 결함이 있는지 또는 중단되었는지 또는 진행 중인지 여부를 확인하는 방법에 관한 것입니다. 또한 현재 색인이 생성되는 파일을 확인하는 것이 좋습니다.

알아내는 방법이 있습니다.

Microsoft는 MSS.log (나중에 다른 이름으로 복사 및 변경 한 후 삭제됨)와 같이 검색 중에 생성 된 로그 파일은 이진 파일이므로 특별한 도구가 없으면 읽을 수없는 도구입니다.

다른 파일이 단일 파일에 걸려 있는지 여부를 찾으려고 시도한 또 다른 대안은 SysInternal의 Process Monitor를 실행하는 것 입니다. 필터를 다음과 같이 설정했습니다.

  • 프로세스 포함 SearchProtocolHost.exe(참고 : 아님 SearchIndexer.exe )
  • 이벤트 유형을 포함 File System,
  • C:\WindowsC:\ProgramData디렉토리에서 아무것도 제외 하고
  • 실제로 색인을 생성하는 디렉토리를 포함 시키거나
  • 선택적으로 Operation을로 설정하십시오 ReadFile.
  • 적용 또는 확인을 클릭 한 다음 왼쪽 상단의 캡처 버튼을 클릭하십시오.

결과 이벤트보기 ReadFile는 현재 Microsoft Search Index 서비스에서 읽고있는 모든 작업 (및 기타 작업)을 제공합니다.

ReadFile작업 목록이어야하며 현재 색인이 생성 된 파일은 경로 열에 있습니다. 결과 열에 SUCCESS문제가있는 경우 표시 되고 세부 사항 열에는 계속 다른 오프셋이 표시되어야합니다 (그렇지 않은 경우 반복되며 문제의 원인에 대한 힌트 일 수 있습니다).


1
+1 @Able Sys | nternals에 대한 링크가 여전히 작동합니다! 이것은 완전한 SysInternals Suite를 제공하는 또 하나입니다
ElderDelp
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.