윈도우를 사용하다 보면 바이러스나 비밀번호를 잊어버려 난감한 경우가 종종 있을 것이다. 예전에는 도스 부팅 디스켓을 만들어 부팅하거나 하드디스크를 떼어 다른 컴퓨터에 붙여 복구하곤 했다. 하지만 최근에는 완성품 PC에 플로피 드라이브를 장착하지 않고 출시하거나 조립 피시를 직접 구성할 경우 플로피 드라이브를 빼는 게 대세인듯 하다. 따라서 플로피 디스켓을 사용한 옛날 방심으로 윈도우 복구는 힘들듯 하다. 이 대안으로 USB에 리눅스 Live CD를 설치하여 복구하는 방법을 알아보자. USB에 리눅스 Live CD 설치는 배포본마다 틀리니 각 배포본의 매뉴얼을 참조하기 바란다.
Windows(윈도우) 이야기 : 부팅 가능 Ubuntu 9.10 USB 플래쉬 드라이브 ...
How to create and use Live USB - FedoraProject
본 포스트에서 소개하는 방법으로 복구할 수 있는 윈도우 장애는 아래와 같다.
- 바이러스 스캔
- 로그인 비밀번호 변경
- 기존 파일을 보존한 채 파티션 조정
- 윈도우에서 삭제된 파일 복구
1. 바이러스 스캔
리눅스에서는 바이러스에 대한 위험은 없다고 할 수 있다. 하지만 윈도우 계열의 운영체제에서는 항상 바이러스에 대해 경계를 해야 하며 백신 프로그램은 이제 선택이 아닌 필수이다. 하지만 백신 프로그램을 설치하였다 하더라도 백신의 성능이나 기타 원인으로 인해 바이러스에 감염되어 컴퓨터가 부팅이 되지 않을 때도 있을 것이다. 그리고 요새 만들어지는 바이러스는 워낙 악질적이라 감염되지 않은 피시에 감영된 하드디스크를 붙이는 행동은 상당히 위험할 수 있다. 원치않게 또 하나의 감염된 피시를 만들어 버리게 될 수 있기 때문이다.
리눅스 소프트웨어 중에 'clamtk'라는 anti virus 패키지가 있다. Clam Anti Virus의 리눅스 버전이다. 페도라에서 간단히 'yum install clamtk'를 루트권한으로 실행하면 의존성 검사 후 필요 패키지를 설치할 것이다. 이 패키지는 리눅스 시스템의 바이러스를 체크하기 위한 것이 아니라 메일서버 혹은 듀얼 부팅 데스크탑의 윈도우 시스템을 체크하기 위한 것이다. 사용법은 일반 백신 프로그램과 유사하니 별다른 설명이 필요 없으리라 생각한다.
2. 로그인 비밀번호 변경
위 clamtk와 마찬가지로 'chntpw'라는 패키지를 설치하자. 윈도우의 SAM 파일에 저장되어 있는 비밀번호를 chntpw로 변경하려면 윈도우 파티션을 마운트하여야 한다. 우분투나 페도라에서 윈도우 파티션 마운트는 GUI를 사용하기 때문에 어렵지 않게 마운트할 수 있을 것이다.
성공적으로 마운트 하였다면 SAM 파일이 위치한 Windows/System32/config 폴더로 이동한다. 아래 명령은 윈도우 관리자 계정의 비밀번호를 변경한다. 반드시 루트 권한으로 실행하도록 한다.
chntpw SAM
기타 다른 사용자의 비밀번호를 변경하고자 한다면,
chntpw -u iprize SAM
1에서 4까지 옵션이 있으며 보통 윈도우 관리자 계정의 비밀번호를 잊었을 때 비밀번호를 지운 후 윈도우로 부팅하여 재설정하고자 할 것이다. XP와 비스타에서 동작하는 것으로 알려져 있으며 윈도우 7에서도 성공적으로 동작하였다.
[root@localhost config]# chntpw -u iprize SAM
chntpw version 0.99.6 080526 (sixtyfour), (c) Petter N Hagen
Hive <SAM> name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c <lf>
Page at 0x10000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 7 pages (+ 1 headerpage)
Used for data: 262/53336 blocks/bytes, unused: 8/7880 blocks/bytes.
* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length : 0
Password history count : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrator | ADMIN | dis/lock |
| 01f5 | Guest | | dis/lock |
| 03e8 | iprize | ADMIN | |
---------------------> SYSKEY CHECK <-----------------------
SYSTEM SecureBoot : -1 -> Not Set (not installed, good!)
SAM Account\F : 0 -> off
SECURITY PolSecretEncryptionKey: -1 -> Not Set (OK if this is NT4)
Syskey not installed!
RID : 1000 [03e8]
Username: iprize
fullname:
comment :
homedir :
User is member of 1 groups:
00000220 = Administrators (which has 3 members)
Account bits: 0x0214 =
[ ] Disabled | [ ] Homedir req. | [X] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account | [ ] NMS account |
[ ] Domain trust ac | [ ] Wks trust act. | [ ] Srv trust act |
[X] Pwd don't expir | [ ] Auto lockout | [ ] (unknown 0x08) |
[ ] (unknown 0x10) | [ ] (unknown 0x20) | [ ] (unknown 0x40) |
Failed login count: 0, while max tries is: 0
Total login count: 219
- - - - User Edit Menu:
1 - Clear (blank) user password
2 - Edit (set new) user password (careful with this on XP or Vista)
3 - Promote user (make user an administrator)
(4 - Unlock and enable user account) [seems unlocked already]
q - Quit editing user, back to user select
Select: [q] > 1
Hives that have changed:
# Name
0 <SAM>
Write hive files? (y/n) [n] : y
0 <SAM> - OK
[root@localhost config]#
3. 기존 파일을 보존한 채 파티션 조정
경고 : 파티션 조정하기 전에 반드시 중요한 데이터를 백업하기 바란다. 윈도우 운영체제 파티션을 수정할 경우 윈도우의 부트로더가 수정된 파티션을 제대로 인식하지 않을 수 있다.
리눅스에서는 리눅스 파티션뿐만 아니라 윈도우 파티션까지 조정할 수 있다. Gparted를 이용하면 파티션 생성, 삭제, 이동 및 사이즈 조정까지 할 수 있다. 아래 그림을 보면 Gparted에서 지원하는 파일 시스템을 알 수 있다. Required Software 필드는 해당 파일 시스템을 조정하기 위해 필요한 소프트웨어를 나타낸다.
간단하게 글쓴이가 사용하고 있는 넷북을 가지고 사용법을 알아보도록 하자. KT 와이브로를 2년 약정으로 가입하면 주는 삼성 N130에는 운영체제 복구 목적으로 RECOVERY 파티션이 생성되어 있다. 여러 가지 테스트 목적으로 운영체제를 설치/삭제를 반복하기 때문에 복구용도로 생성되어 있는 7기가 정도의 파티션은 그다지 쓸모가 없기 때문에 삭제하여 7기가를 다른 파티션과 합쳐보도록 하자. 아래 그림은 Disk Utility (Application > System Tools > Disk utility)를 실행하여 확인한 것이다.
GParted(Application > System Tools > Gparted Partition Editor)를 실행하자. 아래 그림에서 확인할 수 있듯이 왼쪽 첫번째 작은 파티션이 응급 복구를 위한 파티션이다. 이 파티션을 제거한 후 두번째 파티션(/dev/sda2)에 합치도록 한다.
첫번째 파티션에서 오른쪽 클릭한 후 팝업 메뉴에서 Remove를 선택한다. 메인 화면으로 돌아와서 보면 첫번째 파티션이 있던 자리는 회색으로 표시될 것이다. 하지만 이때까지 실제 하드디스크에는 Edit > Apply pending operation을 선택하여야 적용이 되니 주의하도록 하자.
첫번째 파티션을 삭제하는 빈 공간은 두번째 파티션에 할당하도록 하자. 두번째 파티션에서 오른쪽 클릭한 후 Resize/Move를 선택하면 아래와 같이 파티션을 조정할 수 있는 창이 새로 뜬다. 글쓴이의 경우 에러가 발생하여 재부팅 후 정상적으로 파티션을 조정할 수 있었으니 에러가 발생할 경우 재부팅 후 다시 시도해 보도록 하자.
원하는 사이즈로 조정한 후 Resize/Move 버튼을 클릭하자. 파티션 크기 조정 및 파일 이동에 시간이 오래 걸리니 충분한 시간을 가지고 기다리도록 한다.
윈도우로 재부팅하여 변경된 사항을 확인해 보도록 하자.
참고 : 위 방법으로 윈도우 운영체제가 설치된 파티션을 조정하였을 때 윈도우 부트 로더가 파티션 정보를 제대로 인식하지 못하는 현상이 발생하여 부팅이 되지 않았다. 윈도우 7 USB로 복구하여 정상으로 돌아왔으니 참고하기 바란다. 윈도우 7 USB를 생성하는 방법에 대해서는 아래 포스트를 참고하기 바란다.
ShinB's Log - Windows Technical Info & Tips : 윈도우 7 USB 로 설치 ...
추가 : 영문 자료라 본 포스트에 추가하지 않으려고 했으나 도움이 될 듯하여 포함한다.
Recovering the Vista Bootloader from the DVD - NeoSmart ... 4. 윈도우에서 삭제된 파일 복구
마지막으로 윈도우에서 삭제된 파일을 복구하는 방법은 아래 포스트를 참고하기 바란다.
by Hosup
의 IT 세상 | 2010/03/30 12:36
Ubuntu Live CD로 NTFS 하드디스크 상에 삭제된
파일의 복구가 가능하다. 먼저 Ubuntu Live CD 또는 Ubuntu Live
부팅 USB가 필요하며, 이를 만드는 방법은 포스팅 "부팅 가능 Ubuntu 9.10 USB 플래쉬 드라이브
만들기"에서 참조 가능하다. ...