안녕하세요,
말씀하신 증상은 Windows 성능 카운터 라이브러리(PerfLib) 손상으로 인해 발생하는 전형적인 문제입니다. lodctr /r가 “File Not Found” 오류 코드 2를 반환하는 것은 기본 성능 카운터 정의 파일(%SystemRoot%\System32\PerfStringBackup.ini)이나 관련 레지스트리 키(HKLM\SYSTEM\CurrentControlSet\Services\PerfOS\Performance)가 손상되었거나 누락된 상태임을 의미합니다.
정상적인 재빌드 절차는 다음과 같습니다. 먼저 %SystemRoot%\System32\PerfStringBackup.ini 파일이 존재하는지 확인해야 합니다. 이 파일은 성능 카운터 문자열의 백업을 담고 있으며, lodctr /r는 이 파일을 기반으로 레지스트리를 복원합니다. 파일이 없거나 손상된 경우, 동일 OS 버전의 정상 서버에서 해당 파일을 복사해 와야 합니다.
그 후 관리자 권한 명령 프롬프트에서 lodctr /r를 실행하면 레지스트리의 PerfLib 섹션이 재생성됩니다. 만약 특정 서비스 카운터가 여전히 누락된다면, 해당 서비스의 카운터 DLL을 직접 재등록해야 합니다. 예를 들어 OS 기본 카운터는 PerfOS.dll을 사용하므로, lodctr /e:PerfOS 명령으로 개별 카운터를 다시 등록할 수 있습니다.
추가적으로 winmgmt /resyncperf를 실행해 WMI 저장소와 성능 카운터를 동기화하는 것이 권장됩니다. 이 과정을 통해 모니터링 도구가 다시 정상적으로 카운터 값을 읽을 수 있게 됩니다.
정리하면, 손상된 레지스트리 키만 복구하려고 시도하는 대신, 반드시 PerfStringBackup.ini를 확인·복원한 뒤 lodctr /r와 winmgmt /resyncperf를 순차적으로 실행해야 합니다. 이 절차가 Microsoft에서 공식적으로 지원하는 성능 카운터 재빌드 방식이며, 안정적으로 카운터를 복원할 수 있습니다.
도믹 내레이션.