среда, 11 октября 2017 г.

Увеличение объема оперативной памяти RAM в windows XP SP3

Данные действия были навеяны статьёй https://geektimes.ru/post/202406/ , где автор рассказывал о том как добился использования в своей 32-битной windows XP всей памяти, а не 3 ГБ.
В моем случае, в машине было установлено 4 ГБ, но операционная система видела только 3. Сделав всё как в описании и запустив компьютер, добился только черного экрана, после которого можно было перезагрузиться только кнопкой питания. Более того, у меня размер файла ядра был в 20 раз меньше, чем описанный у автора, и патчить его смысла не было, хотя когда он был прописан как KERNEL=krnl386.exe в boot.ini, компьютер нормально загружался.
Затем начался перебор ядер и драйверов HAL.dll , итогом которых удалось понять что мой krnl386.exe лишь заглушка, которая запускает файл ntkrnlpa.exe (в котором и обнаружилась необходимая бинарная последовательность для патча). Это удалось подтвердить вписав напрямую эти названия в файле boot.ini.

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional RU 4GB RAM" /noexecute=optin /fastdetect KERNEL=ntkrnlpa.exe /hal=hal.dll
в результате ОС нормально загружалась.

файл ntkrnlpa.exe был пропатчен на 16ГБ и сохранен в 4gkrnlpa.exe,
в boot.ini добавлена запись вида:
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional RU 4GB RAM" /noexecute=optin /fastdetect KERNEL=4gkrnlpa.exe /hal=hal.dll /PAE
Система зависала черным экраном и не грузилась, ни в обычном, ни в безопасном режимах.

Выяснилось, что опция "/noexecute=optin" конфликтует с /PAE, когда её исключил, ОС стала загружаться, но только в безопасном режиме, при этом виделось уже 4 ГБ ОЗУ.

Следующим шагом был подбор драйвера HAL.dll, для этих целей был использован файл halmacpi.dll от windows xp sp1. Запись в boot.ini стала следующей:
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional RU 4GB RAM" /fastdetect KERNEL=4gkrnlpa.exe /hal=halmacpi.dll /PAE

В таком виде ОС нормально загрузилась и работает в обычном режиме, память RAM доступна вся. В последствии было добавлено ещё 4 ГБ до 8 ГБ, которые система также увидела. Для теста было создано 2 виртуальных диска в RAM по 2 ГБ, скорость копирования с одного на другой составила 300 МБ/сек.

Комментариев нет:

Отправить комментарий