Windows에서 뭔가 문제가 생겼을 때, 특히 Windows 기본 구성요소(시스템 유틸리티, 실행 파일 권한 등)가 정상적으로 실행되지 않을 때 항상 하는 것이 있습니다. 구글 서치 결과에 항상 올라오는 스캠 사이트("PC가 이상한가요? 여기를 클릭해 Fix" 같은 내용만 올라오는 사이트)에서도 언제나 일관되게 아래 세 가지를 시도해보라고 알려줍니다.
물론 형상 관리가 되고 있는 프로덕션 시스템에서 마음대로 sfc /scannow나 dism을 통해 시스템 파일을 변경하거나 구성요소를 설치/삭제하면 안 되겠죠?
오늘은 아래 세 가지 유틸리티들의 활용 방법을 알아보겠습니다.
CHKDSK ➡️ SFC ➡️ DISM
CHKDSK.EXE
이름의 의미는 CheckDisk입니다. 논리적 오류(파일 시스템 메타데이터)와 물리적 오류(불량섹터)를 수정하는 두 가지 기능이 있습니다.
- /f 옵션으로 실행하면 파일시스템 오류만 복구하고, /r 옵션으로 실행하면 불량섹터 데이터도 복구합니다.
- Windows가 설치된 시스템 볼륨을 복구하려고 하면 다음 재부팅 시에 CHKDSK를 예약하는 프롬프트가 나옵니다.
- /scan 옵션으로 실행하면 아래처럼 재부팅 없이 오류 검사만 실행할 수 있습니다.
SFC.EXE
이름의 의미는 System File Checker의 머릿글자입니다. Windows 시스템 파일의 존재/변형 여부, 파일 퍼미션 변형 여부를 검사하여 시스템 복구에 도움을 줍니다.
- /scannow 옵션으로 실행하면 검사와 동시에 변형된 파일을 복구합니다.
- /verifyonly 옵션으로 실행하면 검사만 수행합니다.
- /scanfile이나 /verifyfile 옵션을 사용하면 특정 파일만 검사/복구할 수 있습니다.
DISM.EXE
이름의 의미는 Deployment Image Servicing and Management의 머릿글자입니다.
이 유틸리티로는 온라인 또는 오프라인의 Windows 이미지(C:\Windows, 다른 Windows 설치본, WIM 파일 등)에 각종 구성요소(Features, Packages, 드라이버, 시스템 설정항목)들을 설치/삭제/변경하고 그 변경 사항을 이미지에 저장/반영시킬 수 있습니다. 그렇지만 Windows 설치 이미지를 커스터마이징 하는 데는 Windows ADK라는 유틸리티를 사용하는 게 훨씬 효율적입니다.
DISM의 기능 중 일부(/online)를 활용하면 Windows 클라이언트에서 appwiz.cpl로, Windows Server에서는 "Add Roles and Features Wizard"를 통해 수행하는 작업과 동일한 작업을 CLI에서 할 수 있습니다.
- 예를 들어, 현재 실행 중인 Windows에 TelnetClient를 설치하려면 아래처럼 하면 됩니다.
- 만약 IIS나 Hyper-V 등의 핵심 구성요소에 문제가 있어서 새로 다시 설치하려는 경우에 활용할 수 있습니다.