저자: Mitch Tulloch, 역 한동훈
원문: http://www.windowsdevcenter.com/pub/a/windows/2004/11/09/XP_startup
시스템 부트에 있어 얼마나 오래 걸리는가라는 관점에서 윈도우 XP가 그 이전의 마이크로소프트 윈도우 버전에 비해 큰 향상이 있었지만 여전히 부트 시간을 단축하기 위해 최적화할 수 있는 것들이 있다.
물론, 항상 컴퓨터를 켜두는 사람이라면 이것은 큰 문제가 되지 않을 것이다. 내가 아는 문제는 두 가지가 있는데 항상 켜두는 것은 하드 드라이브나 팬과 같은 기계 부품을 빨리 마모시킨다는 것이며, 다른 쪽은 자주 꼈다 켜는 것은 기계 부품에 좋지 않은 영향을 미치기 때문에 제품 수명을 단축시킨다는 것이다. 내 경우에는 절충안이다. 주중에는 사무실에서 집에 있는 PC를 이용하거나 일을 끝내거나 이메일을 확인하기 위해 PC를 켜두지만, 금요일 저녁부터 일요일 저녁까지는 주말과 인생을 즐기기 위해 PC를 꺼둔다.
그러나, 일요일 저녁에 나의 PC를 결 때, 시동에 걸리는 긴 시간은 나를 짜증나게 한다. 내가 원하는 건 이메일에 액세스하는 것인데 지금 나는 시동을 기다려야 한다. 시동 시간을 빠르게 하기 위해 무엇을 할 수 있을까? 여기 시동 시간을 빠르게 할 수 있는 6가지 팁이 있다.
바이오스(BIOS)
한가지는 BIOS가 전원이 들어올 때 시행하는 메모리 검사와 같은 셀프 테스트 루틴(POST)과 다양한 시스템 통합 검사를 사용하지 않는 것이다. 하드 드라이브가 첫번째 부트 디바이스가 되도록 부트 순서를 변경할 수 있다. 물론, 오래된 PC를 사용한다면 BIOS에서 튜닝할 수 있는 것은 제한되어 있다. 사무실에서 사용하는 PC중에 하나는 오래된 델 프리시젼(Precision) 웍스테이션인데 POST 루틴이 30초 이상 수행되며 이는 윈도우 XP 시동시간 보다 더 길다. 이 경우에 정답은 새로운 PC를 구매하는 것이지만 비용을 절감하고 싶기 때문에 대부분의 PC를
ComputerGeeks에서 구매한 후에 RAM과 여분의 하드 드라이브를 내 입맛에 맞게 추가하고 있다.
Boot.ini
PC에 복구 콘솔(Recovery Console)을 설치했거나 XP와 다른 OS에 멀티 부트를 설치한 경우 POST 루틴 이후에 부트 로더 메뉴가 나타나고, 시작할 OS나 XP 버전(정상 부트 또는 복구 콘솔)을 선택해야 한다. 이 메뉴의 기본 선택 시간은 30초인데 boot.ini에서 보다 합리적인 3초 정도로 설정하여 시간을 단축할 수 있다. XP에서 boot.ini를 편집하는 가장 쉬운 방법은 다음과 같이 bootcfg /timeout 을 사용하는 것이다.
C:\>bootcfg /timeout 3
결과는 다음과 같다.
SUCCESS: Changed the timeout value in the BOOT.INI.
결과를 확인하기 위해 bootcfg /query를 사용할 수 있다.
C:\>bootcfg /query
Boot Loader Settings
--------------------
timeout: 3
default: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
Boot Entries
------------
Boot entry ID: 1
Friendly Name: "Microsoft Windows XP Professional"
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optin /fastdetect
Boot entry ID: 2
Friendly Name: "Microsoft Windows Recovery Console"
Path: C:\CMDCONS\BOOTSECT.DAT
OS Load Options: /cmdcons
다른 최적화 방법은 윈도우 XP 스플래쉬 화면과 부트 진행바를 없애기 위해 OS 로드 옵션을 변경하기 위해 /noguiboot를 사용하는 것이다. 이것은 시작 시간을 약간이나마 줄여줄 수 있지만, 이 화면을 사용하지 않는 것의 부작용은 시동하는 동안 생성되는 메시지가 화면에 멈추어 있다. 따라서, 이 방법은 주의해서 사용해야 한다. 이를 사용하는 bootcfg 명령은 다음과 같다.
C:\>bootcfg /addsw /ng /id 1
결과는 다음과 같다.
SUCCESS: Added the switches to the OS entry "1" in the BOOT.INI.
boot entry 1에 추가된 OS 로드 옵션에 /nogutboot가 추가된 것을 알 수 있다.
C:\>bootcfg /query
Boot Loader Settings
--------------------
timeout: 3
default: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
Boot Entries
------------
Boot entry ID: 1
Friendly Name: "Microsoft Windows XP Professional"
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optin /fastdetect /noguiboot
Boot entry ID: 2
Friendly Name: "Microsoft Windows Recovery Console"
Path: C:\CMDCONS\BOOTSECT.DAT
OS Load Options: /cmdcons
시작 프로그램
윈도우가 시작할 때 자동으로 실행되는 프로그램들은 종종 여러분의 시스템을 부트하는 것 만큼이나 오래걸리는 것으로 시스템을 느리게 만들 수 있다. 이들 프로그램의 몇 가지는 실제로 필요한 것들이지만, 나머지는 인터넷에서 설치된 시험 버전이 남겨놓은 것들일 수 있다. C:\Documents and Settings 디렉터리 밑에 있는 사용자 프로파일(%UserProfile%\Start Menu\Programs\Startup)과 모든 사용자(All Users) 프로파일(All Users\Start Menu\Programs\Startup)에 있는 시작(startup) 폴더의 내용을 확일할 수 있다. 이 폴더에서 필요없는 프로그램에 대한 단축아이콘들을 삭제한다.
또한 윈도우 시작시에 자동으로 실행되는 부수적인 프로그램들을 위해 Run 레지스트리 키를 검토해야 한다. 두 가지 Run 키는 다음 위치에서 발견할 수 있다.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
과
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
프리패처(Prefetcher)
윈도우 XP는 부트 과정중에 필요한 파일이 무엇인지 모니터링하고 시동을 최적화하기 위해 이들 파일을 미리 로드하는 프리패처(미리 가져오기)라는 새로운 기능을 갖고 있다. 다음 레지스트리의 DWORD 값을 편집하여 부트 파일, 응용 프로그램 파일을 미리 로드하기 위해 프리패처를 설정할 수 있다.
HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement
\PrefetchParameters\EnablePrefetcher
사용할 수 있는 값들은 다음과 같다.
0 = 프리패처 사용하지 않음
1 = 응용 프로그램만 프리패처를 사용함
2 = 부트에만 프리패처를 사용함
3 = 응용 프로그램과 부트 모두 프리패처를 사용함
기본 값은 3이지만 응용 프로그램 파일들은 일반적으로 RAM 캐시에 캐시되기 때문에 프리패치가 필요하지 않으므로 이 값을 2로 변경할 수 있다.
하이버네이션(Hibernation)
정말 부트 시간을 빠르게 하는 방법은 전원을 끄는 것이 아니라 하이버네이션하는 것이다. 하이버네이션(최대절전모드)는 현재 메모리 내용을 파일로 저장한 다음에 컴퓨터를 끄는 것이다. 컴퓨터를 다시 시작할 때 윈도우를 시동중(Starting Windows) 메시지 대신에 윈도우를 재시작(Resuming Windows) 메시지가 나타난다. 사용자가 데스크탑을 사용하기 위해 비밀번호를 입력한 후에 하이버네이션 파일(Hiberfil.sys)을 수초만에 다시 메모리로 읽어들인다.
하이버네이션은 ACPI 호환 하드웨어에서 지원하지만 먼저, 제어판에서 전원 옵션(Power Options) 유틸리티의 하이버네이션 탭에서 설정해야 한다. 이 옵션을 사용하기로 설정했으면 시작 -> 컴퓨터 끄기 -> 최대절전모드(Hibernate)를 선택할 수 있다.
비밀번호가 주기적으로 만료되도록 설정된 경우 하이버네이션은 문제가 될 수 있다. 비밀번호가 만료되었는데 PC가 하이버네이션되어 있다면 비밀번호를 초기화하기 위해 하이버네이션에서 돌아올 수 없다. 이를 해결하는 방법은 안전 모드(safe mode)로 부트하고, 로컬 관리자 계정(administrator)으로 로그인하고 사용자 계정의 비밀번호를 변경한 후에 재부트하는 것이다.
자동 로그인
마지막으로 윈도우가 시작된 이후에 사용자 계정으로 자동 로그인하게 설정하는 것이다. 이렇게 하면 PC를 켜고 커피를 만들 수 있고, 자리에 돌아왔을 때 시작 폴더에서 있는 프로그램(이메일 프로그램 같은 것들)을 실행하고 있을 것이다. 이 기능을 설정하는 방법은 마이크로소프트 지식 베이스에서
How to turn on automatic logon in Windows XP 기사를 참고하기 바란다. 자동 로그인을 사용하는 것의 주의할 점은 누구든지 여러분의 PC를 켜고 사용할 수 있다는 것이다. 따라서, 이 기능을 PC가 물리적으로 안전한 곳에 있고, PC를 사용하는 사람이 분명한 곳에서만 사용해야 한다.