날짜: 2004-07-28 | 글쓴이: 도아 | 90818 번 | 프린트 | 메일로보내기

삭제되지않는 파일 삭제하기 - 계속


이제 각각의 유형별로 삭제되지않는 원인과 삭제 방법을 알아 보도록 하겠다.

I. 장치 파일 Unix의 특성을 물려받은 대부분의 OS는 장치 역시 파일로 취급한다. 예를들어 도스 시절 파일을 생성하기위해 사용했던 copy con autoexec.bat라는 명령을 기억해 보기 바란다. 이 명령은 con이라는 파일을 Autoexec.bat라는 파일로 복사하라는 명령이다. 여기서 con은 실제 파일이 아니라 Con(sole)을 나타내는 장치 파일이다. 명령행에서 다음과 같은 명령을 입력하면 실제 사용자가 키보드로 입력한 데이타가 test.bat이라는 파일로 저장되는 것을 확인할 수 있다.

copy con test.bat
Echo Test Device File
^Z

여기서 ^ZCtrl-Z으로 파일 끝을 나타내는 문자(EOF: End of File)이다.

일반적으로 장치 파일은 생성/삭제할 수 없다. 그러나 FTP 서버를 기동한다거나 또는 다른 문제때문에 이 예약된 장치명을 갖는 파일이나 폴더가 생성될 수 있다. 한 예로 FTP 서버를 돌리고 있는 경우, 익명 FTP에 파일을 배포하는 배포자가 파일을 삭제할 수 없도록 장치 파일명(FTP Tag)을 이용해서 폴더를 생성하는 경우가 많다.

이 경우 일반적인 방법으로는 파일/폴더를 삭제할 수 없고 다음과 같은 형식으로 삭제해야 한다주1.

delcmd \.\Drive:\directory\filename
예:
파일인 경우: del \.\c:\someplace\lpt1
폴더인 경우: rd /s \.\c:\someplace\lpt1

여기서 /s는 폴더에 포함된 파일과 모든 하위 폴더를 삭제하는 옵션이다.

주1: 이 팁은 필자의 이전 팁, LPT1과같은 다른 예약된 이름을 삭제할 수 없다.를 기초로 작성되었다.

II. 파일명이 잘못된 파일 장치 파일에서 예약된 이름을 사용하는 파일을 지우는 방법을 언급했다. 하지만 이와는 다른 여러가지 이유로 삭제할 수 없는 파일/폴더주1가 생길 수 있다.

필자의 경우에는 FTP 프로그램으로 Unix 서버에서 파일을 받는 경우에 이러한 일이 가끔 발생했었다. 일반적으로 NT/2K/XP의 경우 파일이나 폴더의 이름이 공백으로 끝날 수 없다. 설사 공백을 입력하는 경우에도 실제 파일이나 폴더를 생성할 때 이 공백은 삭제된다. 반면에 Unix의 경우 파일이나 폴더에 어떠한 문자도 가능하다. 즉, "..."과 같은 폴더나 "유닉스는 공백도 된다 "와 같이 공백으로 끝나도 무관하며 심지어 "   "과 같이 공백으로만 구성된 폴더를 만들 수도 있다(주로 와레즈 그룹에서 파일을 숨길때 주로 사용한다).

이와 같이 Windows에서 허용되지않는 문자로 구성된 파일이나 폴더를 FTP 프로그램을 다운 받는 경우 FTP 프로그램에 따라 이러한 폴더가 생성될 수 있다. 사실 이러한 파일나 폴더를 다운 받는 경우라도 이러한 파일이나 폴더가 생기지 않아야 정상이다. 하지만 몇몇 FTP 프로그램을 사용하는 경우 천연덕 스럽게 이러한 파일이나 폴더가 생성되기때문에 삭제할 수 없는 파일이나 폴더가 생기게 된다. 즉, Windows도 이러한 파일 이나 폴더를 생성할 수 있지만 대부분의 윈도우용 응용 프로그램으로는 이러한 파일이나 폴더를 접근할 수 없다는 얘기가 된다.

모든 FTP 프로그램이 동일한 것은 아니지만 위와 같은 이유로 생성할 수 없는 파일/폴더가 생긴경우에는 다음 절차에 따라 삭제할 수 있다주2.

  1. 시작/실행을 클릭한다.
  2. cmd를 입력하고 엔터키를 친다.
  3. cd <삭제하려는 폴더의 상위폴더>를 입력한다.
  4. 도스 명령행에서 dir /x를 입력해서 8.3 형식의 도스명을 알아낸다.
  5. 다음과 같은 형식으로 파일/폴더를 삭제한다
    delcmd <8.3 형식의 도스 파일명>
    예:
    파일인 경우: del <경로>HYPERS~1.ZIP
    폴더인 경우: rd /s <경로>HYPERS~1.ZIP

주1: 실제 이 폴더를 사용하고 있는 프로그램이 없는 경우, 즉, 시스템을 완전히 종료하고, 다시 부팅한 경우에도 삭제할 수 없는 폴더를 말한다. 주2: 이 팁은 필자의 이전 팁, 지워지지않는 파일/폴더 삭제하기를 기초로 작성되었다.

III. 권한이 없는 파일 NTFS에는 파일/폴더등 대부분의 항목에서 사용권한 및 소유권을 설정할 수 있다. 사용권한파일이나 폴더에대한 접근 권한을 나타내며, 소유권파일/폴더에 모든 권한을 가진 소유주를 나타낸다. 만약 파일/폴더에 적당한 권한이나 소유권이 없다면 당연히 이 파일/폴더는 삭제할 수 없다. 심한경우에는 접근 조차되지 않는다. 이 처럼 사용권한이 없어 삭제할 수 없는 경우에는 다음처럼 폴더의 권한을 변경한 후 삭제할 수 있다(예: System Volume Information 폴더 삭제하기).

  1. 사용권한이 없는 경우주1, 주2
    1. 권한을 변경하려는 폴더에 마우스 우측 버튼을 클릭하고 속성을 클릭한다.
    2. 폴더 등록 정보창에서 보안 탭을 클릭한다①주3.
    3. 추가 버튼을 클릭한다②.
    4. 사용자 또는 그룹을 선택하십시오.창에서 고급 버튼을 클릭한다.
    5. 사용자 또는 그룹을 선택하십시오.창에서 지금 찾기를 클릭한다①.
    6. 검색 결과에서 권한을 추가할 사용자를 찾아 클릭②하고 확인 버튼을 클릭한다③.
    7. 확인 버튼을 클릭한다.
    8. 폴더 등록 정보그룹 또는 사용자 이름에서 6단계에서 추가한 사용자를 클릭한다①.
    9. xxx의 사용 권한에서 적당한 권한을 설정②하고 확인을 클릭한다③.
  2. 소유권이 없는 경우 사용권한이 없는 경우처럼 폴더의 권한을 변경해서 폴더를 삭제하려고 하지만 의외로 파일/폴더의 사용권한 조차 변경할 수 없는 경우도 가끔 발생한다. 이 경우에대한 가장 대표적인 예는 NTFS에 OS를 새로 설치하고 예전에 저장된 데이타를 접근하려고 하는 경우에 가끔 발생한다.

    이처럼 사용권한 조차 변경할 수 없는 경우는 대부분 해당 파일/폴더에대한 소유권이 없기때문에 발생한다. 따라서 이경우 소유권을 먼저 획득하고 사용권한을 변경하면 삭제할 수 있다. 절차는 다음과 같다주4.

    1. 권한을 변경하려는 폴더에 마우스 우측 버튼을 클릭하고 속성을 클릭한다.
    2. 폴더 등록 정보창에서 보안 탭을 클릭한다①주3.
    3. 보안 탭에서 고급 버튼을 클릭②한다.
    4. 폴더 고급 보안 설정 창에서 소유자 탭을 클릭①한다.
    5. 소유자 탭의 소유자를 다음으로 변경에서 소유권을 변경할 사용자(예: Jae-Geun Kim/DoA(COMP\artech))를 클릭②하고 하위 컨테이너와 개체의 소유자 바꾸기를 체크③한 후 적용 버튼을 클릭④한다.
    6. 보안 확인 창에서 버튼을 클릭한다.
    7. 확인 버튼을 클릭한다.
    8. 소유권이 변경된 사용자(Jae-Geun Kim/DoA(COMP\artech))나 관리자 그룹(Adminstrators)에게 사용권한이 없는 경우③에따라 모든 사용권한을 부여하고 확인 버튼을 클릭④한다.

주1: 이 팁은 필자의 이전 팁, 폴더의 권한 변경하기을 기초로 작성되었다. 주2: 폴더의 권한 변경에의한 파일/폴더 삭제에대한 예는 System Volume Information 폴더 지우기를 참조하기 바란다.

주3: 보안 탭이 나타나지 않는 경우 보안탭 숨기기를 참조한다. 주4: 예에서는 소유권을 가진 또 다른 사용자가 관리자 그룹(Adminstrators)이므로 사용권한만 추가해도 된다. 그러나 시스템에 등록되어 있지 않는 사용자의 경우 반드시 소유권을 먼저 가져온 후 사용권한을 설정해야 한다.

IV. 시스템 파일 Windows 2K/XP의 시스템 파일 보호란?에서 설명한 것처럼 2K/XP에서 사용되는 중요한 시스템 파일은 Windows 파일 보호 시스템에의해 보호된다. 이런 파일 보호 시스템에의해 보호되는 파일/폴더는 %SystemRoot%\System32에 있는 상당수의 파일들과 불필요한 시스템 폴더 삭제하기에서 설명한 %ProgramFiles%\MSN Gaming Zone과 같은 폴더들이다(이들 파일들에대한 정보는 %SystemRoot%\System32\sfcfiles.dll 파일에 저장되어 있다). 따라서 이들 파일을 삭제하려면 Windows 파일 보호 시스템을 완전히 끄는 것외에 다른 방법은 없다. Windows 파일 보호 시스템을 완전히 끄는 방법은 다음과 같다주1.

경고: 이 팁은 윈도우의 중요 시스템 파일을 변경하는 팁이다. 이팁을 적용한 결과에대한 책임은 팁을 적용한 사람 각자에 있으며 필자는 어떠한 책임도 질 수 없음을 미리 밝힌다.

  • SFC_OS.DLL 패치
    1. 자주 사용하는 헥사 편집기주2%SystemRoot%\System32 폴더의 SFC_OS.DLL을 읽어들인다주3.
    2. 헥사 편집기로 읽어 들인 파일을 다음 표에따라 편집한다. 즉, 옵셋에서 지정한 위치로 이동한 후, 변경전의 값을 변경후의 값으로 고치면된다.
      파일명 버전 옵셋 패치
      SFC_OS.DLL SP2 F82~F82 주4
      변경전: 44 00 69 00 73 00 61 00 62 00 6C 00 65
      변경후: 53 00 65 00 74 00 74 00 69 00 6E 00 67
      E3F9~ECFA
      변경전: 33 C0
      변경후: EB 01
    3. 헥사 편집기로 변경한 파일을 임시 폴더(예: D:\Temp)에 저장하고 헥사 편집기를 종료한다주5.
    4. 임시 폴더에 저장된 SFC_OS.DLL 파일을 시스템 파일 보호기능 쉽게 우회하기를 참조해서 %SystemRoot%\System32\DllCache 폴더와 %SystemRoot%\System32 폴더에 복사한다주6.

  • 레지스트리의 변경
    1. 시작/실행/regedit를 입력하고 확인을 클릭한다.
    2. 다음 레지스트리로 이동한다.
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
    3. REG_DWORD 형의 SFCSetting주7를 추가하고, 다음 기준에따라 윈도우 파일 보호 기능을 설정한다.
      0WFP/SFC.사용
      1WFP/SFC 사용 안함. 다시 사용하려는 경우 확인 창이 뜸.
      2WFP/SFC 사용 안함. 다시 사용하려는 경우 확인창이 뜨지않음.
      4WFP/SFC 사용. 확인 창이 뜨지 않음.
      FFFFFF9DWFP/SFC를 완전하게 사용하지 않음

윈도우즈의 시스템 파일 보호 기능바이러스나 잘못된 응용 프로그램에의해 시스템의 중요한 파일이 변경되는 것을 막을 수 있는 XP의 아주 중요한 기능이다. 따라서 필자는 초보자의 경우 가급적 이 기능을 사용할 것을 권고 한다. 만약 이팁을 적용한 후, 파일 보호 기능을 다시 사용하려면 레지스트리의 변경의 3단계에서 SFCSetting의 값을 0으로 설정하면된다주8, 주9.

주1: 이 팁은 필자의 이전 팁, 파일 보호 기능 완전히 끄기 II을 기초로 작성되었다. 주2: 필자의 경우 주로 WinHex를 사용하며, 공개 헥사 편집기를 원하는 경우 XVI32 를 다운받기 바란다. 주3: 위의 DLL에서 찾은 바이트가 위의 값과 정확히 일치하지 않은 경우 변경해서는 안된다. 주4: 이 과정은 SFCDisable의 값을 0으로 되돌리는 프로세스때문에 참조하는 레지스트리를 SFCDisabe에서 SFCSetting로 변경하는 과정이다. 주5: 헥사 편집기에 익숙하지않은 사용자는 필자의 홈페이지에서 패치된 SFC_OS.DLL 파일을 다운 받아 사용해도된다. 한가지 주의할 것은 이 파일은 SP2에서만 사용할 수 있다. 주6: SFC_OS.DLL 파일을 복사하기전에 %SystemRoot%\System32 폴더의 SFC_OS.DLL의 이름을 먼저 변경해야 한다. 주7: 주4에서 설명했듯 참조하는 레지스트리를 SFCDisable에서 SFCSetting로 변경했기때문에 SFCSetting라는 REG_DWORD 형의 값을 생성하는 것이다. 패치를 다른 문자열로 했다면 패치한 문자열의 값으로 생성하면 된다. 주8: SFCSetting데이타 값0으로 설정하면 이전에 삭제된 폴더들이 다시 생성된다. 이러한 폴더에 대한 정보는 sfcfiles.dll 파일에 저장되어있다. 주9: XP나 SP1에대한 옵셋 및 패치값은 파일 보호 기능 완전히 끄기를 참조하기 바란다.

V. 사용중인 파일/폴더 파일/폴더가 삭제되지않는 가장 큰 이유는 삭제하려는 파일/폴더가 사용중이기 때문이다. 화면의 모든 프로세스를 다 죽여도 파일을 삭제할 수없는 경우도 발생하는데 이 것은 숨은 프로세스(서비스)가 사용중이기 때문이다. 이처럼 파일/폴더가 사용중이라 삭제할 수 없는 경우는 다음과 같다.

  1. 재부팅해도 삭제할 수 없는 경우
    1. 숨은 프로세스가 사용하고 있는 경우 시스템의 숨은 프로세스(서비스)가 파일/폴더를 사용하고 있는 경우에해당된다. 가장 대표적인 예는 필자의 이전 팁, 인쇄에 실패한 문서가 삭제되지않는 경우이다.
    2. 윈도우 탐색기가 사용하고 있는 경우 윈도우 탐색기에는 파일의 정보를 미리보는 기능이 포함되어 있다. 그러나 몇몇 손상된 파일의 경우 파일 정보를 가져올 수 없기때문에 윈도우 탐색기로 손상된 파일이 저장된 폴더에 접근하는 순간 CPU의 점유율이 100%로 증가하게된다(주로 화일 구조가 복잡하며 크기가 큰 AVI 파일이 여기에 해당된다). 아울러 파일 정보를 가져오기위해 윈도우 탐색기가 계속 이 파일에 접근하기때문에 삭제할 수 없게된다. AVI 파일의 경우 CPU 점유율이 100%로 올라가는 경우를 적용하면 된다.

  2. 재부팅하면 삭제할 수 있는 경우 재부팅하면 삭제할 수 있는 경우는 대부분 사용자의 실수나 응용 프로그램의 오류, 또는 응용 프로그램의 플러그인이 파일/폴더를 사용하는 경우에 발생한다. 이런 경우에 대한 예로는 빈폴더를 삭제할 수 없는 경우에서 설명한 명령행을 들 수 있다.
사용중인 파일/폴더가 있어서 파일/폴더를 삭제할 수 없는 경우 다음 방법으로 파일/폴더를 삭제할 수 있다.
  1. 모든 프로세스 보기에서 설명한 TaskInfo 를 설치한다.
  2. TaskInfo 를 기동한다.
  3. TaskInfo 우측 하단 패널에서 Files 탭을 클릭한다.
  4. 좌측 패널에서 각각의 프로세스를 클릭하고 우측 하단 패널에서 삭제할 수 없는 파일(예: index.dat)을 찾는다.
  5. 우측 하단 패널에서 삭제할 수 없는 파일을 찾은 경우 좌측 패널의 해당 프로세스(예: EditPlus, WebmaU.exe, Windows Explorer)에 마우스 우측 버튼을 클릭하고 Terminate Proces를 클릭한다주1.
  6. 해당 파일을 삭제한다. 삭제되지않는 경우 4~5단계를 반복한다.

주1: 윈도우 탐색기인 경우 작업 관리자로 종료시켜야 한다. XP의 경우 작업 관리자 이외의 프로그램으로 윈도우 탐색기(쉘)을 종료하는 경우 비정상적인 종료로 보고 다시 재기동하기 때문이다. 주2: 몇몇 중요 시스템 프로세스(서비스)TaskInfo 로도 종료할 수 없다. 이 경우 서비스 완벽 가이드를 참조해서 해당 서비스를 중지한 후 삭제하면된다.

VI. 맺음말 모든 일이 다 마찬가지 겠지만 원리만 알면 아주 간단하다. 총 5가지의 삭제되지않는 유형을 분류하고 유형에따른 원인과 대응책을 적어 두었지만 사실 예전부터 필자의 사이트에 있던 팁이다. 문제는 대부분의 사용자가 밥상을 차려줘도 먹을 생각은 하지않고 떠 먹여달라고 조른다는데에 있다.

No Cross, No Crown.

초보를 벗어나 남들보다 나은 실력을 갖추고 싶다면 반드시 위의 말을 명심하기 바란다.

VII. 링크

  1. 내부링크
  2. 외부링크


WZD | 구글 | 네이버 | 뉴스2.0 | 다음 | 델리셔스 | 마가린 | 북마크 | 야후 | 한RSS | 블로그

다음글: 간단한 설치 패키지 만들기 (32646)2004-10-15
이전글: XP 부팅/통합 CD 쉽게 만들기, nLite (63715)2004-07-26
<< 이전페이지 (1/2)

세상사는 이야기

  • 오타도 즐거운 안드로 >
  • 최고의 OCR 어플, Text >
  • 누구나 할 수 있는 순 >
  • 듀오백 컨텐츠 허브, >
  • 초딩도 할 수 있는 아 >
  • 듀오백 2.0, 최적의 등 >
  • 의자이기를 포기(?)한 >
  • 야후의 꼴통 짓과 플리 >
  • 책을 테이크 아웃? 크 >
  • 전자책(크레마 터치), >


  • RSS 링크 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2014 QAOS.com All rights reserved.