mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Saturday, May 27, 2006

모든 하드디스크(HDD)를 한꺼번에 검사하는 배치(Batch) 파일


하드디스크의 논리적 구조는 언제라도 깨어질 수 있습니다. 특히 컴퓨터가 다운(먹통)되었을 때 그렇습니다. 그래서 chkdsk 라는 하드디스크 검사 프로그램을 적어도 보름에 한 번 정도는 해주어야 합니다.

그런데 이 배치 파일을 사용하면 위의 작업을 좀더 간단하게 할 수 있습니다. 이 배치 파일을 한 번 클릭하는 것으로, 모든 하드를 한꺼번에 검사할 수 있습니다.

컴퓨터에
C: D: E:
3개의 하드(또는 파티션)가 있다고 가정합니다. 만약 여러분의 PC에 D: 나 E: 드라이버가 없다면 아래의 코드에서 D: 나 E: 부분을 지워야 합니다.

@echo off

color f

echo C:
chkdsk c:
echo ERRORLEVEL=%ERRORLEVEL%
echo ================================================================================
echo.

echo D:
chkdsk d:
echo ERRORLEVEL=%ERRORLEVEL%
echo ================================================================================
echo.

echo E:
chkdsk e:
echo ERRORLEVEL=%ERRORLEVEL%
echo.




pause > nul



위의 코드를 Check Disks.bat 등의 적당한 이름으로 바탕화면 등에 저장한 후, 마우스로 클릭하면, 명령 프롬프트 창이 뜨며, 하드디스크에 대한 검사가 즉시 실시됩니다.




코드에 대한 설명:



color f
명령 프롬프트 창은, 검은 색 바탕에 회색 글자가 기본입니다. 좀더 글자가 선명히 보이도록 글자를 하얀색으로 바꾸는 명령어입니다.


echo C:
화면에 "C:" 라는 문자열을 단순히 출력하는 것입니다. 현재 어떤 드라이브를 검사하는지 표시하는 것입니다.

chkdsk c:
이것은 이 배치 파일의 핵심입니다. chkdsk 라는 디스크 검사 프로그램을 호출합니다. chkdsk 는 윈도우에 기본으로 설치되어 있습니다.

echo ERRORLEVEL=%ERRORLEVEL%
chkdsk 라는 프로그램을 비롯한 거의 모든 프로그램은, 성공적으로 끝나면 0을, 문제가 있으면 0이 아닌 값을 반환하며 끝납니다. chkdsk 가 어떤 값을 반환하며 끝났는지는 알아보는 것입니다.

ERRORLEVEL=0 이라면 아무 문제가 없는 것입니다. 그런데 2나 3을 반환하는 경우가 있습이다. 제 경험상으로 ERRORLEVEL=2 라면 심각하지 않은 문제가 있는 것이고 ERRORLEVEL=3 이라면 약간 심각한 문제가 있는 것입니다. 이때는 3이 아닌 숫자가 나올 때까지 디스크 검사를 여러 번 반복해야 했습니다. 그러나 걱정할 정도의 문제는 아닙니다.

echo.
화면에 빈 줄을 하나 출력하는 명령입니다.

pause > nul
사용자가 아무 키나 누를 때까지 기다리고 있으라는 명령입니다. 디스크 검사가 끝나자마자 명령 프롬프트 화면이 닫혀 버리면 결과를 확인할 수 없기 때문에 이렇게 대기 명령을 주었습니다. 그리고 원래 pause 명령을 사용하면 "계속하려면 아무 키나 누르십시오 . . ." 라는 문자열이 나오는데 화면을 간결하게 하기 위해 "> nul" 로 재지향하여 이 문자열이 나오지 않도록 하였습니다.



배치 파일 실행 결과:


C:
파일 시스템 유형은 NTFS입니다.
볼륨 레이블은 Foo입니다.

경고! F 매개 변수가 지정되지 않았습니다.
CHKDSK를 읽기 전용 모드로 실행합니다.

CHKDSK에서 파일을 확인합니다. (1/3 단계)
파일 확인 작업을 완료했습니다.
CHKDSK에서 색인을 확인합니다. (2/3 단계)
색인 확인 작업을 완료했습니다.
CHKDSK에서 보안 설명자를 확인합니다. (3/3 단계)
보안 설명자를 확인했습니다.

전체 디스크 공간:    8385898KB
   1920188KB (10228개 파일)
색인 1078개:       3652KB
잘못된 섹터:          0KB
시스템 사용:      61230KB
로그 파일이      43984KB가 되었습니다.
사용 가능한 디스크 공간:    6400828KB

각 할당 단위 크기:       4096바이트
디스크의 전체 할당 단위 개수:    2096474개
디스크에서 사용 가능한 할당 단위 개수:    1600207개
ERRORLEVEL=2
================================================================================


D:
파일 시스템 유형은 NTFS입니다.
볼륨 레이블은 Bar입니다.

경고! F 매개 변수가 지정되지 않았습니다.
CHKDSK를 읽기 전용 모드로 실행합니다.

CHKDSK에서 파일을 확인합니다. (1/3 단계)
파일 확인 작업을 완료했습니다.
CHKDSK에서 색인을 확인합니다. (2/3 단계)
색인 확인 작업을 완료했습니다.
CHKDSK에서 보안 설명자를 확인합니다. (3/3 단계)
보안 설명자를 확인했습니다.

전체 디스크 공간:  100438348KB
  43506632KB (20613개 파일)
색인 1510개:       7660KB
잘못된 섹터:          0KB
시스템 사용:      95740KB
로그 파일이      65536KB가 되었습니다.
사용 가능한 디스크 공간:   56828316KB

각 할당 단위 크기:       4096바이트
디스크의 전체 할당 단위 개수:   25109587개
디스크에서 사용 가능한 할당 단위 개수:   14207079개
ERRORLEVEL=2
================================================================================


E:
파일 시스템 유형은 FAT32입니다.
FooBar 볼륨을 2005-12-02 오후 2:15에 만들었습니다.
볼륨 일련 번호는 273D-5EC1입니다.
파일과 폴더를 확인하는 중입니다...
파일과 폴더를 확인했습니다.
Windows에서 파일 시스템에 문제가 없음을 확인했습니다.
전체 디스크 공간:     8,369,532KB
숨김 파일 3개:            12KB
폴더 1개:             4KB
      445,252KB (3개 파일)
사용 가능한 공간:     7,924,260KB

각 할당 단위:         4,096바이트
디스크의 전체 할당 단위 개수:     2,092,383개
디스크에서 사용 가능한 할당 단위 개수:     1,981,065개
ERRORLEVEL=0



위와 같은 결과가 명령 프롬프트 창에 나타납니다.

위에서 말하는 "볼륨"이라는 것은, 하드 혹은 하드의 파티션을 말합니다. 쉽게 말해서 C: D: E: 같은 드라이브가 볼륨입니다.

NTFS 볼륨에서는 ERRORLEVEL=2 가 나오는 것이 보통이었습니다.



단, 이 검사는 하드의 표면 전체를 검사하지는 않습니다. 파일의 정보가 담긴 영역만을 검사합니다. 그래서 빨리 끝나는 것입니다.


하드 표면의 전체 검사: "1달에 1번 정도는 하드 디스크 검사를 [컴퓨터 초보자를 위한 강좌]"




관련 포스트: chkdsk /F 옵션으로, 부팅 때 하드 디스크 검사하는 배치 파일 - Batch




tag: windows
윈도우 | Windows 7 | Windows XP | Windows 2000

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top