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가 넘는 메모리를 윈도에서 인식해서 사용할 수 있겠다.

32비트 윈도(Vista/7/8/8.1) 에서 4G 이상 메모리 사용하기”에 대한 8개의 생각

  1. 치카치카

    글쓰신 분은 성공하신듯 한데 저는 여러번 해봐도 실패네요
    짜증나서 홧김에 {current}로 질러봤다가 부팅실패,무한재부팅에 걸렸엇죠.
    윈도우 복원 돌려서 복구시켰네요 그냥 64비트로 바꿔야할까요… 설정,업데이트 잘 해놨는데…

    응답
  2. mcsongmcsong 글쓴이

    치카치카님 감사합니다.
    그리고 이 글로 인해 불편을 드려서 죄송합니다. 확인해 보니 최근 패치로 인해서 제대로 동작하지 않습니다. ^^;;
    계속 업데이트 확인해서 내용을 수정하겠습니다.

    감사합니다.

    응답
  3. 이정협좋아해

    2016년 2월자로 새로 패치가 나왔는데 여전히 가동 불가능인가요? 컴맹이라 함부로 설치는 못하겠고, 결과가 궁금해서 여쭙습니다

    응답
    1. mcsongmcsong 글쓴이

      저도 예전 HP 랩탑을 아직도 사용하고 있어서.. 필요한 상황입니다. 새로운 패치가 올라온지 몰랐네요.. 조만간 확인해보고 글을 수정하던가 하겠습니다. 감사합니다.

      응답

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.