Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows 10에서 네트워크 드라이브 파일 접근 시 앱이 멈추는 문제 해결 방법

Windows 10 환경에서 여러 앱이 동시에 네트워크 드라이브의 파일에 접근하려고 할 때 앱이 멈추는 현상을 겪고 계신가요? 이 글에서는 해당 문제의 원인을 살펴보고, 누구나 쉽게 따라 할 수 있는 해결 방법을 소개합니다.

문제가 발생하는 대표적인 상황

먼저 이러한 오류가 발생하는 일반적인 시나리오를 살펴보겠습니다.

서버에 공유 폴더를 만들고 그 안에 파일을 추가했다고 가정해 보겠습니다. Windows 10/8.1/7이 설치된 클라이언트 PC에서 이 공유 폴더를 네트워크 드라이브로 마운트하고, 파일 시스템 미니필터(mini-filter) 드라이버를 포함한 서드파티 보안 소프트웨어를 설치합니다.

이 미니필터는 %SystemRoot% 경로가 있는 로컬 드라이브(예: C 드라이브)와 공유 폴더의 네트워크 드라이브 양쪽에 모두 연결됩니다. 미니필터는 FltSendMessage 함수를 통해 네트워크 드라이브의 파일 이름을 응용 프로그램에 전달하고, 해당 응용 프로그램은 전달받은 파일 이름으로 파일을 열려고 시도합니다. 바로 이 순간, 같은 컴퓨터에서 미니필터와 연관되지 않은 다른 응용 프로그램이 동시에 네트워크 드라이브의 동일한 파일을 열려고 하면 문제가 발생합니다.

이런 상황에서는 두 앱 모두 멈춰 버립니다.

네트워크 드라이브 접근 시 앱이 멈추는 문제 해결 방법

네트워크 드라이브의 파일에 접근할 때 앱이 멈추는 문제를 겪고 있다면, 아래의 해결 방법을 상황에 맞게 적용해 보세요.

1] 문제가 이미 발생한 경우

앱이 멈춘 상태라면 우선 Windows 클라이언트 PC를 재시작하세요. 재시작만으로도 잠긴 리소스가 해제되어 정상 상태로 돌아올 수 있습니다.

2] 문제를 사전에 예방하는 방법

같은 문제가 반복되지 않도록 오프라인 파일(Offline Files) 기능을 비활성화하는 것이 좋습니다. 로컬 그룹 정책 편집기(gpedit.msc)를 사용하면 됩니다.

Windows 10에서 네트워크 드라이브 파일 접근 시 앱이 멈추는 문제 해결 방법

다음 순서대로 진행하세요.

  • Windows 키 + R을 눌러 실행 창을 엽니다.
  • 실행 창에 gpedit.msc를 입력하고 Enter 키를 눌러 그룹 정책 편집기를 실행합니다.
  • 로컬 그룹 정책 편집기의 왼쪽 창에서 아래 경로로 이동합니다.

컴퓨터 구성 > 관리 템플릿 > 네트워크 > Offline Files

  • 오른쪽 창에서 '오프라인 파일 기능의 사용 허용 또는 허용 안 함' 항목을 두 번 클릭하여 속성 창을 엽니다.
  • 정책 설정 창에서 라디오 버튼을 사용 안 함(Disabled)으로 선택합니다.
  • 적용 > 확인을 클릭하여 변경 사항을 저장합니다.

그룹 정책 편집기를 종료한 후 컴퓨터를 재시작하면, 네트워크 드라이브 파일 접근 시 앱이 멈추는 문제가 해결됩니다.

문제의 근본 원인: Csc.sys의 리소스 잠금

마이크로소프트에 따르면, 이 문제는 Windows 클라이언트 쪽 캐싱 드라이버(Csc.sys)가 보유한 리소스 잠금 때문에 발생합니다.

문제가 발생하면 Csc.sys가 특정 파일에 대한 리소스 잠금을 획득한 뒤, 드라이버 스택에서 자신보다 위에 있는 드라이버에게 해당 파일을 열어 달라고 요청합니다. 이로 인해 그 파일에 접근하려는 모든 응용 프로그램이 대기 상태에 빠지고, 미니필터의 스레드 역시 자신과 연결된 응용 프로그램의 응답을 무한정 기다리게 되면서 교착 상태(deadlock)가 발생하는 것입니다.