НЕ ПРОПУСТИТЬ ИНТЕРЕСНОЕ

Свежие обсуждения

Sorry. No data so far.

Прыгаем выше крыши — убираем 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 {current} /d "Windows Using All My Memory"
Запустим 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.

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

StartW7-32-128

Дальше возвращаемся к этой статье и читаем о замечательных результатах работы Windows 7 x86 с модифицированным ядром в ноутбуке с 4 ГБ памяти. Если эту статью уже прочитали, то смотрим следующую, в которой рассматривается работа аналогичной системы на настольном компьютере с 6 ГБ памяти.

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

Если это нежелательно, то вернуть исходной операционной системе статус загружаемой по умолчанию можно с помощью элемента “Система” в  “Панель управления” или из апплета “msconfig”.

Для более масштабных изменений, например, если нужно изменить порядок показа вариантов загрузки или вовсе удалить новый, придется все же немного разобраться с bcdedit.exe.

_______________________________

P.S.

Появился новый «универсальный» патчер — PatchPae2, который работает в Windows Vista, Windows 7 и Windows 8.Подписка на обновления блога www.ithabits.ru

В процессе работы этот патч требует набора некоторого количество команд. Вместо этого можно скачать готовый командный файл “PatchPae2cmd”, который выполнит все необходимые операции.
Для того, чтобы скачать этот файл нужно просто подписаться на обновления блога по E-Mail. Ссылка на скачивание будет в почтовом подтверждении подписки.

Внимание! Для тех, кто создал “поправленное” ядро и соответствующий вариант загрузки в BCD до 13.08.2013, обязательной для ознакомления является статья по поводу обновления KB2859537.

Комментарии: 49. Присоединяйтесь к обсуждению!

  1. павел:

    работал с данным утилитками (еще до того как прочитал вашу статью)…
    не получилось…
    делал все изменения (ядра,загрузки и т.д.) на установленной системе + обновления+программы + давно в работе, т.е. не свежеустановленной!!!

    пришел к выводу,что только на чистой системе возможны данные манипуляции.

    а у вас как ? может я не прав ?

  2. Да нет, «править» ядро и загрузку можно в любой момент. Если конкретно у меня, то пропаченное именно таким способом ядро на ноутбуке, который перед этим долго эксплуатировался, отлично живет вот уже 8 месяцев. За все это время никаких проблем не возникло.
    Я могу порекомендовать Вам попробовать новый «универсальный» для всех версий (в Windows 8.1 не работает — там новое ядро) патчер http://www.ithabits.ru/15927-i-snova-preodolevaem-4-gb-ogranichenie-operativnoy-pamyati-do-128-gb-ram-v-windows-8-h86.html Возможно, что для вашей конкретной системы он подойдет больше (в нем еще сам лоадер подправляется).

  3. павел:

    как я понял,там же только для WIN 8 патч ?

    патч,по ссылке из этого абзаца вашей статьи:

    Свято место пусто не бывает. Коль 32-разрядная редакция Windows 8 вышла опять с 4 ГБ ограничением на доступную память, то должен был появиться и патч, который это ограничение снимает. Он и появился. Мне подвернулся такой. Файл называется PatchPae2.zip

    или какой-то другой патч ?

    • Почему только для Windows 8? Для всех: «Этот патч позволяет использовать более 3/4GB оперативной памяти на платформе Windows x86. Работает на Vista, 7, 8, был протестирован на Windows Vista SP2, Windows 7 SP0, Windows 7 SP1 и Windows 8 SP0.»
      Более того, похоже появилась поддержка нового ядра Windows 8.1. Так что полный боекомплект.

  4. павел:

    в статье с заголовком
    Описание патча, снимающего 4 ГБ ограничение доступной памяти Windows 8 x86

    идет описание,касаемое win8 …
    для win7 все таким же остается ?

    • Да, в статье есть пояснение: «Архив содержит собственно сам патчер и инструкцию. Кстати, утилита позиционируется как универсальная для всех операционных систем, начиная с Vista». Наверное мне надо было по четче выделить его пригодность для Windows 7.

  5. павел:

    в архиве вместе с патчером идет папка src -она нужна собственно ?
    просто я на диск С выносил один экзешник и с ним работал…

    • Нет, эта папка для работы программы не нужно — в ней исходники самой программы.
      Замечание Ваше по поводу Windows 7 совершенно правильное. Я добавил описание нужных команд в статью. В принципе они такие же, только названия ядер отличаются.

  6. павел:

    попробовал я пропатчить ядро…
    все процедуры завершились,вроде бы все ок…но при загрузке-синий экран.
    не знаю,может как-то влияет то,что ранее уже пользовался подобными патчерами и тоже -не получилось.
    у меня к вам вопрос:
    в папке system 32 в дефолтной системе windows 7 32 бит сколько версий ядер системы должно быть и собственно каких ?
    у меня в наличии:
    ntkr128g.exe
    ntkrStarforce.exe
    ntkrnlpa.exe
    ntkrnlpx.exe
    ntoskrnl.exe
    ntoskrnx.exe

    • Названия нужных в данном случае ядер и загрузчика перечислены во второй статье. В Windows 7 два «родных» ядра — ntkrnlpa.exe — с поддержкой PAE и ntoskrnl.exe — без поддержки PAE. «Поправленное» PAE ядро — ntkrnlpx.exe — нужно в конце концов именно оно.
      Если говорить о PatchPae2, который «поправляет» еще и загрузчик, то родной (во всех Windows) winload.exe, «поправленный» — winloadp.exe
      Вот как-то так. То есть, до — два, после — три. У Вас некий переборчик.
      Сегодня я постараюсь «допилить» командный файл, автоматизирующий все операции с PatchPae2. После того, как протестирую, пришлю ссылку на скачивание. Могу еще в E-Mail вложить новые ядро и загрузчик для Windows 7, если надо, конечно.

  7. Появился командный файл, который автоматизирует все операции с PathPae2. Называется patchpae2cmd.cmd. Новые подписчики найдут ссылку в уведомлении о подписке.
    Работает для Windows Vista / 7 / 8. Файлик надо разархивировать и положить в папку с patchpae2.exe Запускать с правами администратора. Если до того уже что-то делалось, то перед этим нужно вернуть систему в первозданное состояние, т.е. загрузиться в обычном режиме и убрать из BCD все «лишние» записи.

  8. павел:

    т.е. можно просто положить данный ваш командный файл на диск С (к примеру) в корень + туда же патчер скинуть =и оттуда запускать только ваш автоматизатр ?

  9. павел:

    тогда у меня вопрос к вам: насчет файлов -ядер системы…выше их перечислял.
    что мне делать ? может какие-то удалить ? (если это возможно конечно)
    или заменить эти файлы- дефолтными ?

    я посмотрел- у меня 4 файла
    ntkrnlpa.exe
    ntkrnlpx.exe
    ntoskrnl.exe
    ntoskrnx.exe
    у них дата последнего изменения -май месяц этого года (когда я пробовал патчить систему патчером с немецкого форума)…
    влияет ли это на что-либо ?

  10. павел:

    какие файлы,отвечающие за «ядра» находятся в только что установленной дефолтной системе win 7 32 бит в папке /system32…?

    • Павел, смотрите внимательнее. Название ядер уже было перечислено раньше в комментариях от 14.08.2013 и во второй статье.
      Если Вас интересует вопрос мешают ли системе «лишние» ядра, то нет, не мешают. Можете их удалять, можете оставить. Какое ядро грузить указывается в конфигурации BCD.
      В Windows 7 PatchPae2 за основу берет родное ядро ntkrnlpa.exe и делает из него новое, которое называется ntkrnlpx.exe
      Аналогично с лоадером — исходный winload.exe, новый — winloadp.exe
      Я, вроде, отправлял Вам «поправленные» файлы на E-Mail.

  11. павел:

    ну ,грубо говоря, я все задаюсь вопросом: почему же у меня не удалось пропатчить ядро ?
    ошибки набора команд -исключены….
    все перепроверял…

    я единственный «косяк» вижу за тем,что весною этого года пробовал так же патчить патчером с одного немецкого форума…
    после того патча у меня система нормально грузилась,но памяти стала видеть МЕНЬШЕ !!! т.е. там что-то не то было изначально…

    после вашего патча(ссылку на который вы привели и методику на который расписали,хотя в файле ридми все так же расписано по-английски) у меня не грузится система-вылетает синий экран на этапе загрузки винды (после «лепестков» приветствия)…

    вот я и спрашиваю про ядра,так как вижу,что в свойствах ядер у меня стоит дата изменения -май месяц (когда пользовался немецким патчером)…а не август,когда пользовался «вашим» патчером…

    может убрать все эти ядра и сделать как было на сежеустановленной системе ?

    • Естественно. До PatchPae2 нужно вернуть систему в первозданное (по ядрам и загрузчику) состояние.

  12. павел:

    а что вот по ядрам то сделать ?
    я выше написал-у меня в папке system32 шесть экзешников-ядер…

  13. павел:

    удалил старые ядра от немецкого патча-сейчас остались у меня 4 ядра:
    ntkrnlpa.exe
    ntkrnlpx.exe
    ntoskrnl.exe
    ntoskrnx.exe

    ntkrnlpa.exe-родное ядро.его оставляю.
    ntkrnlpx.exe-модифицированное. его можно удалить.

    ntoskrnl.exe
    ntoskrnx.exe -а с этими двумя что делать ?

    • Павел, такое впечатление, что мы все время ходим по замкнутому кругу. Все уже написано. Посмотрите статью о загрузке компьютера, и о редактировании BCD, посмотрите команды скрипта patchpae2cmd.
      Конкретно по вашему вопросу — если пользоваться командным файлом patchpae2cmd, то можно ничего не удалять — он все сделает сам. Самое главное, чтобы исходное ядро и загрузчик действительно были родными.

  14. павел:

    я вас прекрасно понял !
    но,в конце концов, что-то ведь мешает нормально функционировать !?
    вот я пытаюсь свести на нет все свои «косяки»…

    я так и не могу понять-по дефолту в свежеустановленной системе какие ядра писутствуют ???
    их 4-х (точнее,из 3-х- одно ядро уже точно на удаление) вышеназванных мною ядер какие присутствуют ?
    ядро ntoskrnx.exe -родное для непатченной системы ? его оставлять или можно удалить ?

  15. павел:

    я подозреваю,что ядро ntoskrnx.exe для системы win 7 32 бит вообще неродное. его не должно быть !

  16. павел:

    почистил я систему от ядер. посмотрел в инете- родные для win 7 (как впрочем и для win xp) только два ядра: ntkrnlpa.exe и ntoskrnl.exe.
    все. остальные четыре ядра удалил.

    схема вашего командного файла: положить патчер в корень /с + туда же ваш командный…и запустить командный ? все ?
    более вообще ничего делать не нужно ?

  17. павел:

    вы не поверите…но,положил патчер,положил ваш комадный файл,запустил,пролетело окно, вроде все ок.
    перезагруз…ничего не изменилось. вообще ничего !
    даже меню выбора при загрузке системы не добавилось…
    посмотрел внутри ваш файл-вроде все на месте: он и для win 7 и для win 8…
    вообще не пойму-что не так ? )))

  18. павел:

    интересно , а здесь вообще кто-нибудь устанавливал патчер не на «виртуалку» ?

  19. Александр:

    Всем привет! НА сколько я понимаю 8.1 патч так и не поддерживает!? Есть у кого информация когда будет поддерживать или может другой патч!?

  20. Виталий:

    Здравствуйте,сделал все как здесь написано,все нормально все работает.
    Windows 7 x86,процессор AMD Phenom II X2 560 Black Edition(два ядра обычных,два заблокированных).
    Но если разблокировать заблокированные ядра то система не загружается,уходит на перезагрузку,а с двумя обычными ядрами работает нормально.
    До переделки система работала с четырьмя ядрами нормально.

    • Какой, однако, интересный процессор… Судя по тем описаниям, которые удалось найти, этот процессор считается двухъядерным и включение еще двух заблокированных ядер официально не поддерживается. Можно предположить, что собака порылась именно здесь. Как мы знаем, проблемы, которые могут возникнуть после снятия 4 ГБ ограничения в режиме PAE, связаны исключительно с софтом, а именно с драйверами устройств. Можно попробовать обновить все, что возможно: BIOS, драйвера материнской платы и т.д. Если все уже было новое или не помогло, то теоретически можно попробовать PatchPae2.

  21. Виталий:

    BIOS, драйвера все новое,делал все при помощи PatchPae2 с использованием patchpae2cmd,с двумя обычными ядрами работает нормально.
    Еще раньше ставил Windows 7 x64 с двумя обычными ядрами работает с четырьмя нет.

    • Если в х64 не работает, то в х86 со снятым ограничением памяти точно работать не будет. Можно даже и не пытаться.

  22. Виталий:

    Что можете посоветовать ?

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

  23. Сергей:

    Драйвер видеокарты Intel HD Graphics 4000 не работает когда снял ограничение.
    Без него — загружается всё ок и показывает что использует все 8 гиг памяти.
    Вот такая беда :(

    • Да, проблемы со встроенной графикой известны. К сожалению. Вот бездельники. Даже Intel не удосужилась написать нормальные драйверы для PAE. Я вижу такие возможные варианты: переход на х64 (банально), установка внешней видеокарты (если не ноутбук). Если ничего такого глобального делать не планируется, то можно установить и поиграть с программой Dataram RAMDisk, о которой я упоминал в недавнем посте. Она умеет задействовать память выше 4 ГБ. В зависимости от того какие задачи преимущественно выполняет ваш компьютер, на диск, созданный в незадействованной верхней памяти, можно перенести наиболее часто читаемые и перезаписываемые файлы. Например, кеш браузера, /tmp и т.д.

    • Сергей:

      Александр, спасибо. К сожалению это ноутбук :( и на сайте Intel поддержка по этому поводу (снятие лимита памяти на 32-разрядной Win7) отговаривается просто: это типа «левое» решение от 3-их разработчиков мы его поддерживать не обязаны. Мне просто надо запускать и компилировать 16-битные программы, а это невозможно в 64-битной системе :( Придётся ставить 64-битную и работать в виртуальной 32-битной машине. А так этого не хотел!

    • Позиция Intel абсолютно понятна. И не подкопаешься. Однако, как Вы понимаете, одна 32-разрядная виртуальная машина ничего не решит. Так как она будет использовать все те же 4 ГБ памяти при определенной потере производительности, то она имеет смысл только при параллельном решении еще каких-то задач.

    • Сергей:

      Нашёл вроде бы решение для Intel HD Graphics 4000 и т.п.:
      оказывается для 32-разрядных XP драйверы корректно работают в системах с памятью 4 и более гигабайт! Решение состоит в том чтобы поставить драйвер от 32-разрядной XP, предварительно подправив inf-файл. При этом не будет поддерживаться Windows Aero и судя по отзывам меньше скорость работы видео-драйвера. Имеет смысл выбрать упрощённую тему рабочего стола. Насколько это всё приемлемо — выясню позже.
      Источники:
      вообще по проблеме драйвера на сайте поддержки Intel:
      https://communities.intel.com/thread/32085
      по решению проблемы установкой драйвера от XP (5-ое сообщение):
      http://wj32.org/wp/2011/02/23/pae-patch-updated-for-windows-7-sp1/

  24. monowar:

    Как я понял и в Win 7 ultimate x 64 так-же можно увеличить память?

  25. monowar:

    Наверно мой вопрос не в тему,но при увеличении объёма памяти стандартным способом через доп.параметры,файл подкачки ,при перезагрузке системы автоматом встаёт на 2 Гбт,поэтому я и задал вопрос выше

    • Все описанное в данной статье и других статьях цикла относится исключительно к 32-разрядным версиям Windows.

  26. monowar:

    Спасибо за пояснение,буду думать как исправить положение

  27. 4Гб увиделись, но НВидия упорно сопротивляется, вернулся на непатченное ядро.

    • Жаль. Но, к сожалению, ничего не поделаешь. Видеокарта скорее всего без собственной памяти?

  28. Попробовал пропатчить свою 32-битную Win 7 Ultimate, но получил ошибку о том, что «Не удалось создать модифицированное ядро Windows».
    Смущает тот факт, что файл ntkrnlpx.exe создаётся и по логике программы после проверки его существования должен происходить вызов блока NEWOSID, а она почему-то переходит на метку NOKRNL.
    При этом пункты в меню загрузки создаются, но после попытки загрузки система сразу переходит в режим восстановления, ругаясь на повреждённый файл загрузки ntkrnlpx.exe.
    Очень странно.

    • Олег:

      Оказывается скрипт отрабатывает правильно — просто в вашем скрипте блок с меткой :END не снабжён заключительной директивой EXIT и поэтому после финального нажатия на клавишу выскакивало сообщение о том, что «Не удалось создать модифицированное ядро Windows» в идущем за ним блоке с меткой :NOKERN.

      Таким образом, скрипт полностью отрабатывает, но после перезагрузки, как я писал выше, система сразу переходит в режим восстановления и ругается на повреждённый файл ntkrnlpx.exe и начинает от него избавляться. Что это может означать?

  29. Олег:

    Вобщем, скрипт больше не работает по крайней мере для Win 7, и в частности для Ultimate.
    На всех сайтах, посвящённых этой проблеме последние пару-тройку лет многие жалуются, что после успешного пропатчивания компьютер переходит в режим восстановления и ничего не помогает.
    Пока не нашёлся никто, кто бы смог это победить.
    Придётся заняться гемором по установке 64-битной винды.
    А как этого хотелось избежать :(((

Написать комментарий

Subscribe without commenting