Как включить PAE в Windows 7 (32-разрядная версия) для поддержки более 3,5 ГБ ОЗУ?

37

Я знаю, что 32-разрядная версия Windows XP может быть настроена через PAE для поддержки более 3,5 ГБ ОЗУ. Есть хороший учебник, чтобы сделать это с Windows 7 32-разрядной?

Что касается того, почему я не просто использую 64-битную Windows 7: программное обеспечение для моего интернет-соединения (сотовый телефон как модем) будет работать только в 32-битных средах.

Niphoet
источник
Если вы не используете приложения, специально предназначенные для использования преимуществ 36-разрядных расширений PAE в ЦП и API-интерфейсе AWE, использование переключателя PAE абсолютно бесполезно.
17
Молли: На самом деле, есть смысл в PAE, даже если приложения не знают о 36-битной адресации. Даже если каждое приложение имеет доступ только к 2 ГБ памяти, вы можете запустить несколько приложений, каждое из которых имеет свои 2 ГБ.
Davr
@ Molly7244 AWE и PAE не имеют ничего общего друг с другом. И есть смысл использовать PAE без расширенного ОЗУ, то есть включить аппаратную защиту от неисполнения. На процессоре x86 нет NX без PAE.
Джейми Ханрахан
@JamieHanrahan AWE использует PAE.
Ctrl-Alt-Delor
@ ctrl-alt-delor Извините, но это явно недоразумение, потому что AWE работает на 32-битных системах Windows, в которых не включен PAE. Черт, AWE даже работает в системах, где PAE даже не подходит (x64, ARM, Itanium - эти процессоры не поддерживают PAE). Это правда, что в 32-разрядной системе Windows x86 без включенного PAE приложение с поддержкой AWE не найдет много оперативной памяти, чтобы можно было открывать «окна», но оно будет работать в пределах доступной оперативной памяти. AWE совсем не зависит от PAE; просто на x86 поддержка PAE + более 4 ГБ ОЗУ даст больше оперативной памяти для работы AWE (и всего остального).
Джейми Ханрахан,

Ответы:

24

Несколько лет назад группа программистов выпустила исправление ядра для Windows 7, чтобы разрешить использование более 4 ГБ оперативной памяти под Windows 7. В последнее время из-за того, что некоторые антивирусные сканеры обнаруживали исправление как ложное срабатывание , загрузка была удалено с сайта. К счастью, я сохранил копию патча (который использует ядро ​​RTM Windows 7) и загрузил его на мой сайт здесь (см. Вариант № 1, когда я обсуждаю два метода исправления ядра Windows). Кроме того, авторы опубликовали инструкции о том, как патчить ваше ядро вручную.

Даже если у вас Windows 7 SP1 (сборка 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 для краткости). Это позволяет ЦП получать доступ как к периферии, так и к ОЗУ через саму адресную шину. Обычно это делается через адреса памяти высшего порядка, чтобы избежать конфликтов адресов низкого порядка. Однако это привело к появлению общеизвестного барьера памяти объемом 3 ГБ во всех пользовательских вариантах 32-разрядных операционных систем Windows.

Прорвать
источник
4
Предупреждение: эта первая ссылка имеет некоторый контент NSFW.
Джон Зигель
Предупреждение добавлено в ответ, спасибо. Я даже не заметил этого: S
Прорыв
Любая информация о том, работает ли это хорошо или ненадежно?
Марк Гибо
1
@Mark Gibaud Я использовал его в течение года без проблем. У меня было только 4 ГБ ОЗУ, но я смог использовать все это. Обратите внимание, что патч изменяет ядро ​​Windows, поэтому я сделаю резервную копию, прежде чем вы исправите свою систему. При этом у меня никогда не возникало проблем (я несколько раз без проблем применил исправление на настольном компьютере и ноутбуке, даже после того, как все было установлено).
Прорыв
1
@Breakthrough: это удивительно. Вы случайно не знаете, как заставить XP делать нечто подобное?
Мердад
17

В этой статье на сайте MSDN корпорации Майкрософт показано ограничение памяти для версий Windows, а 32-разрядная версия Windows 7 указана как ограничение 4 ГБ.

Раньше вы имели возможность использовать PAE для просмотра более 4 ГБ ОЗУ с Windows XP, но эта опция была отключена в пакете обновления 2 .

Причина заключалась в том, что большинство водителей не знали PAE и выбрасывали свои игрушки из коляски, если они оказались в памяти выше границы 4 ГБ.

Если вы сейчас используете этот /PAEпереключатель в Windows XP, вы сделаете DEP доступным, но не сможете увидеть более 4 ГБ ОЗУ.

Этот предел 4 ГБ все еще действует для 32-разрядной версии Windows 7. Если вы хотите увидеть более 4 ГБ ОЗУ, вам придется использовать 64-разрядную версию Windows.

(Этот вариант использования PAE для просмотра более 4 ГБ ОЗУ по-прежнему доступен в 32-разрядных версиях Windows для сервера, который, как я полагаю, обусловлен более высоким качеством драйверов, ожидаемым для типа оборудования, на котором будет работать Windows Server. )

Дэйв Уэбб
источник
2
Я думаю, что поддержка Сервера меньше благодаря лучшему качеству драйверов и больше благодаря тому, что системные администраторы смогут справиться с ситуацией намного лучше, чем мама.
Уилл Эддинс
1
«Причина в том, что большинство водителей не знали PAE и выбрасывали свои игрушки из коляски, если они оказались в памяти выше границы 4 ГБ». - Применимо ли это к Windows 7 32bit (с использованием взлома ядра)?
Марк Гибо
2
Великий Марк Руссинович объясняет обоснование ограничений памяти клиента и сервера под окнами в своей серии публикаций в блоге «Расширение границ Windows». blogs.technet.com/b/markrussinovich/archive/2008/07/21/...
ElvisFanTCB
Включает ли аппаратное ограничение ограничение 4 Гб в Windows7? Я установил PAE и получил около 3,15 ГБ. Имеется ли около 1 ГБ (потенциального) оборудования, использующего остальное и блокировка MS-Windows более 4 ГБ. На Gnu / Linux я получаю все 4 ГБ.
Ctrl-Alt-Delor
@richard - ограничение адреса включает в себя адресное пространство, необходимое для другого оборудования, наиболее заметных графических карт, которые могут съесть большую часть 4 ГБ.
Дэйв Уэбб
3

Согласно статье MSDN Расширение физического адреса :

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 .

Der Hochstapler
источник
2

PAE должен быть включен по умолчанию - Windows уже использует его внутри для функции DEP / No-Execute .

Но эти инструкции могут помочь, если Windows снова сделает свое дело.


Обратите внимание, что отдельные процессы будут по-прежнему ограничены 4 ГБ, даже если система может получить доступ к большему количеству.

grawity
источник
Эта ссылка неверна. 32-разрядная версия Vista использует только PAE для DEP и не позволяет видеть более 4 ГБ ОЗУ. support.microsoft.com/kb/929605
Дэйв Уэбб,
Но Niphoet (спрашивающий) использует Windows 7 с ограничением в 8 ГБ (Home Basic; еще больше в других версиях).
Гравитация
@ Grawity: да, это 8 ГБ, если вы используете 64-битную Windows 7. Ограничение по-прежнему 4 ГБ в 32-битной Windows 7.
Джошуа
2

Если ваша система может это поддерживать, вы можете использовать виртуализацию, чтобы разрешить доступ к вашим 32-битным драйверам телефона.

Это будет немного более сложная установка, но вы можете настроить виртуальную машину, которая установила соединение и делит интернет-соединение с вашим хостом, таким образом вы получите преимущества 64-битной системы, а также сможете использовать устаревшие драйверы.

Рабочая станция VMware (коммерческая), VirtualBox (бесплатно, с открытым исходным кодом) и Windows Virtual PC (бесплатно) могут направлять USB-устройства непосредственно на вашу виртуальную машину. Просто установите 32-битную ОС (даже XP, если хотите), выделите ей небольшой объем оперативной памяти, и вы сможете делать то, что вам нужно. Я сделал это для загрузки устаревших приложений, не поддерживающих Windows 7, и мой брат фактически загрузил свою старую веб-камеру Creative (без 64-разрядных драйверов) и использовал Skype через свою виртуальную машину.

Джошуа
источник
У него есть для Windows 7 ... Вы полностью забыли упомянуть «режим XP», который является новая функция виртуализации бесплатно включена в Windows 7.
Davr
Я непосредственно не упомянул режим XP, так как они не сказали, работают ли они на 7 Professional или Ultimate (он недоступен для других SKU) :)
Джошуа
2

Windows 7 32 имеет PAE, запрещающий доступ за отметкой 4 ГБ. См. Http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx для получения подробной информации.

Для тех, кто настаивает на использовании 64-разрядных систем - есть некоторые вещи, которые не будут работать в 64-разрядных средах, которые могут принести выгоду производительности от оперативного диска, который МОЖЕТ получить доступ после отметки 3,25 в 32-разрядной среде, в частности, приложения, которые на странице довольно часто. Вы также можете поместить файл подкачки в указанный виртуальный диск. Кроме того, виртуальная машина великолепна, однако эмуляция никогда не работает так хорошо, как реальная вещь - все зависит от приложения и способа его реализации. Все еще есть много аппаратных устройств, которые не будут работать в 64-битном мире, и им нужен доступ в реальном времени, чтобы заставить их работать хорошо (хотя есть ускорители, которые помогают с доступом в реальном времени, это все еще может представлять проблемы).

Таким образом, хотя 64-битная технология технически лучше, 32-битная - это наследие, которое уйдет на некоторое время, и будет множество причин, по которым люди хотели бы получить доступ к памяти через PAE.

PS: есть ответ на этот пост, в котором говорится, что размещение файла подкачки на RAM-диске не имеет смысла. Позволь мне объяснить. Если в системе имеется 4 ГБ ОЗУ, а вы создаете диск 2 ГБ и помещаете туда файл подкачки, то да, эта конфигурация не имеет смысла. Однако, если в системе имеется 8 ГБ ОЗУ, и вы делаете диск 4 ГБ ОЗУ (обращаясь к дополнительной памяти, недоступной 32-битной Windows), помещаете файл подкачки (и временную папку, включаете «ReadyBoost» и добавляете любые другие часто используемые файлы). файлы), тогда да, скорость очень значительная. И «да» является ответом, вы можете получить программное обеспечение, которое позволяет создавать диски ОЗУ свыше 4 ГБ в 32-битных системах.

Сообщество
источник
5
Размещение вашего файла подкачки на RAM-диске не имеет смысла.
ElvisFanTCB
Размещение вашего файла подкачки на RAM-диске не имеет смысла, только если в системе нормально доступно ОЗУ, а это не так.
Войтех Доннал
2

НЕ ИСПОЛЬЗУЙТЕ PATCH, это просто немецкая тестовая версия Windows, и она испортит вашу загрузочную запись.

Я только что потратил час на скачивание easybcd на другую машину, чтобы это исправить.

Имейте в виду!

Ste
источник
«Патч» довольно просто сделать самостоятельно, и вам не нужен «easybcd» для исправления загрузочных записей: довольно просто исправить загрузочную запись с помощью bcdedit.exe ... RTFM
Eddie B
1

Вопрос заключается в том, «Как включить 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 ГБ оперативной памяти.

2 системы включили PAE; затем, используя процедуру, указанную в http://www.jensscheffler.de/using-gavotte-ramdisk-in-windows-7, я установил диск Gavotte Ram и восстановил 16 МБ Ram (ничего) в первой системе, но восстановил все 775 МБ не используется для второго.

Итак, на диске Ram второй системы я назначил ему подвижный файл pagesys размером от 16 МБ до 700 МБ и подвижные страницы размером от 16 МБ до 3300 МБ в разделе другого физического диска системы.

Я доказал 2 факта: 1. Системы предпочли файл подкачки Ram вместо файла на жестком диске. Я видел, как он двигался, рос и уменьшался. 2. Сравнительный тест с ПК Pitstop (изображение прилагается на http://www.pablomolina.net/bench700.png ) показывает значительное улучшение скорости системного диска, и система работает довольно быстро. На стенде я сравнил файл подкачки объемом 700 МБ на диске Ram с файлом подкачки объемом 700 МБ в другом разделе того же системного диска.

Вы должны настроить систему на очистку файла подкачки при завершении процедуры Microsoft kb / 314834.

Для меня PAE имеет смысл в 32-битной системе и работает. Я не буду использовать 64-битную систему, так как я профессионально использую Windows и накопил 450 программ за несколько лет, а на переустановку у меня уйдут месяцы.

Пабло Молина
источник
1

Если вы не хотите патчить файлы, вы можете использовать загрузчик . Этот загрузчик может быть установлен в текущей системе или на USB-накопителе. Таким образом, вы можете легко проверить это, не влияя на вашу систему.

введите описание изображения здесь

magicandre1981
источник