Наводим порядок в Windows х86 со снятым 4 ГБ ограничением памяти после обновления KB2859537

Почему не хватает оперативной памяти

Начнём с того что оперативная память на сегодняшний день, имеет более высокие характеристики, такие как скорость и частота. В нынешних сборках компьютеров в основном используется DDR3, модель ОЗУ последних разработок, естественно, более производительная в сравнении с предшественниками. В новых компьютерах и ноутбуках всё чаще устанавливается порядка 3 гигабайта оперативной памяти (например, для нормальной работы Windows XP  требовалось не более 512 мегабайт), это связано с возрастающими запросами пользователей к ПК.

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

Вот тогда и стоит поинтересоваться количеством ОЗУ и на что она тратится в системе. Конечно, если в компьютере установлено всего 1 гигабайт памяти, то не следует многого ждать от производительности в новых версиях операционных систем Windows.

  • Для того чтобы узнать общий размер оперативной памяти компьютера нужно нажать правой кнопкой мышки на ярлык «Компьютер» на рабочем столе и из контекстного меню выбрать пункт «Свойства». В открывшемся окне можно наблюдать системные сведения о комплектации ПК, в одной из строк которых указана и ОЗУ.
  • Для того чтобы в реальном времени проверить какое приложение загружает оперативную память, можно воспользоваться Диспетчером задач. Откройте «Диспетчер задач» сочетанием клавиш Ctrl + Shift + Esc (для ОС Windows XP – Ctrl + Alt + Del), перейдите на вкладку процессы и в ней кликните по колонке «ОЗУ», тем самым отсортируем активные процессы по наибольшему количеству занимаемой оперативной памяти.

Какие программы занимают оперативную память

Существует ряд программ, которые зачастую занимают больше оперативной памяти в сравнении с остальным софтом. Так, например, основным «поглотителем» оперативной памяти станет антивирус, при чём без разницы чей он разработки и какой версии. Вторым по занимаемому количеству ОЗУ можно назвать графические редакторы и видео – монтаж. Также не стоит забывать и о компьютерных играх, которые под час требуют до 6 – 8 гигабайт оперативной памяти для работы в высокопроизводительном режиме!

Примечание! Помимо программ, и сама операционная система Windows, начиная с версии Seven, использует ресурсы ОЗУ, как кеш для часто используемых системных файлов!

Установка обновления KB2859537 в Windows 7 x86

Windows 7 с ядром ntkr128g (ReadyFor4GB)

В качестве тестового полигона используем тот же ноутбук Acer с 4 ГБ оперативной памяти и Windows 7 Professional, работа которого с модифицированным ядром, то есть, со снятым 4 ГБ ограничением доступной физической памяти, подробно описывалась в статье, посвященной вопросам использования верхнего диапазона памяти в 32-разрядных системах.

Непосредственно после установки обновления безопасности KB2859537 в C:\Windows\System32 присутствуют следующие PAE ядра:

В секции BCD, описывающей загрузку Windows с модифицированным ядром, после установки обновления ничего не изменилось:

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

Если ReadyFor4GB.exe не откажется работать, то исправить ситуацию достаточно просто.

Запускаем компьютер в обычном режиме, удаляем старое ядро ntkr128g.exe версии 6.17601.17713 и запускаем ReadyFor4GB.exe (Надо же, все еще работает. Возможно, что далеко не у всех. Поэтому, сначала убедитесь в работоспособности этого приложения):

Создаем новое “поправленное” ядро. Теперь набор будет выглядеть так:

Теперь все правильно. Очевидно, что в BCD ничего править не нужно.

Перезапускаем компьютер с новым ntkr128g.exe версии 6.17601.18205 и убеждаемся, что вся физическая память вновь доступна и что все программы и приложения исправно функционируют.

Windows 7 с ядром ntkrnlpх (PatchPae2)

Должен сразу сказать, что, как и в предыдущем случае, я планировал использовать для тестирования этого варианта патча ядра ноутбук Acer. Связка PatchPae2 + PatchPae2cmd отработала безукоризненно, однако компьютер с ядром, полученным таким способом, отказался загружаться категорически. В процессе загрузки запускалось средство диагностики неисправностей, работа которого ничем положительным не заканчивалась.

В конце концов я сдался и обратился к виртуальной машине Windows 7 x86 на Oracle VirtualBox.

До установки обновления KB2859537 в Windows/System32 можно найти следующие интересующие нас ядра:

Если установку обновления KB2859537 выполнить в сеансе с загрузкой “исправленного” ядра ntkrnlpx, то версии ядер изменятся следующим образом:

На первый взгляд все правильно, однако в данном случае инсталлятор KB2859537 повел себя крайне неадекватно в отношении вариантов загрузки. Если посмотреть содержимое BCD, запустив от имени администратора BCDEdit.exe без параметров, то окажется, что обе секции загрузки указывают на не обновленное ядро ntkrnlpx.

Если у вас возникла подобная ситуация, то для ее исправления придется отредактировать BCD в редакторе.

Запустим BCDEdit от имени администратора и выполним следующие команды:

Указываем путь до “родного” загрузчика:

Удаляем все дополнительные значения, необходимые для загрузки модифицированного ядра:

Находим {ID} второй секции загрузки:

Удаляем ее:

Перезагружаем компьютер. Убеждаемся, что все нормально запускается и работает. Теперь можно повторно создать модифицированное ядро с поддержкой до 128 ГБ физической памяти.

Перезагружаем компьютер. Смотрим получившийся набор ядер:

Вот теперь все в порядке. Можно наслаждаться доступностью всей установленной физической памяти компьютера с Windows 7 x86 и не иметь при этом обнаруженных в старом ядре уязвимостей.

Внимание! Не используйте патч, который называется 4GB-7600_RTM_x86. Эта программа не создает новое PAE ядро системы со снятым ограничением доступной физической памяти на основе актуального на данный момент, а просто записывает в \System32 некое очень старое “готовое” ядро

Во-первых, именно такое ядро может привести к проблемам после установки обновления безопасности KB2859537. Во-вторых, даже если Windows будет работать и программы не перестанут запускаться, то в с системе останутся обнаруженные уязвимости. Это категорически неправильно.

Описание патча 32-разрядного ядра Windows

Ограничение максимально доступной физической памяти установлено в PAE ядре, которое в Windows 7 / Vista называется NTKRNLPA.EXE. Внутренняя процедура MxMemoryLicense вызывает недокументированную функцию ZwQueryLicenseValue. Такая проверка выполняется два раза.

Патч, предложенный автором, подразумевает очень небольшие изменения в ядре – всего по 7 байт в каждом из двух вхождений. После сделанных изменений ядро продолжает вызывать ZwQueryLicenseValue, но результаты этой проверки подменяются так, что разрешенный верхний предел физической памяти устанавливается в 128 ГБ.

Предполагается, что в дальнейшем модифицированное ядро будет называться NTKR128G.EXE.

Полученное новое ядро может теперь работать со всей установленной памятью, но есть некоторые препятствия для его использования:

Контрольная сумма

Для всех исполняемых файлов, загружаемых WINLOAD, в число которых, естественно, входит ядро, контрольная сумма, записанная в заголовке исполняемого файла, должна быть правильной. В результате модификации ядра контрольная сумма изменилась и стала недействительной. Ее нужно привести в соответствие. Это можно сделать с помощью, например, EDITBIN из Microsoft Visual Studio:

Цифровая подпись

Ядро является одним из исполняемых файлов, который должен быть подписан сертификатом, полученным от одного из немногочисленных корневых центов. Публичные ключи корневых центров жестко прописаны в загрузчике. Исправленное ядро будет иметь недействительные цифровые подписи. Это препятствие можно преодолеть одним из следующих способов.

Одним из таких способов является использование тестового режима, который Microsoft предоставляет для тестирования драйверов в процессе их разработки. В тестовом режиме загрузчик позволяет выполнять файлы, подписанные любым корневым сертификатом. Можно создать свой собственный тестовый сертификат и подписать им измененную копию ядра. После этого оно будет загружаться при старте Windows в тестовом режиме (TESTSIGNING). Несущественной неприятностью этого варианта будет появление предупреждающей надписи в правом нижнем углу рабочего стола.

Подходящими инструментами для реализации такого способа могут служить Windows Software Development Kit (SDK) или Windows Driver Kit (WDK). С их помощью можно сделать свой собственный сертификат:
Это команда создаст корневой сертификат с именем “My Own Testing Authority» и установит его в личное хранилище сертификатов. Подписать модифицированное ядро ​этим сертификатом можно выполнив команду:

Загрузка Windows с модифицированным ядром

Теперь у нас есть модифицированное ядро для тестирования возможности использования в 32-разрядной Windows  физической памяти выше 4 ГБ. Его нужно скопировать в каталог C:\Windows\System32 и создать новый вариант загрузки с помощью bcdedit.exe.

Новую загрузочную запись создаем путем копирования  текущей (current) и даем ей новое имя, например, «Windows Using All My Memory»:
Запустим bcdedit без параметров и узнаем {идентификатор} новой записи.

Дальше добавляем необходимые директивы:– указываем, какое ядро нужно загрузить;–  говорим, что работаем в тестовом режиме;– на всякий случай.

Как использовать в WIndows XP много оперативной памяти

Как использовать в WIndows XP много оперативной памяти

Всем доброго времени суток. Пять лет назад я написал статью с заголовком readyboost на windows xp и когда я писал эту статью я думал, что информация будет не  актуальной, так как уже была Windows 7 в которой readyboost работает из коробки, да и вышла оперативная память ddr3 которая продавалась дешевле предыдущих плат памяти.  Но к моему удивлению и сейчас человек 10 в день переходят из поисковых систем на страницу , за  данный момент статью просматривали примерно 80000 раз , а это получается в среднем 42 раза в сутки – что для моего скромного сайта достаточно много.

Спрашивается, почему я начал с ностальгии и заговорил про readyboost на xp? Все просто, сегодня мы будем рассматривать ситуацию обратную т.е. readyboost используют когда оперативной памяти не хватает для комфортной работы, а мы рассмотрим как заставить работать больше 3,5 гигабайт оперативной памяти в windows xp.  Четно признаться мне сложно смоделировать и логически объяснить ситуацию в которой это умение вам может пригодится (и да сегодня будет много комментариев от автора и лирических отступлений , если вам не интересно моё «бла бла бла» можете сразу смотреть скриншоты.). Но пригодилось оно мне когда на работе у меня был старый системник dell с oem’ мной windows xp которую нельзя было переустанавливать , ну и ладно было у меня 2Гб оперативной памяти , что для xp вполне достаточно , но тут я пошарился по складу пораздербанивал старые системники и вуаля у меня уже 6Гб оперативной памяти. Ну и как известно система увидела из них всего 3,5Гб и все получается у меня в простаивает 2,5Гб оперативной памяти что есть – плохо, эта мысль начала мне проедать мозг и однажды более опытный коллега мне посоветовал как это реализовать (по этому на авторство не претендую) и поможет нам в этом технология RAM disk . Что такое RAM disk? Все достаточно просто – это технология позволяющая создать раздел в оперативной памяти (RAM). И как нам это поможет задействовать остальную оперативную память? Мы в созданном разделе создадим файл подкачки! Еще немного справки, когда система распределяет всю оперативную память, то не приоритетные процессы могут быть перемещены в менее быстро действенную паять (файл подкачки) в подавляющем большинстве создаётся на жестких дисках скорость которых  значительно медленнее чем оперативной памяти.

Для того чтобы показать вам реализацию данной функции я установил Windows XP в виртуальную машину (Virtual Box,  возможно я когда–нибудь напишу статью как пользоваться этой программой) и очень переживал, что может не заработать , но все заработало нормально).  Остро стал вопрос с выбором программы (нужно было чтобы и просто и бесплатно) нашел программку VSuite Ram disk (Free Edition) функционала бесплатной версии нам вполне хватит.

Ну и стразу пойдем по пунктам , а то я что-то увлекся со своим «бла бла бла»

– Для начала нам нужно скачать инсталятор и установить, в установке нет ничего сложного, жмем далее и все готово.

– Запускаем программу, видим основное окно программы, в поле «Disk Size» указываете объём памяти который не задействовала система (я выделил для виртуальной машины 4710Мб , а система задействовала 3,5Гб в результате у меня получилось ровно 1024Мб или 1Гб собственно это число я и укажу. P.s. Оставляйте хотябы 2Мб не задействованными (на всякий случай), и владельцы ПК с интегрированными видеокартами память которых выделяется из оперативной памяти пожалуйста учитывайте это! ).

В поле «Drive Letter» указывается буква создаваемого диска, Я выбрал чтобы не путаться букву  «R», а автоматическом режиме он задаст первую свободную в алфавитном порядке.

В поле «Volume Label» задаем название для раздела.

Жмем кнопку «Add» — готово! Для того  чтобы проверить результат переходим в «Мой компьютер» и смотрим что такой раздел появился.

— Если все получилось, то задаем файл подкачки на созданный раздел, при этом удаляя файл на других разделах.  (Для тех кто не знает или не помнит где задается файл подкачки «Свойства системы\  Дополнительно\  Параметры быстродействия\  Дополнительно»). И после перезагрузки все должно заработать.

Ну и на последок протестировал скорость виртуального диска, как протестировать скорость или посмотреть результаты моих жестких дисков можно перейдя по это ссылке.

Всем спасибо за внимание и надеюсь что информация была вам полезна. Последнее обновление 06.01.17 13:05

30.09.16 23:04

Последнее обновление 06.01.17 13:05

30.09.16 23:04

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector