Есть ли способ включить более 4 ГБ оперативной памяти в 32-разрядной ОС Windows?

66516
Wahid Bitar

Я обновил свой компьютер до 4 ГБ оперативной памяти, и я получил только 3 ГБ. 32-разрядная версия Windows 7 учитывает, что у меня 4 ГБ ОЗУ, но не используется более 3 ГБ.

Кто-то сказал мне, что 32-разрядная версия MS Windows не поддерживает ОЗУ объемом более 3 ГБ.

Так что, пожалуйста, есть ли способ заставить мою ОС "Windows 7 32-Bit" поддерживать более 3 ГБ ОЗУ?

* `Примечание: я не могу перейти на 64-битную версию, потому что у меня много программ, которые не работают с 64-битной ОС.

Редактировать::

Я попробовал то, что посоветовал мне мистер Вонсунги, но всякий раз, когда я проверяю эту опцию:

Enable support for 4 GB of RAM

Я получаю следующую ошибку:

'Cannot access to the registry key HKEY_CLASSES_ROOT\CLSID\.'

В моем реестре нет "CLSID", я не знаю почему!

21
«Многие программы не работают с 64-битной ОС» - это не совсем веская причина в эпоху виртуальных машин. с VirtualBox (который оказывается бесплатным) вы можете запускать 32-разрядные приложения на виртуальной машине с 32-разрядными окнами в бесшовном режиме (интегрированном в хост-ОС) и вряд ли почувствуете разницу (если вам не нужна полная мощность вашей графики карта доступна для этих приложений) 14 лет назад 23
Я согласен с Молли. А для 16-битных программ вы можете использовать эмулятор, такой как DOSBox. http://www.dosbox.com/ Sasha Chedygov 14 лет назад 0
Если у вас Windows 7 Professional, Enterprise или Ultimate, рассмотрите возможность проверки режима Windows XP: http://www.microsoft.com/windows/virtual-pc/ alex 14 лет назад 1
Я использую много 32-битных программ на Win7 64bit. Они датируются с 1998 по 2001 год. Для большинства из них требуются режимы совместимости. Вы делаете предположение, что это не сработает, или кто-то сказал вам, что это не сработает? Вы на самом деле пытались? kmarsh 14 лет назад 0
объявление Edit1: я понял, что вы еще не обновили до 4 ГБ ... так что вы еще не знаете, работает он или нет, верно? Чтобы убедиться, что это работает, вам нужно обновить b / c, есть не только Win, но и ограничения HW. Сделайте обновление, а затем предоставьте нам более подробную информацию о вашей настройке, если она ** не ** работает. Gerd Klima 14 лет назад 0
Щедрость удалена и вопрос заблокирован. Пожалуйста, выберите ответ из существующей коллекции. Windows 32Bit не может получить доступ к 4 ГБ, это технически невозможно. Поэтому добавление щедрости не имеет абсолютно никакого значения для этого вопроса. Достаточно объяснений, почему уже дано. BinaryMisfit 14 лет назад 0
@WahidBitar: Как насчет [этого] (http://iknowu.dnsalias.com/files/public/Windows_XP_SP3_Remove_PAE_Limit/Windows_XP_Remove_PAE_Limit.htm «Windows XP SP3 - удаление физического адреса / ОЗУ 4 ГБ и использование до 64 ГБ ОЗУ с использованием ОЗУ до 64 ГБ» )? user2284570 10 лет назад 0

9 ответов на вопрос

13
Gerd Klima

Читать это: Чувак, где мои 4 гигабайта оперативной памяти?

Для общей информации, есть также этот обзор ограничений памяти для каждой версии Windows:

Ограничения памяти для выпусков Windows

Они говорят, что это проблема X86. Можете ли вы объяснить, почему 32-битная OSX не имеет проблем с адресацией 16 Гб в MacPro? bert 14 лет назад 0
Кстати, на 8- и 16-битной земле объем оперативной памяти превышал 2 ^ битных байта. bert 14 лет назад 0
Запись в википедии для PAE (расширение физического адреса) гласит: Mac OS X Mac OS X для Intel Mac поддерживает PAE и бит NX на всех процессорах, поддерживаемых Apple (начиная с 10.4.4 - первый выпуск Intel - далее). Системы Mac Pro и Xserve в настоящее время могут поддерживать 32 ГБ ОЗУ, хотя ядро ​​Mac OS X 10.5 Leopard остается 32-разрядным. В некоторых системах ядро ​​Mac OS X 10.6 Snow Leopard может дополнительно работать в 64-разрядной версии http://en.wikipedia.org/wiki/Physical_Address_Extension Gerd Klima 14 лет назад 4
OSX 32 и Linux Kernel 2.6 32 - это, по сути, 32/64-байтовые операционные системы, использующие в основном 32-битные инструкции, но использующие некоторую 64-битную адресацию памяти, особенно для файловой системы и выделения памяти O / S. Программы, работающие на них, все еще подвержены некоторым 32-битным ограничениям. kmarsh 14 лет назад 1
Это неверно 32-разрядные версии ядра Linux - это не странная операционная система 32/64 байта [sic]. Это 32-разрядные операционные системы, которые, если выбраны правильные параметры, могут использовать PAE для адресации 2 ^ 36 байт памяти, хотя менее 2 ^ 32 на процесс. Если ядро ​​64-битное, оно использует 64-битную адресацию. ChrisInEdmonton 14 лет назад 5
Очень хороший комментарий, ChrisInEdmonton. Я просто хотел бы добавить, что одни и те же ограничения PAE существуют во всех операционных системах Microsoft Windows (отдельные процессы ограничены 2 ^ 32 байтами памяти на процесс или 4 ГБ). Breakthrough 13 лет назад 0
11
Dentrasi

Вы можете использовать PAE, но это не так хорошо, как просто перейти на 64 бит. Проверь это страницу MSDN.

Включение PAE

Windows автоматически включает PAE, если функция DEP включена на компьютере, поддерживающем аппаратную поддержку DEP, или если компьютер настроен для оперативного добавления устройств памяти в диапазонах памяти более 4 ГБ. Если компьютер не поддерживает аппаратную поддержку DEP или не настроен для оперативного добавления устройств памяти в диапазонах памяти более 4 ГБ, PAE должен быть явно включен.

Чтобы явно включить PAE, используйте следующую команду BCDEdit / set для установки опции записи загрузки pae :

bcdedit /set [] pae ForceEnable 

Если DEP включен, PAE нельзя отключить. Используйте следующие команды BCDEdit / set, чтобы отключить DEP и PAE:

bcdedit /set [] nx AlwaysOff bcdedit /set [] pae ForceDisable 

Windows Server 2003 и Windows XP : чтобы включить PAE, используйте ключ / PAE в файле boot.ini . Чтобы отключить PAE, используйте ключ / NOPAE . Чтобы отключить DEP, используйте переключатель / EXECUTE .

Я обнаружил, что `Чтобы явно включить PAE, используйте следующую команду BCDEdit / set для установки опции записи загрузки pae: bcdedit / set [] pae ForceEnable` на предоставленной вами странице MSDN. Но я не знаю, как и где написать эту команду. Не могли бы вы помочь мне, пожалуйста? Wahid Bitar 14 лет назад 1
Если вы не знаете, как это сделать, ** я настоятельно рекомендую вообще этого не делать **, если что-то пойдет не так, вам понадобятся эти знания для спасения вашей системы. Phoshi 14 лет назад 5
Переключатель PAE - это не какое-то скрытое чудо и, конечно, не святой Грааль для 32-разрядных систем объемом 4 ГБ (иначе все бы его использовали, верно?). это может вызвать нестабильность системы. 14 лет назад 4
Переключатель PAE по-прежнему не позволяет использовать все 4 ГБ ОЗУ. Смотрите мой ответ ниже для решения, которое преодолевает эту проблему. Breakthrough 13 лет назад 2
«Некоторые 32-разрядные версии Windows Server, работающие в системах на базе x86, могут использовать PAE для доступа к 64 ГБ или 128 ГБ физической памяти». Этот пост относится ТОЛЬКО к Windows Server - 32-битные версии Windows для настольных ПК будут адресованы только 4 ГБ. Это проблема лицензирования, а не аппаратная или программная проблема, выполнение этой команды не изменит этого факта - http://msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx. Nathan Adams 11 лет назад 2
@ Прорыв: вы НЕПРАВИЛЬНО! по крайней мере для XP SP1 ... user2284570 9 лет назад 0
@ user2284570 в моем ответе четко сказано, что то, что я написал, относится конкретно к Windows 7 **, точно так же, как *** ОС, с которой этот вопрос собирается начать *** ... Breakthrough 9 лет назад 0
@Breakthrough: извините, я просматривал дубликаты этого вопроса. user2284570 9 лет назад 0
11
Breakthrough

Недавно группа программистов выпустила исправление ядра для Windows 7, чтобы разрешить использование более 4 ГБ оперативной памяти под Windows 7. Нажмите здесь, чтобы загрузить исправление или просмотреть дополнительную информацию о нем . Патч в основном модифицирует ядро ​​Windows 7, чтобы оно больше походило на Windows Server 2003 Datacenter Edition, которое совместимо с 8 ГБ ОЗУ в 32-битном режиме.

Патч позволяет расширить PAE до 8 ГБ оперативной памяти под Windows 7 32-разрядной. Дополнительные сведения о том, почему Microsoft применила это техническое ограничение, см. В этой статье .

Обратите внимание, что отдельные процессы будут по-прежнему ограничены 4 ГБ, даже если система может получить доступ к большему количеству ... Хотя, если бы у вас было 8 ГБ ОЗУ, то, по крайней мере, у вас еще было бы еще 4 ГБ для других процессов;)

Я использовал этот патч в течение нескольких месяцев, и не испытал никаких проблем. Некоторые программы (особенно Photoshop) не имеют проблем при использовании большого количества оперативной памяти. :) Breakthrough 13 лет назад 1
Помните, что изменение ваших системных файлов нарушает вашу лицензию на продукт и лишает вас гарантии. kinokijuf 12 лет назад 1
Я хочу присоединиться и сказать, что хак, вероятно, будет работать некоторое время. Но обновление вашей системы, вероятно, будет игрой в русскую рулетку - Microsoft, вероятно, не собирается намеренно закрывать дыру в ядре, но обновление может оставить вашу систему без работы. Nathan Adams 11 лет назад 0
@NathanAdams это не «дыра», это результат лицензированной памяти (см. Статью, на которую я ссылался выше). Этот патч также копирует существующее ядро ​​перед его исправлением, поэтому, если вы беспокоитесь, вы можете просто загрузить Windows * без * патча для запуска Центра обновления Windows. Breakthrough 11 лет назад 0
8
harrymc

Насколько я знаю, 32-битное окно может использовать память до 64 ГБ и может быть взломано для этого.
Этот хак полностью описан здесь: Лицензионная память в Windows Vista .
(Примечание: я не советую никому пробовать это на самом деле.)
Это также делает интересным чтение, поскольку оно очень хорошо объясняет все вовлеченные концепции.
Я воспроизвожу ниже его изображение концепции.

32-разрядные выпуски Windows Vista ограничены 4 ГБ не из-за каких-либо физических или технических ограничений в 32-разрядных операционных системах. 32-разрядные версии Windows Vista содержат код для использования физической памяти объемом более 4 ГБ. Microsoft просто не дает вам лицензию на использование этого кода.

образ

Пожалуйста, смотрите мой комментарий выше, Vista и выше сообщат ОБЩУЮ ФИЗИЧЕСКУЮ память в этом окне. Это НЕ общая сумма, которую ОС будет использовать. Во-первых, я уверен, что хак устарел и, вероятно, не будет работать в Vista SP2. Кроме того, 64-битные процессоры являются нормой, поэтому нет причин не использовать 64-битную ОС. Nathan Adams 14 лет назад 0
@Nathan: Статья, которую я цитировал, очень интересна для чтения. Из того, что я знаю об архитектуре Intel, 32-битной или нет, единственным реальным ограничением должно быть 4 ГБ _per-application_. harrymc 14 лет назад 0
РЕДАКТИРОВАТЬ: См. [32-разрядная версия Windows 7 с полной поддержкой ОЗУ 4 ГБ или 8 ГБ] (http://www.unawave.de/windows-7-tipps/32-bit-ram-barrier.html?lang=EN) , harrymc 12 лет назад 0
Я уверен, что это нарушает лицензионное соглашение. Так что я бы не советовал устанавливать этот патч. Nathan Adams 12 лет назад 0
@ Натан Адамс: И я не рекомендовал это. harrymc 12 лет назад 0
7
Nathan Adams

Ответ на этот вопрос действительно «зависит от того, кого вы спрашиваете».

Некоторые говорят, что нужно использовать PAE, что позволит вам использовать адрес более 4 ГБ, НО Microsoft НЕ позволит вам использовать многие 32-битные версии Windows.

http://msdn.microsoft.com/en-gb/library/aa366778(VS.85).aspx
В следующей таблице указаны ограничения физической памяти для Windows 7.

Физический лимит 4ГБ, точка. Это проблема лицензирования. Может даже случиться «взлом», позволяющий использовать более 4 ГБ, но я не помню.

Обращаем ваше внимание: Vista и Windows 7 на 32-битной системе будут сообщать ОБЩУЮ ФИЗИЧЕСКУЮ ОЗУ, имеющуюся в вашей Системе, но она будет использовать ТОЛЬКО 4 ГБ. Таким образом, при загрузке 16 ГБ на компьютере с 32-разрядной ОС Windows будет использоваться только 4 ГБ согласно MICROSOFT, даже если на панели управления «Система» будет отображаться 16 ГБ. Windows 7, Vista и XP 32bit будут использовать только 4 ГБ ОЗУ, это факт. Однако некоторые версии Windows Server будут использовать более 4 ГБ с включенным PAE.

Для тех, кто говорит «ваш неправильный PAE позволит вам использовать более 4 ГБ», да, я согласен, однако, Microsoft говорит, что вы можете использовать только 4 ГБ на большинстве 32-битных настольных ОС, так что если вы чувствуете, что страница ошибочна, отправьте их по электронной почте или позвоните им, чтобы жаловаться.

4Гб это искусственный лимит. Аппаратное обеспечение Intel может обрабатывать гораздо больше. Даже 32-разрядная операционная система, выделяющая память на страницах размером 4 КБ и предполагающая, что она хранит номер страницы в 32-разрядном целом числе, может легко обрабатывать 4 ГБ х 4 К = 16 ТБ. Для каждого приложения ограничение адресации байтов для 32-разрядного регистра составляет 4 ГБ. Так что, если MS говорит 4ГБ для ОС, это просто маркетинговый обман, подкрепленный простым ограничением, которое приведенная в моем ответе статья локализовала для очень немногих аппаратных инструкций в ядре. harrymc 14 лет назад 0
Перечитайте мой пост еще раз, пожалуйста, Microsoft имеет этот лимит из-за лицензирования. Я никогда не говорил, что вы не можете использовать более 4 ГБ в 32-битной ОС, вы просто не можете использовать это в настольных версиях Windows. Это факты. «Исправить» это не просто исправление реестра. Вам нужен дизассемблер, шестнадцатеричный редактор, знание ассемблера и немного удачи. Nathan Adams 14 лет назад 2
5
Peter Mortensen

Кто-то сказал мне, что 32-разрядная версия MS Windows 7 не поддерживает ОЗУ объемом более 3 ГБ.

Кто-то не прав 32-разрядные настольные операционные системы Windows поддерживают до 4 ГБ физической памяти. Однако из-за аппаратных ограничений архитектуры x86 для ОС доступно только 3,5 ~ ГБ, если установлено 4 ГБ.

Это неверно Например, 32-битный Linux без проблем поддерживает 4 ГБ ОЗУ. Или, скажем, 64 ГБ ОЗУ, хотя, конечно, с ограничениями на процесс. Черт, некоторые версии 32-битной Windows поддерживают более 4 ГБ ОЗУ. См. Http://en.wikipedia.org/wiki/Physical_Address_Extension#Microsoft_Windows ChrisInEdmonton 14 лет назад 2
что не так ??? 32-разрядные окна поддерживают до 4 ГБ физической памяти, конец истории (если не ограничен другими факторами, например, «начальными» выпусками), эта таблица, на которую вы ссылаетесь, включает 64-разрядные версии Windows, такие как ранние Windows 2000 Advanced сервер и дата-центр. Выясните свои факты, процитируйте: «Таблица включает в себя некоторые 64-битные версии» 14 лет назад 2
«Microsoft Windows 2000 Advanced Server Limited Edition и Windows 2000 Datacenter Server Limited Edition были разработаны для 64-разрядных микропроцессоров Intel Itanium». 14 лет назад 1
OSX может работать с 16Gb на 32-битной версии ОС без проблем. Это только ограничивает объем оперативной памяти на приложение до 4 ГБ. bert 14 лет назад 0
Windows 2000 Advanced Server использует PAE в 32-разрядных системах для доступа к 8 ГБ ОЗУ. Есть также версия IA-64, но я говорю не о ней. ChrisInEdmonton 14 лет назад 1
ну, меня не волнует эта аргументация или сравнения с экзотическими / устаревшими серверами или * nix операционными системами, ОП заявил, что 32-битная Windows 7 не поддерживает более 3 ГБ ОЗУ, что НЕПРАВИЛЬНО, она поддерживает до 4Гб, понятно? но, чтобы угодить вам, я отредактирую свой ответ соответственно. 14 лет назад 1
Я не знаю, почему это было отклонено, информация верна. +1 Sasha Chedygov 14 лет назад 0
Информация верна сейчас, но не была, когда она была первоначально размещена. ChrisInEdmonton 14 лет назад 0
Ну в основном правильно. 32-разрядные настольные системы могут использовать более 3,5 ГБ памяти, если установлено 4 ГБ, Microsoft просто больше не использует PAE. Это дизайнерское решение Microsoft, основанное на законных проблемах, а не на аппаратном ограничении архитектуры x86. ChrisInEdmonton 14 лет назад 1
«Чтобы быть совершенно ясным, это не проблема Windows - это проблема аппаратного обеспечения x86». http://www.codinghorror.com/blog/archives/000811.html 14 лет назад 0
Молли, вы берете эту цитату из контекста. Это говорит об дыре в памяти. Речь не идет о 32-разрядной ОС, использующей более 4 ГБ физической ОЗУ, что ВОЗМОЖНО ВОЗМОЖНО, потому что некоторые 32-разрядные операционные системы, такие как Linux, МОГУТ И ДОЛЖНЫ использовать более 4 ГБ в 32-разрядном режиме с PAE включенные ядра. ChrisInEdmonton 14 лет назад 0
это так? ну, тогда я предлагаю вам написать собственный ответ и объяснить оператору, как он «МОЖЕТ И ДЕЛАТЬ использовать более 4 ГБ в 32-битном режиме с поддержкой PAE» в «MS Windows 7» ... который я думаю (но не стесняйтесь меня поправлять) - тема этой темы. если вы найдете подходящее решение, я с удовольствием поддержу ваш ответ. :) 14 лет назад 0
Нет, нет, не может сделать в 32-битной Windows 7, как вы правильно указали. Windows 7 не использует PAE. Я хочу сказать, что это не предел для 32-битной архитектуры x86 (по крайней мере, с 1994 года), потому что другие операционные системы работают нормально. Это действительно предел того, как Microsoft разработала свои настольные операционные системы Windows. Разумеется, это педантичный момент, и PAE - это не волшебная пуля даже для тех операционных систем, которые его поддерживают. В наши дни сложно представить себе не просто переход на 64-битную архитектуру. Я _long_ назад снял свой отрицательный голос за ваш ответ, кстати. ChrisInEdmonton 14 лет назад 1
как я прокомментировал здесь другой ответ, PAE, безусловно, не является святым Граалем и никогда не предназначался для использования на рабочих станциях по разным причинам. :) 14 лет назад 0
«Чтобы быть совершенно ясным, это не проблема Windows - это проблема аппаратного обеспечения x86. Отверстие памяти буквально невидимо для процессора, независимо от того, какую 32-разрядную операционную систему вы выберете. Следующая диаграмма от Intel иллюстрирует просто где дыра в памяти: "... http: //www.asisupport.com/ts_4GB_memory_info.htm Moab 13 лет назад 0
Для всех вас это НЕ аппаратная проблема (неужели так сложно реализовать расширение программного адреса?). Смотрите мой ответ на этот вопрос, который ДОКАЗЫВАЕТ, что это ограничение программного обеспечения, так как он включает ВРЕМЕННОЕ РЕШЕНИЕ. Breakthrough 13 лет назад 0
3
churnd

Просто любопытно, не могли бы вы привести примеры программ, которые не работают на 64-битных окнах? 64-битная Windows, так как Windows XP имеет превосходную обратную совместимость с 32-битными программами. Проверьте 5-й вопрос на этой странице: h ttp: //windows.microsoft.com/en-US/windows-vista/32-bit-and-64-bit-Windows-frequently-asked-questions . Взять, к примеру, Microsoft Office, он 32-битный, но отлично работает на 64-битной Windows.

Единственный раз, когда вы не захотите переходить на 64-битную версию, это если у вас есть оборудование, у которого нет 64-битных драйверов. Аппаратные драйверы должны соответствовать платформе ОС.

Программное обеспечение Juniper VPN, которое использует мой работодатель, не работает на 64-битной ОС. Jeff Shattock 14 лет назад 0
Программное обеспечение VPN больше подпадает под категорию «драйвер». churnd 14 лет назад 2
У меня много "арабских" программ, не работающих с 64-битными. Также у меня есть "старое" оборудование, у которого нет 64-битных драйверов. Wahid Bitar 14 лет назад 0
1
cszolee

Этот патч работает или так кажется.

До патча я мог использовать 3gb из 4gb, и теперь все 4gb доступны.

Вот патч:

http://www.pallab.net/2009/12/30/enable-more-than-4gb-memory-in-windows-vista-7/

Вот скриншот (венгерский Windows 7 Ultimate):

-4
Jamie Kitson

Ссылка ниже устанавливает способ

  • возьми копию ядра
  • взломать его использовать 4 Гб и выше оперативной памяти (редактировать шестнадцатеричные строки 7C 11 8B 45 FC 85 C0 74 0Aи 7C 10 8B 45 FC 85 C0 74 09к 7C 10 B8 00 00 02 00 90 90и, 7C 10 B8 00 00 02 00 90 90соответственно)
  • подпишите его makecert -r -ss my -n "CN=My Cert"иsigntool sign -s my -n "My Cert" ntkl64g.exe
  • и добавить его в качестве дополнительного параметра загрузки с bcdedit

в очень четкой и прямой путь

http://www.evga.com/forums/tm.aspx?m=960087&mpage=1&print=true

Который работал для меня.