Сразу оговорюсь, «преодолевал» в названии отражает только тот факт, что теперь моя XP видит всю память, установленную на системной плате. Не я придумал способ, я просто им воспользовался и теперь хочу поделиться.
Вопрос о четырёх гигабайтах памяти в Windows XP (здесь, и далее 32 бит) поднимался на просторах Интернет неоднократно. И так же неоднократно делался вывод, что более четырёх увидеть в принципе невозможно, а так как оборудование тоже требует адресного пространства, то и того меньше. Обычно 3.25 Гб, или около того. Очень подробно и убедительно история вопроса освещена здесь: Четыре гигабайта памяти — недостижимая цель?
Меня этот вопрос тоже волновал. Хотя, казалось бы, можно поставить 64 битную систему, или даже Windows Server (как известно он даже в 32-битной версии видит всю память), но я хотел пользоваться Windows XP. Два раза за последние 3 года я переходил на Windows 7, в первый раз на 64-битную, второй раз на 32-х битную, но в итоге оба раза вернулся назад на XP, которая живёт у меня без переустановки с 2007 года.
Последний раз я отказался от семёрки в пользу старушки буквально две недели назад. Притом, надо отметить, что семёрка была хоть и 32-х битная, но в ней была разблокирована возможность видеть всю доступную память. Способ разблокировки доступен в Интернет. И теперь мне с новой силой захотелось решить этот вопрос и в XP.
Поиски привели на этот сайт: Patch Vista’s Kernel to Address more than 4 GB of Memory
Статья посвящена разблокировке Windows Vista, зато в комментариях, пара человек описывает аналогичный способ для Windows XP. Я решил последовать их советам и опробовать эту методику на практике.
Для начала нужен дистрибутив Windows XP SP1. Возможно, подойдёт и просто первый сервиспак, не знаю, у меня его нет. В общем-то, там нужен только один файл. А именно файл библиотеки Hardware Abstraction Layer. Начиная со второго сервиспака эта библиотека работает с PAE «фиктивно», т.е. даже если режим расширенной трансляции адресов включён – он ничего не делает и не выходит за пределы четырёх гигабайт. А вот библиотека от первого сервиспака работает полноценно и может адресоваться ко всей доступной памяти, аналогично тому, как работает с памятью 32-битный Windows Server. В установленной Windows XP данный файл называется hal.dll, но в дистрибутиве имеется несколько HAL-файлов, и только один из них инсталлируется в систему под именем hal.dll в процессе установки. Необходимо было узнать, какой из файлов нужно использовать на моём конкретном оборудовании. Делается это просто, надо вызвать Свойства в контекстном меню проводника на файле hal.dll в установленной Windows. Файл находится в папке %systemroot%system32, и вот что я увидел:
В дистрибутиве Windows XP SP1 в папке I386, я взял файл HALMACPI.DL_. Это архив, в котором находится один файл, искомый мной halmacpi.dll. Я его извлёк WinRAR’ом, но можно обойтись и командной строкой:
expand HALMACPI.DL_ HALMACPI.DLL
Полученный файл надо поместить в папку %systemroot%system32, что я и сделал. Хочу ещё раз обратить внимание, что если кто-то захочет повторить мои шаги, файл надо брать с именем, указанном в свойстве «Исходное имя файла» в свойствах hal.dll из установленной Windows XP.
Второе, что необходимо сделать, это получить пропатченную версию ядра Windows. Как известно, существует 4-ре версии ядра:
- ntoskrnl.exe — однопроцессорное ядро Windows.
- ntkrnlmp.exe— многопроцессорное ядро Windows.
- ntkrnlpa.exe — однопроцессорное ядро Windows с более чем 3 ГБ оперативной памяти.
- ntkrpamp.exe — многопроцессорное ядро Windows с более чем 3 ГБ оперативной памяти.
В той инструкции, которую я использовал, говорилось про ядро ntkrnlpa.exe и в моей инсталляции Windows стоит именно оно. Что делать, если попадётся другое ядро – я, честно говоря, не знаю.
Первым делом, я сделал копию ядра, назвал его krnl16.exe, в принципе название неважно. Далее HEX-редактором (я использовал DOS-Navigator, по старой памяти) надо найти последовательность
- BB 00 00 10 00 33 FF 6A 07 8B F0 и заменить её на
- BB 00 00 40 00 33 FF 6A 07 8B F0
Здесь 1000h = 4096 Мб, заменяем на 4000h = 16384 Мб. Т.е. поднимаем ограничение до 16Гб. В принципе, можно вписать и большее число. Пропатченный файл также должен располагаться в system32.
Теперь осталось отредактировать boot.ini. Нужно скопировать имеющуюся строчку и дописать пару параметров. У меня была строка:
multi(0)disk(0)rdisk(0)partition(1)WINDOWS.XP=«Microsoft Windows XP Professional RU» /FASTDETECT /USEPMTIMER /NOSERIALMICE /NOEXECUTE=OPTIN
Я добавил в неё /KERNEL=KRNL16.EXE /HAL=HALMACPI.DLL /PAE и в результате получилось:
multi(0)disk(0)rdisk(0)partition(1)WINDOWS.XP=«Microsoft Windows XP Professional RU 16Gb» /FASTDETECT /USEPMTIMER /NOSERIALMICE /NOEXECUTE=OPTIN /KERNEL=KRNL16.EXE /HAL=HALMACPI.DLL /PAE
Теперь есть возможность загружаться как в стандартный Windows с присущим ему ограничением на память, так и в пропатченный, так как я не заменял ни одного системного файла, а только добавил два, которые включаются в работу с помощью вышеописанных параметров boot.ini
Ребут!
И… BSOD.
В принципе, такое может быть. Как следует из обзора истории проблемы на ixbt причиной, по которой Microsoft отключила адресацию верхней памяти, было существование кривых драйверов под различное оборудование, кривизна которых, впрочем, проявлялась только в полноценном режиме PAE. Вполне вероятно, у меня сбоит один из них, за 6 лет в системе накопилось много всего, но какой? Пробую запуститься в безопасном режиме, и УРА! Вот они, мои гигабайты:
Но как определить сбойный модуль? Погуглив, я нашёл для этого методику, которая заключается в анализе малого дампа памяти, создаваемого Windows при BSOD. Анализ производится программой Blue Screen View, но вот все найденные мной способы включения режима записи дампа к успеху не привели: дамп не создавался, поэтому пришлось использовать научный метод тыка. Для начала я деинсталлировал то ненужное, что нашлось в системе. А именно драйвер защиты Guardant и драйвера ATI от старой видеокарты.
Ребут.
Результат превзошёл мои ожидания. Честно говоря, я не ожидал, что метод тыка даст такие результаты, и попробовал его просто, чтобы сделать хоть что-нибудь. Который из драйверов вызывал проблему, я точно не знаю, но думаю, что, скорее всего Guardant.
Но главное: цель достигнута, и теперь я подумываю о расширении памяти до 8-ми Гб.
- Примечание 1. Поскольку в методике используется dll из первого сервиспака, есть вероятность, что в ней имеются какие-либо уязвимости, закрытые последующими сервиспаками. Я не изучал этот вопрос.
- Примечание 2. Некоторые драйверы в пропатченой Windows XP могут вызывать BSOD. Впрочем, их крайне мало в природе.
- Примечание 3. В первоисточнике ценных знаний сообщают, что на некоторых системах имеются проблемы с USB при использовании данной методики. У меня пока проблем нет. По крайней мере, клавиатуры, мышки и флешки работают в штатном режиме.
- Главная
- Форум
- Мануалы
|
Physical Address Extension (PAE) — режим работы встроенного блока управления памятью x86-совместимых процессоров, в котором используются 64-битные элементы таблиц страниц (из которых для адресации используются только 36 бит), c помощью которых процессор может адресовать 64 ГБ физической памяти (вместо 4 ГБ, адресуемых при использовании 32-разрядных таблиц), хотя каждая задача (программа) всё равно может адресовать максимум 4 ГБ виртуальной памяти. — определение взято с Википедии [boot loader] Включить режим PAE в Windows 8 (Windows 8.1) штатными средствами не получится (для этого придется вручную в HEX редакторе править файл ядра ntoskrnl.exe и переподписывать его). Проще всего воспользоваться готовым патчем PatchPae2, который написан энтузиастом Wen Jia Liu. Скачать патч PatchPae2 можно тут. PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe — Создадим новый модифицированный загрузчик, позволяющий отменить проверку наличия цифровой подписи ядра при загрузке: PatchPae2.exe -type loader -o winloadp.exe winload.exe Примечание: В случае успешного каждой из предыдущих команд должна появиться надпись «Patched» bcdedit /copy {current} /d «Windows (PAE Patched)» . bcdedit /set {boot_ID} kernel ntoskrnx.exe — Зададим новый загрузчик bcdedit /set {boot_ID} path Windowssystem32winloadp.exe — Отменим проверку подписи загрузчика bcdedit /set {boot_ID} nointegritychecks 1 — Зададим вариант загрузки с модифицированным ядром по умолчанию bcdedit /set {bootmgr} default {boot_ID} Зададим таймаут загрузки (время отображения загрузочного меню), например 10 секунд bcdedit /set {bootmgr} timeout 10 Осталось перезагрузить компьютер и, если вы все сделали правильно, появится такой экран. Выберем вариант Windows (PAE Patched), после чего 32-битная версия Windows 8 или 8.1 должна загрузиться в режиме, поддерживающем более 4 Гб оперативной памяти. 1 sudo apt-get install linux-generic-pae linux-headers-generic-pae Последний раз редактировалось: Metamorf (2016-12-07 11:55), всего редактировалось 1 раз |
Отправлено: 07-Дек-2016 10:38
(спустя 28 минут)
Отправлено: 07-Дек-2016 10:38
(спустя 28 минут)
zxen |
|
Отправлено: 07-Дек-2016 10:50
(спустя 11 минут)
Отправлено: 07-Дек-2016 10:50
(спустя 11 минут)
Metamorf |
|
Отправлено: 07-Дек-2016 11:36
(спустя 46 минут)
Отправлено: 07-Дек-2016 11:36
(спустя 46 минут)
Xki |
[boot loader] |
Отправлено: 07-Дек-2016 11:51
(спустя 15 минут)
Отправлено: 07-Дек-2016 11:51
(спустя 15 минут)
Metamorf |
|
Отправлено: 07-Дек-2016 12:16
(спустя 24 минуты)
Отправлено: 07-Дек-2016 12:16
(спустя 24 минуты)
nikzzzz |
@echo off В принципе, если не нужно меню загрузки без pae, можно просто заменить ntkrnlpx.exe и winloadp.exe, можно просто заменить эти файлы пропатченными, не трогая BCD. |
Отправлено: 11-Дек-2016 21:29
(спустя 4 дня)
Отправлено: 11-Дек-2016 21:29
(спустя 4 дня)
Отправлено: 11-Дек-2016 22:50
(спустя 1 час 21 минута)
Отправлено: 11-Дек-2016 22:50
(спустя 1 час 21 минута)
Adler |
|
Отправлено: 12-Дек-2016 02:35
(спустя 3 часа)
Отправлено: 12-Дек-2016 02:35
(спустя 3 часа)
nikzzzz |
33293
А у меня один вопрос — а какая крайность вообще ставить 32х битную ОС на ПК с 4 и более ГБ ОЗУ учитывая кучу возможных глюков? Неполноценная поддержка x86 подсистемы, некоторые программы просто вылетают с ошибкой. |
Отправлено: 12-Дек-2016 23:47
(спустя 21 час)
Отправлено: 12-Дек-2016 23:47
(спустя 21 час)
stea.61 |
33301
33298
Ставить Primo RAMdisk ….. Использовать невидимую память. И использовать его как файл подкачки ? Имеющий, правда, целых 2 существенных, на мой взгляд, ПЛЮСА по сравнению с PAE-патчем: |
Отправлено: 16-Дек-2016 08:55
(спустя 3 дня)
Отправлено: 16-Дек-2016 08:55
(спустя 3 дня)
Kon Diter |
|
Отправлено: 16-Дек-2016 10:04
(спустя 1 час 8 минут)
Отправлено: 16-Дек-2016 10:04
(спустя 1 час 8 минут)
nikzzzz |
|
Отправлено: 16-Дек-2016 11:35
(спустя 1 час 30 минут)
Отправлено: 16-Дек-2016 11:35
(спустя 1 час 30 минут)
Kon Diter |
|
Отправлено: 16-Дек-2016 13:30
(спустя 1 час 55 минут)
Отправлено: 16-Дек-2016 13:30
(спустя 1 час 55 минут)
Adler |
|
Отправлено: 16-Дек-2016 15:21
(спустя 1 час 50 минут)
Отправлено: 16-Дек-2016 15:21
(спустя 1 час 50 минут)
nikzzzz |
33473
отлично, тогда какой смысл в этом патче, если нельзя задать ограничение в 2gb на процесс для произвольного приложения? Это ограничение самого x32 приложения, даже при запуске его в winx64 оно остается, и не зависит от подключенной памяти. |
Страница 1 из 2
Текущее время: 08-Фев 08:38
Часовой пояс: UTC + 3
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы
Сейчас все большей популярностью пользуются компьютеры с увеличенным объемом оперативной памяти. Неудобством применения при этом выступает 32-разрядная операционная система Windows XP, так как в ней не может использоваться больше чем 4 Гб RAM в силу внутренних ограничений. Но для некоторых действий требуется больше. Существуют различные способы увеличения объема памяти до фактически того уровня, который находится в компьютере.
Вам понадобится
- Программа «Разблокировщик Оперативной памяти более 4 Gb (RAM) в Windows ХР».
Инструкция
Одним из вариантов решения данной проблемы для Windows ХР является установка новой 64-х битной операционной системы, что является другой сборкой. При этом заново установленное программное обеспечение будет использовать уже больше памяти.
Также вы можете воспользоваться специальным патчем для увеличения размера оперативки. Загрузите из интернета программу «Разблокировщик Оперативной памяти более 4 Gb([RAM) в Windows ХР». Она является бесплатной и не нуждается в дополнительной активации. После этого установите данное приложение на ваш компьютер. Для этого выберите файл ReadyFor4GB.exe, запустив его двойным нажатием на ярлыке утилиты. Обратите внимание, что загрузка должна происходить от имени администратора, так как только он имеет право на подобные действия внутри системы.
Перед вами на экране появится рабочее окно программы. Убедитесь, что установленная утилита соответствует версии вашей операционной системы — в правом углу вкладки будет отображаться информация о данном патче. Перед началом работы программы закройте все приложения, которые не нужны для правильной работоспособности самой операционной системы. Некоторые антивирусные программы могут также не давать возможности «Разблокировщику» увеличить объем. Для более корректной работы программы отключите на время защиту вашего компьютера.
Приступите непосредственно к процессу. Вы увидите кнопку «Разблокировать». Нажмите на нее. После этого выберите клавишу Y для подтверждения или клавишу Q для выхода из программы, затем нажмите Enter.
Утилита запустит работу. По ее окончании перезагрузите компьютер. Только после этого все изменения вступят в силу. Убедится в работоспособности программы вы сможете зайдя в свойства меню «Мой компьютер», где вместо прежнего объема оперативной памяти, который был не больше 4 Гб, вы увидите значение, превышающее его. Скорость работы самой системы автоматически будет увеличена.
Видео по теме
Войти на сайт
или
Забыли пароль?
Еще не зарегистрированы?
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Выберите вариант загрузки:
- скачать с сервера SoftPortal
EasyPatch4GB RAM — программа для оптимизации использования оперативной памяти для 32-битных систем Windows, таким образом, что вся установленная в компьютере оперативная память станет доступной (полное описание…)
Рекомендуем популярное
Mem Reduct 3.4
Mem Reduct — небольшая портативная утилита, которая позволяет высвободить до 25% используемой…
Memory Cleaner 2.7.2
Memory Cleaner — одна из самых простых утилит для оценки загруженности оперативной памяти ПК с возможностью оптимизации ее использования…
QuickMemoryTestOK 4.24
Бесплатная легковесная утилита для тестирования оперативной памяти на наличие ошибок….
Wise Memory Optimizer 4.1.4.116
Wise Memory Optimizer — бесплатная утилита для освобождения оперативной памяти, увеличения скорости и улучшения производительности ПК…
RAMExpert 1.21.0.43
RAMExpert — это небольшая утилита, которая предоставляет полную информацию об системной оперативной памяти RAM (Random Access Memory)…
- Remove From My Forums
-
Общие обсуждения
-
Есть компьютер с 4 Гб памяти, на корпусе наклейка Windows XP Professional OEM Software (преобладают розовый и зелёные цвета, имеется металлическая полоска, Product Key и т. д.). Насколько я понял — ранее на этом компьютере была установлена Windows XP, но
на момент написания этого сообщения она была неработоспособна (не запускалась). Установочный диск утерян, но есть другой установочный диск с OEM Windows XP Professional, с него система ставится, указанный на наклейке ключ принимается, активацию пока не делал.
Сохранять какие-то пользовательские данные с этого компьютера не требуется, нужно просто установить обратно Windows XP. К сожалению из имеющегося дистрибутива OEM Windows XP оказался 32-битным и из 4 Гб памяти система «увидела» только 3.2 Гб.Вопрос 1: как заставить 32-битную Windows XP увидеть и использовать все 4 Гб памяти? Насколько я понял, 32-битные системы могут адресовать до 4 Гб памяти, т. е. должна быть возможность включить это в настройках.
Вопрос 2: Планируется докупить ещё 4 Гб памяти (компьютер будет использоваться как сервер баз данных). Адресовать 8 Гб памяти за один раз 32-битная система не сможет. Где можно скачать 64-битную OEM Windows XP Professional?
-
Перемещено
26 октября 2010 г. 16:37
(От:Windows XP) -
Изменен тип
Иван ПродановMicrosoft contingent staff, Moderator
18 марта 2013 г. 12:09
Отсутствие активности на протяжении длительного периода времени.
-
Перемещено
-
10.05.2010, 11:41
#1
Разблокировщик Оперативной памяти более > 4 Gb [RAM] v3.0
32-битные версии операционных систем Windows XP, Windows Vista и Windows 7 принципиально не могут использовать более 4 Гб оперативной памяти в силу внутренних архитектурных ограничений. При установке одной из этих ОС на компьютер с 4 Гб оперативной памяти доступный ей объём оперативной памяти оказывается существенно меньшим – обычно от 2.7 до 3.75 Гб. Данный патч позволяет использовать более 4 ГБ оперативной памяти в Windows 7 (x86) Build 7600 RTM.
Изменения:
— Исправлены ошибки.
— Убрана надпись с рабочего стола.
— Обновлено ядро 7600.20555.x86fre.win7_ldr.091021-1509.Операционная система: Windows® 2008/Vista/7 (32-bit)
Выпуск: 3.0
Язык интерфейса: Русский
Лекарство: Не требуется
Размер: 2.7 MbВот у меня при 4-х гигах отображалось 3,2 а теперь…
Скачать:
Семь раз отпей, один раз отъешь!