В этой статье мы разберемся, как убрать ограничение 4 Гб памяти на 32 битных версиях Windows 8 и Windows 8.1, и задействовать всю доступную на компьютере оперативную память.
Большинство пользователей Windows убеждены, что 32 битные ОС Microsoft не поддерживают более 4 Гб оперативной памяти. Таким образом, максимум памяти, доступной в Windows 8/ 8.1 x86 — 4 Гб. А с учетом того, что Windows резервирует часть памяти под свои нужды и нужды периферийных устройств ) чаще всего для видеокарты), конечному пользователю для использования доступны обычно около 3-3,5 Гбайт памяти.
На первый взгляд все логично – пределом адресации для 32 разрядной адресной шины являются те самые 4 Гб. Во всех официальных документах Microsoft указывает именно этот максимальный размер памяти, поддерживаемый во всех клиентских версиях x86-системе. Хотя на самом деле Microsoft немного вводит всех в заблуждение.
Содержание:
Что такое PAE и зачем он нужен
PAE (Physical Address Extension — расширение физической адресации) – эта опция x86 процессора, позволяющая ему получить доступ более чем к 4 Гб физической памяти. Не будем углубляться в технические подробности технологии PAE, просто отметим, что это технология поддерживается всеми процессорами и непосредственно в OC Windows уже довольно давно.
Так, например, 32 битная версия Windows Server, запущенная на процессоре x86, может использовать PAE для доступа ко всей оперативной памяти системы (до 64 Гб или до 128 Гб в зависимости от поколения процессора).
Скажем больше, поддержка режима PAE в ядре Windows имеется, еще начиная с Windows XP. Просто по умолчанию PAE доступен только в серверных ОС, а в клиентских же ОС Windows этот режим хотя и имеется, но отключен.
Ограничения режима PAE
- PAE не расширяет виртуальное адресное пространство каждого процесса. Каждый процесс, запущенный на 32 битной системе все так же ограничен 4 Гб адресного пространства.Совет. PAE не поможет увеличить количество памяти, доступной для ресурсоемкого приложения (например, графического или видеоредактора). Если такая необходимость имеется, лучше перейти на 64 разрядную ОС.
- При использовании PAE следует отметить небольшое снижение производительности системы за счет уменьшения скорости доступа к памяти, вызванное накладными расходами на переключение отображаемых страниц в памяти
- Драйвера некоторых устройств не могут корректно работать в 36 битном адресном пространстве.
Итак, можно сделать вывод, что верхний предел доступной физической памяти в 32 битных версиях Windows ограничен программно на уровне ядра ОС. А если есть программное ограничение, это означает, что его можно обойти! Каким же образом включить режим PAE в 32 битной Windows 8.1 и задействовать всю доступную оперативную память.
Патч, включающий PAE и позволяющий задействовать всю оперативную память на Windows 8 / 8.1 x86
Включить режим PAE в Windows 8 (Windows 8.1) штатными средствами не получится (для этого придется вручную в HEX редакторе править файл ядра ntoskrnl.exe и переподписывать его). Проще всего воспользоваться готовым патчем PatchPae2, который написан энтузиастом Wen Jia Liu. Скачать патч PatchPae2 можно здесь. (архив содержит сам патчер — PatchPae2.exe, его исходные коды и необходимые инструкции).
Патч представляет собой небольшую утилиту командной строки, которая позволяет модифицировать файлы ядра 32 битных версий Windows с целью активация режима PAE, позволяющего использовать более 4 Гб оперативной памяти (до 128 Гб памяти).
Патч PatchPae2 будет работать со следующими ОС:
- Windows Vista SP2
- Windows 7 / Windows 7 SP1
- Windows 8 / Windows 8.1
Установка PAE — патча в Windows 8 / 8.1
- Распакуйте архив и скопируйте файл PatchPae2.exe в каталог %Windir%\system32 (обычно он находится на диске C:\)
- Запустите командную строку с правами администратора.
- Создадим модифицированную копию ядра Windows 8, поддерживающего работу с памятью объемом до 128 Гб:
PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe
- Создадим новый модифицированный загрузчик, позволяющий отменить проверку наличия цифровой подписи ядра при загрузке:
PatchPae2.exe -type loader -o winloadp.exe winload.exe
Примечание. В случае успешного каждой из предыдущих команд должна появиться надпись «Patched» - Далее нам нужно создать вариант загрузки Windows 8 / 8.1 с новым модифицированным ядром, добавив его в загрузочное меню. Совет. На всякий случай на этом этапе можно создать резервную копию конфигурации BCD. Как это сделать описано здесь.
- Создадим новый вариант загрузки, скопировав текущий и в качестве комментария указав “Windows (PAE Patched)” (или любой другой комментарий):
bcdedit /copy {current} /d "Windows (PAE Patched)"
- Далее необходимо скопировать полученный уникальный {boot ID} — {074c09ef-9794-11de-aef9-935525eb400a} (в вашем случае он будет отличаться) и последовательно выполнить следующие команды (в качестве boot ID необходимо использовать полученный вами идентификатор):
Выберем загружаемое ядроbcdedit /set {boot_ID} kernel ntoskrnx.exe
Зададим новый загрузчик
bcdedit /set {boot_ID} path \Windows\system32\winloadp.exe
Отменим проверку подписи загрузчика
bcdedit /set {boot_ID} nointegritychecks 1
Зададим вариант загрузки с модифицированным ядром по умолчанию
bcdedit /set {bootmgr} default {boot_ID}
Зададим таймаут загрузки (время отображения загрузочного меню), например 10 секунд
bcdedit /set {bootmgr} timeout 10
Совет. Последние две команды выполняются по желанию - Осталось перезагрузить компьютер и, если вы все сделали правильно, появится такой экран. Выберем вариант Windows (PAE Patched), после чего 32-битная версия Windows 8 или 8.1 должна загрузиться в режиме, поддерживающем более 4 Гб оперативной памяти.
PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe
Удаление патча PAE
Чтобы удалить патч PAE из системы, необходимо:
- Удалить соответствующую запись из загрузочного меню (проще всего это сделать с помощью msconfig)
- Удалите файлы ntoskrnx.exe и winloadp.exe в каталоге %Windir%\System32.
Никаких других изменений в систему патч не вносит.