Вопрос или проблема
Я знаю, что Windows XP 32-бит можно настроить с помощью PAE, чтобы поддерживать более 3,5 ГБ ОЗУ. Есть ли хороший учебник для этого с Windows 7 32-бит?
Что касается причины, по которой я просто не использую 64-битную Windows 7: программное обеспечение для подключения к интернету (мобильный телефон как модем) будет работать только в 32-битных окружениях.
Несколько лет назад группа программистов выпустила патч для ядра Windows 7, позволяющий использовать более 4 ГБ ОЗУ в Windows 7. Недавно, из-за некоторых вирусных сканеров, обнаруживающих патч как ложное срабатывание, загрузка была удалена с сайта. К счастью, у меня есть копия патча (который использует ядро Windows 7 RTM), и я загрузил его на свой сайт здесь (смотрите вариант №1, когда я обсуждаю два метода патча ядра Windows). Более того, авторы выложили инструкции по ручному патчу вашего ядра.
Даже если у вас Windows 7 SP1 (Build 7601), вы можете установить патч, который содержит ядро 7600. Это потому, что ваше стандартное ядро не изменено; новые копии помещаются в вашу системную папку, и добавляется дополнительный параметр загрузки для загрузки Windows с новым, исправленным ядром вместо старого. Хотя я не нашел никаких проблем с запуском Windows 7 SP1 со старым ядром, если вы хотите использовать сборку 7601 ntkrnlpa.exe
, вам нужно вручную запатчить ваше ядро (смотрите ссылку выше).
Патч в основном изменяет ядро Windows 7, чтобы оно было более похоже на версию Windows Server 2003 Datacenter Edition, которая совместима с до 8 ГБ ОЗУ в 32-битном режиме. Это позволяет вам увеличить PAE до 8 ГБ ОЗУ под Windows 7 32-бит. Для получения дополнительной информации о том, почему Microsoft внедрила это техническое ограничение, смотрите Лицензионная память в 32-битной Windows Vista (требуется разрешить JavaScript с www.geoffchappell.com).
Как упоминалось выше, обратите внимание, что отдельные процессы все равно будут ограничены 4 ГБ даже если система может получить доступ к большему… Хотя, если у вас есть 8 ГБ ОЗУ, то, по крайней мере, у вас будет еще 4 ГБ для других процессов 😉
Для заинтересованных в технических аспектах, это происходит из-за вычислений с интерфейсом, привязанным к памяти (MMIO для краткости). Это позволяет процессору получать доступ как к периферийным устройствам, так и к ОЗУ через сам шину адресов. Обычно это делается через более высокие адреса памяти, чтобы избежать конфликтов более низкого порядка. Однако это привело к общепринятой трехгигабайтной барьере памяти во всех потребительских вариантах 32-битных операционных систем Windows.
Эта статья на сайте MSDN Microsoft показывает пределы памяти для версий Windows, и Windows 7 32-бит указана с ограничением в 4 ГБ.
Ранее вы могли использовать PAE, чтобы видеть более 4 ГБ ОЗУ с Windows XP но эта опция была отключена в Service Pack 2.
Причиной этого является то, что большинство драйверов не поддерживали PAE и выкидывали свои игрушки из коляски, если они попали в память выше границы 4 ГБ.
Если вы сейчас используете переключатель /PAE
на Windows XP, вы сделаете DEP доступным, но вы не сможете увидеть более 4 ГБ ОЗУ.
Это ограничение в 4 ГБ все еще действует для Windows 7 32-бит. Если вы хотите видеть более 4 ГБ ОЗУ, вам придется использовать 64-битную версию Windows.
(Эта опция использовать PAE для просмотра более 4 ГБ ОЗУ все еще доступна в 32-битных версиях Server Windows, которые я предполагаю должны предоставить более качественные драйверы для тех типов аппаратного обеспечения, на котором вы запускаете Windows Server.)
PAE должен быть включен по умолчанию – Windows уже использует его внутренне для функции DEP/No-Execute.
Но эти инструкции могут помочь, если Windows снова ведет себя неправильно.
Учтите, что отдельные процессы все еще будут ограничены 4 ГБ, даже если система может получить доступ к большему.
Согласно статье MSDN Physical Address Extension:
Windows автоматически включает PAE, если DEP включен на компьютере, который поддерживает аппаратный DEP или если компьютер настроен на добавление памяти в диапазонах за пределами 4 ГБ. Если компьютер не поддерживает аппаратный DEP или не настроен на добавление памяти в диапазонах выше 4 ГБ, PAE должен быть явно включен.
Для явного включения PAE используйте следующую команду BCDEdit /set для установки опции загрузки pae:
bcdedit /set [{ID}] pae ForceEnable
ЕСЛИ DEP включен, PAE не может быть отключен. Используйте следующие BCDEdit /set команды, чтобы отключить и DEP, и PAE:
bcdedit /set [{ID}] nx AlwaysOff bcdedit /set [{ID}] pae ForceDisable
Windows Server 2003 и Windows XP: Чтобы включить PAE, используйте /PAE переключатель в boot.ini файле. Чтобы отключить PAE, используйте переключатель /NOPAE. Чтобы отключить DEP, используйте переключатель /EXECUTE.
Если ваша система это поддерживает, вы можете использовать виртуализацию, чтобы предоставить доступ к вашим 32-битным драйверам для телефона.
Это будет немного более сложная настройка, но вы можете настроить виртуальную машину, которая установит соединение и осуществит общий доступ к интернету с вашим хостом, таким образом, вы получите преимущества 64 бита, а также сможете использовать устаревшие драйверы.
VMware Workstation (коммерческий), VirtualBox (бесплатно, с открытым исходным кодом) и Windows Virtual PC (бесплатно) могут все напрямую подключать USB-устройства к вашей виртуальной машине. Просто установите 32-битную ОС (даже XP, если хотите), выделите ей небольшое количество ОЗУ, и вы сможете делать, что вам нужно. Я использовал это для загрузки устаревших приложений, которые не поддерживали Windows 7, и мой брат на самом деле загрузил свою старую веб-камеру Creative (без 64-битных драйверов) и использовал Skype через свою виртуальную машину.
Windows 7 32 имеет PAE, который запрещает доступ за пределы отметки 4 ГБ. Смотрите http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx для получения подробностей.
Для людей, которые настаивают на использовании 64 бит – есть некоторые вещи, которые не будут работать в 64-битных окружениях, которые могли бы получить преимущества производительности от диска ОЗУ, который МОЖЕТ получить доступ за пределы 3,25 ГБ в 32-битном окружении – в частности приложения, которые часто используют обмен данными. Вы также можете поместить файл подкачки в упомянутый RAM-диск. Кроме того, виртуальная машина отлична, хотя эмуляция никогда не работает так хорошо, как реальный продукт — все действительно зависит от приложений и способа их реализации. Все еще есть множество аппаратных устройств, которые не будут работать в мире 64 бит и нуждаются в реальном времени для их нормального функционирования (хотя существуют ускорители, которые помогают с доступом в реальном времени, это все равно может вызвать проблемы).
Таким образом, хотя 64 бита технически превосходят, 32 бита – это наследие, которое будет существовать еще долго, и существует множество причин, по которым людям хотелось бы получать доступ к памяти через PAE.
PS: Есть ответ на этот пост, в котором говорится, что размещение файла страницы на RAM-диске не имеет смысла. Позвольте мне объяснить. Если у системы 4 ГБ ОЗУ и вы создаете 2 ГБ RAM-диск и помещаете туда файл подкачки, тогда да, такая конфигурация действительно не имеет смысла. Однако, если у системы 8 ГБ ОЗУ и вы создаете 4 ГБ RAM-диск (получая доступ к дополнительной памяти, которую 32-битная Windows не может достичь) и помещаете туда файл подкачки (и временную папку, и включаете “ReadyBoost” и добавляете любые другие часто используемые файлы), тогда да, скорость увеличивается значительно. И “да” – это ответ, вы можете получить программное обеспечение, которое позволяет создавать RAM-диски выше 4 ГБ ограничения на 32-битных системах.
НЕ ИСПОЛЬЗУЙТЕ ПАТЧ, это просто немецкая тестовая версия Windows, и она испортит вашу загрузочную запись.
Я только что провел час, скачивая easybcd на другой машине, чтобы это исправить.
Будьте осторожны!
Вопрос заключается в том, “Как я могу включить PAE на Windows 7 (32-бит), чтобы поддерживать более 3,5 ГБ ОЗУ”, и ответ заключается в том, чтобы ввести команду в командной строке “bcdedit /set [{ID}] pae ForceEnable”.
Но, вероятно, вопрос стоит переформулировать, как включить и иметь возможность использовать более 3,5 (или 3,25) ГБ ОЗУ в 32-битной системе W7.
Я пробовал PAE на 2 различных настольных материнских платах с идентичными системами: материнская плата Intel® D945GNT с процессором Intel® Pentium® D 3,4 ГГц и 3,00 ГБ доступной ОЗУ, и материнская плата Intel® DG41WV с Intel® E7500 2,93 ГГц и 3,25 ГБ доступной ОЗУ. Обе поддерживают 64 бита и имеют 4 ГБ ОЗУ.
Обе системы включили PAE; затем, используя процедуру, указанную в http://www.jensscheffler.de/using-gavotte-ramdisk-in-windows-7, я установил Gavotte Ram-диск и восстановил 16МБ ОЗУ (ничего) на первой системе, но восстановил все 775МБ, не использованные во второй.
Итак, в RAM-диске второй системы я назначил перемещаемый файл pagesys от 16МБ до 700МБ, и перемещаемый файл pagesys от 16МБ до 3300МБ на разделе другого физического диска системы.
Я доказал 2 факта:
1. Системы предпочли файл подкачки в ОЗУ файлу на жестком диске. Я видел, как он перемещается, растет и уменьшается.
2. Тест с PC Pitstop (изображение прилагается в http://www.pablomolina.net/bench700.png) показывает значительное улучшение скорости диска системы, и система работает гораздо быстрее. В тесте я сравнил файл подкачки 700 МБ в RAM-диске с файлом подкачки 700 МБ в другом разделе того же системного диска.
Вам нужно настроить систему на очистку файла подкачки при выключении с помощью процедуры Microsoft kb/314834.
Для меня, PAE имеет смысл на 32-битной системе и работает. Я не собираюсь переходить на 64-битную систему, так как использую Windows профессионально и накопил более 450 программ за годы, что займет у меня месяцы на переустановку.
Если вы не хотите использовать патч-файлы, вы можете использовать загрузчик. Этот загрузчик можно установить на текущую систему или на USB-флешку. Таким образом, вы можете легко протестировать его, не влияя на вашу систему.
PatchPae2 – https://www.jurasz.de/en/jarek/patchpae2
Этот патч изменяет ntoskrnl.exe, ntkrnlpa.exe, winload.exe, чтобы позволить Windows 7 32-бит использовать более 4 ГБ ОЗУ.
Ответ или решение
Вопрос о том, как включить PAE (Physical Address Extension) в 32-битной версии Windows 7 для поддержки более 3.5 ГБ ОЗУ, актуален для пользователей, которые по разным причинам вынуждены оставаться на 32-битной версии. Несмотря на то, что Windows 7 32-бит имеет лимит в 4 ГБ (обычно доступно около 3.25-3.5 ГБ для использования), PAE может быть использован для доступа к большему объему памяти с помощью патчей, модифицирующих ядро операционной системы.
Шаги для включения PAE в Windows 7 (32-бит)
-
Убедитесь, что ваш компьютер поддерживает PAE. Чтобы использовать PAE, система и процессор должны поддерживать эту технологию. Большинство современных процессоров поддерживают PAE, но всегда стоит проверить документацию для подтверждения.
-
Проверьте, включен ли DEP. Чтобы PAE работал, необходимо, чтобы DEP (Data Execution Prevention) был активирован. В Windows 7 DEP по умолчанию включен. Это можно проверить и изменить в:
- Панель управления → Система и безопасность → Дополнительные параметры системы → Защита от вирусов и угроз.
-
Откройте командную строку с правами администратора.
- Найдите "cmd" в меню Пуск, щелкните правой кнопкой мыши и выберите "Запуск от имени администратора".
-
Включите PAE через команду BCDEdit:
Введите следующую команду:
bcdedit /set PAE ForceEnable
-
Перезагрузите ваш компьютер. Изменения вступят в силу только после перезагрузки системы.
Использование патчей для расширения возможностей PAE
Для того чтобы получить доступ к более чем 4 ГБ ОЗУ, вам потребуется использовать специальный патч для ядра Windows 7, который делает вашу систему более совместимой с PAE. Ниже приведены несколько источников для патчей и инструкций по их применению:
-
Патч GAVOTTE для создания RAM-диска: Этот патч позволяет создать RAM-диск, на который можно переместить файлы подкачки, что значительно ускоряет работу системы. Инструкции и само ПО можно найти здесь.
-
Патч PatchPae2: Этот патч модифицирует файлы
ntoskrnl.exe
,ntkrnlpa.exe
,winload.exe
и позволяет Windows 7 32-бит использовать более 4 ГБ ОЗУ. Ссылка на патч: PatchPae2.
Важно помнить
-
Проблемы с совместимостью драйверов: Включение PAE и использование патчей может вызвать проблемы с драйверами, так как не все драйверы могут корректно работать в пределах PAE. Поэтому перед тем как вносить изменения, рекомендуется создать резервную копию важных данных.
-
Использование 64-битной версии: Если на вашей машине возможно использование 64-битной версии, это будет более простым и надежным решением, так как 64-битная версия Windows не имеет таких ограничений и поддерживает значительно больший объем ОЗУ.
-
Тестирование и опыт: Некоторые пользователи сообщили о положительном опыте после применения патчей для PAE, однако всегда существует риск нестабильной работы системы. Тщательно тестируйте систему после внесения изменений.
Для пользователей, оставшихся на 32-битной версии Windows 7, использование PAE может предоставить возможность более эффективного использования доступной оперативной памяти, если вы готовы внимательно следить за совместимостью программ и драйверов.