- На компьютерах с Windows 7 объем доступной памяти может быть меньше, чем объем установленной
- Проблема
- Причина
- Что попробовать предпринять
- Проверьте параметры конфигурации системы
- Обновление BIOS системы
- Проверка параметров настройки BIOS
- Проверка возможных проблем с установленными модулями памяти
- Дополнительная информация
- Состояние памяти в Windows 7
- Учет памяти в Windows 7
- Ограничения физической памяти в Windows 7
- Ограничения Windows 7 Starter и Home Basic
- Срочная диагностика
- Бесплатный выезд
- Фирменная гарантия
- Прыгаем выше крыши — убираем 4 ГБ лимит доступной физической памяти в Windows 7 x86
- Описание патча 32-разрядного ядра Windows
- Контрольная сумма
- Цифровая подпись
- Загрузка Windows с модифицированным ядром
- Программы модификации 32-разрядного ядра и загрузки Windows с поддержкой 128 гигабайт оперативной памяти
- Вопросы безопасности и отмены сделанных изменений
На компьютерах с Windows 7 объем доступной памяти может быть меньше, чем объем установленной
Проблема
На компьютере с ОС Windows 7 объем доступной памяти (ОЗУ) может быть меньше, чем объем установленной.
Например, 32-разрядная версия Windows 7 может сообщать, что на компьютере с установленным объемом памяти в 4 ГБ доступно только 3,5 ГБ системной памяти.
Другой пример: 64-разрядная версия Windows 7 может сообщать, что на компьютере с установленным объемом памяти в 8 ГБ доступно только 7,1 ГБ системной памяти.
Примечание. Указанные в примерах объемы доступной памяти не являются точными. Объем доступной памяти вычисляется путем вычитания объема зарезервированной оборудованием памяти из общего объема физической памяти.
Чтобы узнать объемы установленной и доступной памяти в Windows 7, выполните следующие действия.
Нажмите кнопку Пуск, щелкните правой кнопкой мыши значок Компьютер, затем выберите пункт Свойства.
Обратите внимание на значение, указанное в поле Установленная память (ОЗУ) раздела Система. Например, если там указано 4,00 ГБ (3,5 ГБ свободно), это значит, что из 4 ГБ установленной памяти доступно 3,5 ГБ.
Причина
Это предусмотренная ситуация, возникающая на компьютерах с ОС Windows 7. То, насколько сократится объем доступной системной памяти, зависит от ряда факторов:
Установленных на компьютере устройств и памяти, зарезервированной ими.
Способности системной платы к обработке памяти.
Версии и конфигурации BIOS системы.
Установленной версии Windows 7 (например, ОС Windows 7 Начальная поддерживает только 2 ГБ установленной памяти).
Других параметров системы.
Например, при наличии видеоадаптера с 256 МБ собственной памяти эта память должна отображаться в первых 4 ГБ адресного пространства. Если на компьютере уже установлено 4 ГБ системной памяти, часть адресного пространства должна быть зарезервирована для отображения памяти видеоадаптера. Для отображения памяти видеоадаптера используется часть системной памяти. В результате общий объем системной памяти, доступной операционной системе, сокращается.
Дополнительные сведения о том, как определить, каким образом на компьютере используется память, см. в подразделе «Выделение физической памяти в Windows 7» раздела «Дополнительные сведения».
Что попробовать предпринять
Существует еще несколько ситуаций, при которых объем доступной оперативной памяти меньше ожидаемого. Далее перечислены проблемы и их возможные решения.
Проверьте параметры конфигурации системы
Эта проблема может возникнуть, если по ошибке был выбран параметр Максимум памяти. Чтобы его отключить, выполните следующие действия:
Нажмите кнопку Пуск, введите запрос msconfig в поле Найти программы и файлы, затем выберите пункт msconfig в списке Программы.
В окне Конфигурация системы нажмите Дополнительные параметры на вкладке Загрузка.
Снимите флажок Максимум памяти и нажмите кнопку OK.
Обновление BIOS системы
Проблема может возникнуть, если на компьютере установлена BIOS устаревшей версии. При использовании устаревшего компьютера система может не иметь возможности получить доступ ко всей установленной оперативной памяти. В таком случае нужно обновить BIOS системы до последней версии.
Чтобы обновить BIOS на компьютере, посетите веб-сайт производителя компьютера и загрузите обновление BIOS. Или обращайтесь за помощью к производителю компьютера.
Проверка параметров настройки BIOS
Проблема может возникнуть из-за неправильных настроек некоторых параметров BIOS.
Включение перераспределения памяти
Проверьте, включено ли перераспределение памяти в параметрах BIOS. Перераспределение памяти дает Windows доступ к большему объему памяти. Перераспределение памяти можно включить в BIOS, вызвав меню BIOS при загрузке. Чтобы узнать, как вызвать это меню, см. руководство пользователя, поставляемое с компьютером. Точное название функции перераспределения памяти зависит от поставщика оборудования. Она может называться «перераспределение памяти», «расширение памяти» или иметь другое схожее название. Следует иметь в виду, что ваш компьютер может не поддерживать перераспределение памяти.
Изменение размера видеоапертуры AGP в параметрах BIOS
Просмотрите параметры BIOS и узнайте, сколько памяти выделено для видеоапертуры AGP. Это объем памяти, который система делит с видеоадаптером, используемым для отображения текстур и отрисовки. Данный объем памяти не будет использоваться системой, так как он заблокирован видеоадаптером. Размер видеоапертуры AGP можно настроить в параметрах BIOS. Стандартные значения: «32 МБ», «64 МБ», «128 МБ» и «Авто». После изменения этого параметра в BIOS перезагрузите компьютер, а затем проверьте объем доступной памяти. Можно попробовать применить каждый из параметров, чтобы посмотреть, какой из них даст лучший результат.
Проверка возможных проблем с установленными модулями памяти
Проблема может возникнуть из-за неполадок в установленных физических модулях памяти.
Проверка на наличие поврежденных модулей памяти
Чтобы проверить ПК на наличие этой проблемы, выключите компьютер, отключите его от сети, а затем поменяйте местами модули памяти.
Проверка расположения модулей памяти
Чтобы определить, в каком порядке модули памяти должны быть установлены в гнезда, см. руководство пользователя, поставляемое с компьютером. Если вы не используете все гнезда для модулей памяти, может требоваться использовать строго определенные. Например, в компьютере есть четыре гнезда для модулей памяти. Возможно, потребуется задействовать гнездо 1 и гнездо 3, если вы хотите установить только два модуля.
Используются ли платы-концентраторы для модулей памяти?
Если вы используете плату-концентратор для модулей памяти (плату, в которую можно установить несколько модулей памяти и которая при этом устанавливается в одно гнездо для модуля памяти), может потребоваться дополнительная настройка системы. И объем доступной памяти может быть меньше, чем ожидалось.
Дополнительная информация
В следующих разделах приведены дополнительные сведения об указанном в мониторе ресурсов выделении памяти, описываются используемые термины, а также дана дополнительная информация об учете памяти и ее ограничениях в Windows 7.
В следующей таблице указано, на какие категории монитор ресурсов распределяет память, установленную на компьютере с операционной системой Windows 7.
Память, зарезервированная для использования BIOS и некоторыми драйверами других периферийных устройств.
Память, используемая процессами, драйверами или операционной системой.
Память, содержимое которой должно быть перемещено на диск перед использованием по другому назначению.
Память, содержащая неиспользуемые кэшированные данные и код.
Память, не содержащая никаких важных данных. Именно она будет использоваться в первую очередь, если процессам, драйверам или операционной системе потребуется больший объем памяти.
Примечание. Чтобы узнать, каким образом распределена установленная память в Windows 7, выполните следующие действия.
Нажмите кнопку Пуск, введите запрос монитор ресурсов в поле Найти программы и файлы, затем выберите пункт Монитор ресурсов в списке Программы.
Перейдите на вкладку Память и просмотрите раздел Физическая память внизу страницы.
Состояние памяти в Windows 7
В следующей таблице даются определения состояниям установленной на компьютере с Windows 7 памяти, указанным в мониторе ресурсов.
Объем памяти (включая зарезервированную и свободную память), доступный для использования процессами, драйверами и операционной системой.
Объем памяти (включая зарезервированную и измененную память), содержащий кэшированные данные и код для быстрого доступа со стороны процессов, драйверов и операционной системы.
Объем физической памяти, доступной операционной системе, драйверам устройств и процессам.
Объем физической памяти, установленной на компьютере.
Учет памяти в Windows 7
В Windows 7 ведется учет объема физической памяти, установленной на компьютере. Операционные системы на основе Windows NT до Windows Vista с пакетом обновления 1 (SP1) сообщают об объеме памяти, доступной операционной системе. Учитываемый объем памяти в более ранних версиях Windows не включает в себя память, зарезервированную оборудованием. Это изменение связано только с учетом.
В Windows Vista с пакетом обновления 1 (SP1) и более поздних версиях Windows вы заметите изменения в учете памяти в следующих местах:
Значение ОЗУ в Центре начальной настройки
Значение Памяти в нижней части окна «Мой компьютер»
Значение Память в окне «Свойства системы»
Значение Суммарный объем системной памяти на странице Отображение и печать подробных сведений элемента Информация и средства производительности на Панели управления
Кроме того, компонент «Сведения о системе» (Msinfo32.exe) выводит на экран следующие записи на странице Сводные сведения о системе:
установленная физическая память (ОЗУ);
полный объем физической памяти;
доступная физическая память.
Учет памяти в следующих средствах диагностики не изменился:
Вкладка Производительность в диспетчере задач
Если объем физически установленной на компьютере оперативной памяти равен объему адресного пространства, поддерживаемому набором микросхем, общий объем системной памяти, доступной операционной системе, будет всегда меньше объема физической памяти.
Предположим, что в компьютере используется набор микросхем Intel 975X, поддерживающий 8 ГБ адресного пространства. Если установить 8 ГБ ОЗУ, объем системной памяти, доступной операционной системе, сократится из-за памяти, необходимой для конфигурации шины PCI. В данном случае для конфигурации шины PCI потребуется примерно от 200 МБ до 1 ГБ памяти, и именно на эту величину сократится объем памяти, доступный операционной системе. Реальный объем доступной памяти зависит от конфигурации.
Ограничения физической памяти в Windows 7
В следующей таблице указаны ограничения, распространяющиеся на объем физической памяти в различных версиях Windows 7.
Ограничения Windows 7 Starter и Home Basic
ДИАГНОСТИРУЙ ПОЛОМКУ СВОЕГО КОМПЬЮТЕРА
Срочная диагностика
Ноутбуков, компьютеров, планшетов, нетбуков, смартфонов.
у вас или в сервисе
Бесплатный выезд
Выезжаем к заказчику бесплатно
на дом или в офис
Фирменная гарантия
Предоставляем фирменную гарантию на выполняемые работы и используемые в ремонте запчасти
на работы и запчасти
Когда вы покупаете новый компьютер, нетбук или ноутбук, трудно отделаться от предложений менеджеров от установки начальных версий операционных систем Windows – лишь самые принципиальные пользователи способны противостоять буйной рекламе, скажем, Windows 7 HB или подобных. Опять же – дается лицензия, которая дает чувство защищенности даже для домашнего использования, и простота перехода к новым версиям.
И только потом оказывается, что начальные версии ОС весьма ограничены в своей функциональности. Порой так, что с ними становится невозможно работать. HB означает Home Basic, то есть линейку, которая до версии Pro имеет большое количество ограничений:
- Невозможность сменить темы, обои Рабочего стола. В принципе, это мелочь, но очень обидно.
- Еще более обидно, что нельзя запустить на ней интерфейс Aero.
- Эта операционная система даже в 64-битной редакции не использует более 2 Гб памяти, из которых около 250 Мб будут потрачены на видеопамять. И установленная дополнительная память видеться не будет.
- Есть ограничение на количество запущенных одновременно приложений.
- Если ранее ваш компьютер мог раздавать Интернет по домашней сети и работать в доменах, теперь этого не будет – начальная ОС может лишь подключаться к такой сети в качестве клиента.
Примерно такие же ограничения ранее существовали и для Windows XP HB, но о них просто забыли. Конечно, даже при этой конфигурации можно вполне нормально работать в Сети, используя компьютер автономно, но обидно осознавать, что профессиональные версии даже не подозревают о таких ограничениях. Стоит же поставить другую ОС – теряется лицензия. Собственно, дальше можно было и не говорить, но мы решили, что несколько советов могут пригодиться:
- Заклейте скотчем лицензионную марку – пускай она хранится вечно.
- Если у вас есть диск с 7 HB, то спрячьте его в надежное место, где он не сможет потеряться.
- Если на винчестере у вас уже установлена активированная система, то установите любой продукт, умеющий обращаться с разделами Windows – скажем, Acronis True Image, после чего сохраните образ рабочей системы на другом логическом диске. Возможно, его придется для этого создать, что умеет делать Disk Director от этой же компании. Диск будет сжат и займет довольно мало места в виде файла, но зато в дальнейшем, при серьезной поломке, вы сможете за несколько минут восстановить начальную установку и активацию на своем ПК.
Прыгаем выше крыши — убираем 4 ГБ лимит доступной физической памяти в Windows 7 x86
Здравствуйте уважаемые читатели блога www.ithabits.ru. При подготовке материала для одной из предыдущих публикаций цикла о проблемах большой оперативной памяти в 32-разрядных операционных системах потребовалось снять лимит, ограничивающий адресное пространство физической памяти на уровне 4 ГБ в Windows x86.
Когда и зачем Microsoft установила это ограничение мы подробно разобрали в другой статье этого же цикла. Я решил не путать “божий дар с яичницей” и описать сам процесс создания “безлимитного” модифицированного ядра Windows в отдельной статье. Этим мы сейчас и займемся.
До начала “славных дел” не лишним будет отметить, что описанные далее действия нельзя признать законными, так как они влекут за собой нарушение лицензионного соглашения с Microsoft. По этой причине сразу же условимся, что проводимая модификация Windows системы будет временной, выполняется исключительно в познавательных целях и реально эксплуатироваться такая система никогда не будет.
Надеюсь, к этому моменту сомнений в том, что 32-разрядные ОС могут работать с физической памятью до 128 ГБ и что 4-гигабайтный лимит установлен Microsoft специально, ни у кого не осталось. Остается разобраться где находится эта 4 ГБ “крыша” и как ее перепрыгнуть.
Ответ на этот вопрос дал Джефф Шапель (Geoff Chappell) в статье “Licensed Memory in 32-Bit Windows Vista”, первая редакция которой была опубликована в 2009 году.
В начале этой достаточно объемной работы автор выражает свое неудовольствие позицией Microsoft, которая вводит в заблуждение пользователей утверждая, что работа с оперативной памятью объемом более 4 ГБ возможна только в 64-разрядных версиях ОС.
Далее непосредственно описывается используемый Microsoft механизм ограничения доступной памяти и способ его модификации:
Описание патча 32-разрядного ядра Windows
Ограничение максимально доступной физической памяти установлено в PAE ядре, которое в Windows 7 / Vista называется NTKRNLPA.EXE. Внутренняя процедура MxMemoryLicense вызывает недокументированную функцию ZwQueryLicenseValue. Такая проверка выполняется два раза.
Патч, предложенный автором, подразумевает очень небольшие изменения в ядре – всего по 7 байт в каждом из двух вхождений. После сделанных изменений ядро продолжает вызывать ZwQueryLicenseValue, но результаты этой проверки подменяются так, что разрешенный верхний предел физической памяти устанавливается в 128 ГБ.
Предполагается, что в дальнейшем модифицированное ядро будет называться NTKR128G.EXE.
Полученное новое ядро может теперь работать со всей установленной памятью, но есть некоторые препятствия для его использования:
Контрольная сумма
Для всех исполняемых файлов, загружаемых WINLOAD, в число которых, естественно, входит ядро, контрольная сумма, записанная в заголовке исполняемого файла, должна быть правильной. В результате модификации ядра контрольная сумма изменилась и стала недействительной. Ее нужно привести в соответствие. Это можно сделать с помощью, например, EDITBIN из Microsoft Visual Studio:
editbin /release ntkr128g.exe
Цифровая подпись
Ядро является одним из исполняемых файлов, который должен быть подписан сертификатом, полученным от одного из немногочисленных корневых центов. Публичные ключи корневых центров жестко прописаны в загрузчике. Исправленное ядро будет иметь недействительные цифровые подписи. Это препятствие можно преодолеть одним из следующих способов.
Одним из таких способов является использование тестового режима, который Microsoft предоставляет для тестирования драйверов в процессе их разработки. В тестовом режиме загрузчик позволяет выполнять файлы, подписанные любым корневым сертификатом. Можно создать свой собственный тестовый сертификат и подписать им измененную копию ядра. После этого оно будет загружаться при старте Windows в тестовом режиме (TESTSIGNING). Несущественной неприятностью этого варианта будет появление предупреждающей надписи в правом нижнем углу рабочего стола.
Подходящими инструментами для реализации такого способа могут служить Windows Software Development Kit (SDK) или Windows Driver Kit (WDK). С их помощью можно сделать свой собственный сертификат:
makecert -r -ss my -n «CN=My Own Testing Authority»
Это команда создаст корневой сертификат с именем “My Own Testing Authority» и установит его в личное хранилище сертификатов. Подписать модифицированное ядро этим сертификатом можно выполнив команду:
signtool sign -s my -n «My Own Testing Authority» ntkr128g.exe
Загрузка Windows с модифицированным ядром
Теперь у нас есть модифицированное ядро для тестирования возможности использования в 32-разрядной Windows физической памяти выше 4 ГБ. Его нужно скопировать в каталог C:\Windows\System32 и создать новый вариант загрузки с помощью bcdedit.exe.
Новую загрузочную запись создаем путем копирования текущей (current) и даем ей новое имя, например, «Windows Using All My Memory»:
bcdedit /copy
Запустим bcdedit без параметров и узнаем <идентификатор>новой записи.
Дальше добавляем необходимые директивы:
bcdedit /set <идентификатор>kernel ntkr128g.exe – указываем, какое ядро нужно загрузить;
bcdedit /set <идентификатор>testsigning Yes – говорим, что работаем в тестовом режиме;
bcdedit /set <идентификатор>pae ForceEnable – на всякий случай.
Программы модификации 32-разрядного ядра и загрузки Windows с поддержкой 128 гигабайт оперативной памяти
Применительно к Windows 7 x86 делать все описанное выше “ручками”, скорее всего, не понадобится. В свободном доступе есть программы, которые автоматизируют весь этот процесс. Найти их в сети очень легко, поэтому ссылки на них я приводить не буду, а ограничусь одними названиями.
Первый комплект, который мне попался, назывался ReadyFor4GB. Он примечателен тем, что состоит из трех отдельных модулей, первые два из которых повторяют описанные выше этапы. Третий модуль представляет собой утилиту для удаления Watermark (предупреждающая надпись на рабочем столе после загрузки с новым ядром).
Учитывая, что в комплекте есть руководство на русском языке, в котором четко прописана последовательность запуска программ и ответы на их вопросы, подробное описание процесса будет здесь излишним. Просто делайте все строго по порядку. Все программы нужно запускать с правами администратора. Надеюсь, все знают как это делать. Проще всего в проводнике Windows — «подсвечиваем» мышью файл программы, которую нужно запустить, нажимаем правую кнопку мыши и в появившемся контекстном меню выбираем «Запуск от имени администратора».
Вопросы безопасности и отмены сделанных изменений
В силу того, что “родное” ядро остается в неизменном виде, систему в любой момент можно вернуть в исходное состояние. Благодаря этому, описанный патч можно считать относительно безопасным.
Не смотря на это, я ни за что не стал бы совершать подобные манипуляции не сделав предварительно бекап системы. Кто его знает, как она поведет себя у вас после внесенных изменений. Надеюсь, что вы делаете бекап регулярно… Ну хорошо… не регулярно, но хотя бы время от времени. Вот сейчас как раз появился отличный повод. Если данные лежат отдельно, то их тоже стоит сохранить на внешнем носителе.
Золотое правило системного администратора, в роли которого вы, возможно, сейчас собираетесь выступить, — никогда и ничего не начинать делать, если не приняты меры, позволяющие со 100% гарантией откатиться назад. Если в процессе что-то пойдет не так, или результат окажется отличным от ожидаемого, всегда надо иметь возможность вернуться к первоначальному состоянию.
На предприятиях с этим дело должно (должно — не значит, что так и есть на самом деле) обстоять еще серьезнее. А именно, по ITIL системный администратор или инженер, во-первых, не должен сам себе выдавать задание, во-вторых, не начинать ничего делать до согласования и одобрения предполагаемого изменения со всеми заинтересованными лицами. Впрочем, не будем отвлекаться, это тема точно не этой статьи.
Совершенно не лишним будет до начала запуска патчеров сделать экспорт содержимого системного хранилища в файл. Файл можно сохранить в любом месте и дать ему произвольное имя (главное вспомнить потом название файла и где он лежит). Эту копию впоследствии можно использовать для быстрого и простого восстановления первоначального состояния системного хранилища, что, в нашем случае, равносильно отмене всех сделанных изменений.
Даже если вы пока еще не очень дружите с bcdedit.exe, просто запустите командную строку с правами администратора и наберите:
bcdedit /export «C:\Backup\bcd-backup» где C:\Backup\ – произвольно выбранная для хранения папка, а bcd-backup – произвольное имя файла копии хранилища.
Когда захочется прекратить все эксперименты с памятью, достаточно будет набрать:
bcdedit /import «C:\Backup\bcd-backup»
Второй вариант патчера, который мне довелось протестировать, назывался 4GB-7600_RTM_x86. В нем вообще один единственный исполняемый файл, то есть «все в одном флаконе».
Не так давно появился патч, который позиционируется как универсальный для всех версий Windows, включая и Windows 8.
После выполнения патча, тем или иным описанным выше способом, и последующей перезагрузки должно получиться что-то такого типа >
Дальше возвращаемся к этой статье и читаем о замечательных результатах работы Windows 7 x86 с модифицированным ядром в ноутбуке с 4 ГБ памяти. Если эту статью уже прочитали, то смотрим следующую, в которой рассматривается работа аналогичной системы на настольном компьютере с 6 ГБ памяти.
В заключение отметим, что упомянутые выше программы-патчеры добавляют новый вариант загрузки с модифицированным ядром первым пунктом загрузочного меню и отмечают его как дефолтный, то есть загружаемый по умолчанию.
Если это нежелательно, то вернуть исходной операционной системе статус загружаемой по умолчанию можно с помощью элемента “Система” в “Панель управления” или из апплета “msconfig”.
Для более масштабных изменений, например, если нужно изменить порядок показа вариантов загрузки или вовсе удалить новый, придется все же немного разобраться с bcdedit.exe.
Появился новый «универсальный» патчер — PatchPae2, который работает в Windows Vista, Windows 7 и Windows 8.
В процессе работы этот патч требует набора некоторого количество команд. Вместо этого можно скачать готовый командный файл “PatchPae2cmd”, который выполнит все необходимые операции.
Для того, чтобы скачать этот файл нужно просто подписаться на обновления блога по E-Mail. Ссылка на скачивание будет в почтовом подтверждении подписки.
Внимание! Для тех, кто создал “поправленное” ядро и соответствующий вариант загрузки в BCD до 13.08.2013, обязательной для ознакомления является статья по поводу обновления KB2859537.