태그 보관물: 윈도 8.1 PAE

32비트 윈도(Vista/7/8/8.1) 에서 4G 이상 메모리 사용하기

아래 글은 최근 윈도우 업데이트로 인해서 에러가 발생합니다.
아래에서 사용하는 툴의 업데이트를 확인해서 반영되는 대로 이 메세지는 삭제하겠습니다.

—————-

32bit 윈도를 사용하는 기기에 4G 이상의 메모리를 사용하고 있다면 보통은 3G 정도를 사용할 수 있다고 나올 것이다. 많은 기기에 32bit CPU가 장착되어 있지만, 4G 이상의 메모리가 장착된 기기를 쉽게 볼 수 있다. 그래서 PAE 패치는 32bit 기반의 기기에서 메모리를 최대한 활용하기 위해서 꼭 필요한 것이다.

wj32.org 라는 블로그를 운영하시는 분이 윈도 Vista/7/8/8.1에서 PAE를 적용할 수 있도록 툴을 제공하고 있다. 윈도 8.1까지 적용할 수 있는 툴은 http://wj32.org/wp/2013/10/25/pae-patch-updated-for-windows-8-1/ 에서 다운받을 수 있다.

위에서 다운받은 툴의 readme.txt 파일의 순서대로 패치를 하면 다음과 같다.
아래 순서는 C 드라이브에 윈도 8.1이 설치된 필자의 랩톱에서 사용한 예제이다.

# 패치하기
1. 다운받은 툴의 PatchPae2.exe를 Windows/System32 폴더에 복사를 한다.
2. cmd를 관리자 권한으로 실행한다.
3. 128 GB 까지 메모리를 인식할 수 있도록 커널을 패치한다.
3.1 윈도 8/8.1 : c:\Windows\System32>PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe
3.2 윈도 Vista/7 : c:\Windows\System32>PatchPae2.exe -type kernel -o ntkrnlpx.exe ntkrnlpa.exe
4. c:\Windows\System32>PatchPae2.exe -type loader -o winloadp.exe winload.exe
– 로더의 사인 검증 로직을 제거한다.
5. bcdedit /copy {current} /d “Windows (PAE Patched)”
– 부트 항목을 추가한다.
– 이 명령을 실행하면, {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0}와 같은 UUID를 확인할 수 있다.
6. 패치된 커널의 추가한 부트 항목으로 로딩하기 위해서 아래의 명령을 실행한다.
6.1 윈도 8/8.1 : c:\Windows\System32>bcdedit /set {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0} kernel ntoskrnx.exe
6.2 윈도 Vista/7 : c:\Windows\System32>bcdedit /set {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0} kernel ntkrnlpx.exe
7. c:\Windows\System32>bcdedit /set {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0} path \Windows\system32\winloadp.exe
– 패치된 로더로 변경한다.
8. c:\Windows\System32>bcdedit /set {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0} nointegritychecks 1
– 로더 검증 로직을 제거한다.
9. c:\Windows\System32>bcdedit /set {bootmgr} default {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0}
– 추가한 부트 항목을 디폴트로 잡아준다.
10. c:\Windows\System32>bcdedit /set {bootmgr} timeout 2
– 부트 로더가 항목을 보여주는 시간을 설정한다. 범위는 0-999 까지고 위에서는 2초로 설정하고 있다.
11. 컴퓨터를 재시작한다.
– 아래의 화면으로 32bit 윈도 8.1이 4G의 메모리를 인식하는 것을 알 수 있다.

# 삭제하기
1. PAE 패치하지 않은 윈도로 부팅을 한다.
2. msconfig 툴을 실행해서 boot 메뉴에서 “Windows (PAE Patched)” 항목을 삭제한다.
3. Windows/System32 폴더에서 커널(ntoskrnx.exe 또는 ntkrnlpx.exe) 하고 winloadp.exe를 삭제한다.

# 업데이트시
– 윈도 커널의 업데이트시에는 위의 3.번 이후의 과정을 통해서 PAE 패치를 한다.

이 과정으로 32bit 버전의 기기에서 4G가 넘는 메모리를 윈도에서 인식해서 사용할 수 있겠다.