Есть ли способ включить более 4 ГБ ОЗУ в 32-битной ОС Windows?

22

Я обновил свой компьютер до 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\{E88DCCE0-11d1-A9F0-00AA0060FA31}.'

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

Wahid Bitar
источник
23
«Многие программы не работают с 64-битной ОС» - не очень веская причина в эпоху виртуальных машин. с VirtualBox (который оказывается бесплатным) вы можете запускать 32-разрядные приложения на виртуальной машине с 32-разрядными окнами в бесшовном режиме (интегрированном в хост-ОС) и вряд ли почувствуете разницу (если вам не нужна полная мощность графики). карта доступна для этих приложений)
Я согласен с Молли. А для 16-битных программ вы можете использовать эмулятор, такой как DOSBox. dosbox.com
Саша Чедыгов
1
Если у вас есть Windows 7 Professional, Enterprise или Ultimate, рассмотреть возможность проверить режим Windows XP: microsoft.com/windows/virtual-pc
Алекс
Я использую много 32-битных программ на Win7 64bit. Они датируются с 1998 по 2001 год. Для большинства из них требуются режимы совместимости. Вы делаете предположение, что это не будет работать, или кто-то сказал вам, что это не будет работать? Вы на самом деле пытались?
кмарш
объявление Edit1: я понял, что вы еще не обновили до 4 ГБ ... так что вы еще не знаете, работает он или нет, верно? Чтобы убедиться, что это работает, вам нужно обновить b / c, есть не только Win, но и ограничения HW. Сделайте обновление, а затем дайте нам более подробную информацию о вашей настройке, если она не работает.
Герд Клима

Ответы:

11

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

Включение PAE

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 .

Dentrasi
источник
1
Я нашел это To explicitly enable PAE, use the following BCDEdit /set command to set the pae boot entry option: bcdedit /set [{ID}] pae ForceEnable на странице MSDN, которую вы предоставили. Но я не знаю, как и где написать эту команду. Не могли бы вы помочь мне, пожалуйста?
Wahid Bitar
5
Если вы не знаете, как это сделать, я настоятельно рекомендую вообще этого не делать , если что-то пойдет не так, вам понадобятся эти знания для спасения вашей системы.
Фоши
4
Переключатель PAE - это не какое-то скрытое чудо и, конечно, не святой Грааль для 32-разрядных систем объемом 4 ГБ (иначе все бы его использовали, верно?). это может вызвать нестабильность системы.
2
Переключатель PAE по-прежнему не позволяет использовать все 4 ГБ ОЗУ. Смотрите мой ответ ниже для решения, которое преодолевает эту проблему.
Прорыв
2
«Некоторые 32-разрядные версии Windows Server, работающие в системах на базе x86, могут использовать PAE для доступа к 64 ГБ или 128 ГБ физической памяти». Этот пост относится ТОЛЬКО к Windows Server - 32-битные версии Windows для настольных ПК будут адресованы только 4 ГБ. Это проблема лицензирования, а не аппаратная или программная проблема, выполнение этой команды не изменит этого факта - msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx .
Натали Адамс
13

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

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

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

Герд Клима
источник
Они говорят, что это проблема X86. Можете ли вы объяснить мне, почему 32-битная OSX не имеет проблем с адресацией 16 Гб в MacPro?
Берт
Кстати, на 8- и 16-битной земле объем оперативной памяти превышал 2 ^ битных байта.
Берт
4
Запись в Википедии для 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-битном режиме. En.wikipedia.org/wiki/Physical_Address_Extension
Герд Клима
1
OSX 32 и Linux Kernel 2.6 32 - это, по сути, 32/64-байтовые операционные системы, использующие в основном 32-битные инструкции, но использующие некоторую 64-битную адресацию памяти, особенно для файловой системы и выделения памяти O / S. Программы, работающие на них, все еще подвержены некоторым 32-битным ограничениям.
Kmarsh
5
Это неверно 32-разрядные версии ядра Linux не являются какой-то странной операционной системой 32/64 байта [sic]. Это 32-разрядные операционные системы, которые, если выбраны правильные параметры, могут использовать PAE для адресации 2 ^ 36 байт памяти, хотя менее 2 ^ 32 на процесс. Если ядро ​​64-битное, оно использует 64-битную адресацию.
ChrisInEdmonton
11

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

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

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

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

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

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

образ

harrymc
источник
Пожалуйста, смотрите мой комментарий выше, Vista и выше сообщат ОБЩУЮ ФИЗИЧЕСКУЮ память в этом окне. Это НЕ общая сумма, которую ОС будет использовать. Во-первых, я уверен, что хак устарел и, вероятно, не будет работать в Vista SP2. Кроме того, 64-битные процессоры являются нормой, поэтому нет причин не использовать 64-битную ОС.
Натали Адамс
@Nathan: Статья, которую я цитировал, очень интересна для чтения. Из того, что я знаю об архитектуре Intel, 32-битной или нет, единственным реальным ограничением должно быть 4 ГБ на приложение .
Harrymc
Я уверен, что это нарушает лицензионное соглашение. Поэтому я бы НЕ рекомендовал устанавливать этот патч.
Натали Адамс
@ Натан Адамс: И я не рекомендовал это.
Harrymc
7

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

Некоторые говорят, что нужно использовать 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
2
Перечитайте мой пост еще раз, пожалуйста, Microsoft имеет этот лимит из-за лицензирования. Я никогда не говорил, что вы не можете использовать более 4 ГБ в 32-битной ОС, вы просто не можете использовать это в настольных версиях Windows. Это факты. «Исправить» это не просто исправление реестра. Вам нужен дизассемблер, шестнадцатеричный редактор, знание сборки и немного удачи.
Натали Адамс
5

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

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

Питер Мортенсен
источник
2
Это неверно Например, 32-битный Linux без проблем поддерживает 4 ГБ ОЗУ. Или, скажем, 64 ГБ ОЗУ, хотя, конечно, с ограничениями на процесс. Черт, некоторые версии 32-битной Windows поддерживают более 4 ГБ ОЗУ. См en.wikipedia.org/wiki/...
ChrisInEdmonton
2
что не так ??? 32-разрядные окна поддерживают до 4 ГБ физической памяти, конец истории (если не ограничен другими факторами, например, «начальными» выпусками), эта таблица, на которую вы ссылаетесь, включает 64-разрядные версии Windows, такие как ранние Windows 2000 Advanced сервер и дата-центр. Выясните свои факты, процитируйте: «Таблица включает в себя некоторые 64-битные версии»
1
«Microsoft Windows 2000 Advanced Server Limited Edition и Windows 2000 Datacenter Server Limited Edition были разработаны для 64-разрядных микропроцессоров Intel Itanium».
1
Windows 2000 Advanced Server использует PAE в 32-разрядных системах для доступа к 8 ГБ ОЗУ. Есть также версия IA-64, но я говорю не о ней.
ChrisInEdmonton
1
ну, меня не волнует эта аргументация или сравнение с экзотическими / устаревшими серверами или * nix операционными системами, ОП заявил, что 32-битная Windows 7 не поддерживает более 3 ГБ ОЗУ, что НЕПРАВИЛЬНО, она поддерживает до 4Гб, понятно? но, чтобы угодить вам, я отредактирую свой ответ соответственно.
3

Просто любопытно, не могли бы вы привести примеры программ, которые не работают на 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-битных драйверов. Аппаратные драйверы должны соответствовать платформе ОС.

churnd
источник
Программное обеспечение Juniper VPN, которое использует мой работодатель, не работает на 64-битной ОС.
Джефф Шатток
2
Программное обеспечение VPN больше подпадает под категорию «драйвер».
churnd
У меня много "арабских" программ, не работающих с 64-битными. Также у меня есть "старое" оборудование, не имеющее 64-битных драйверов.
Вахид Битар
-4

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

  • возьми копию ядра
  • взломать его использовать 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

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

Джейми Китсон
источник