Меню Рубрики

Как пропатчить ядро windows 7

Как пропатчить ядро без перезагрузки: livepatch, kpatch и Canonical Livepatch Service

Тему обновления патчей ядра без перезагрузки мы уже рассматривали в статье, опубликованной в 2014 году. В ней речь шла о KernelCare — инструменте, разработанном нашими партнёрами из компании Cloud Linux. На момент написания статьи KernelCare был чуть ли не единственным пригодным для полноценного использования инструментом для наложения патчей.

Прошло два с небольшим года — и ситуация изменилась, причём кардинально: начиная с версии 4.0 возможность наложения патчей «на лету» была официально добавлена в ядро.

Инструменты kpatch и kGraft, которые в 2014 году находились в «сыром» состоянии, также были существенно усовершенствованы. Kpatch даже был добавлен в официальные репозитории, — например, в Ubuntu 16.04 его уже можно установить с помощью стандартного менеджера пакетов.

А компания Canonical совсем недавно представила сервис Canonical Livepatch Service, с помощью которого можно патчить без перезагрузки ядро Ubuntu.

Более подробно о некоторых современных инструментах для добавления патчей мы расскажем в этой статье.

Простейший пример: livepatch

Начнём с очень простого эксперимента. Для этого нам понадобится любой дистрибутив Linux c ядром версии 4.0 или выше (в нашем случае это Ubuntu 16.04; здесь и далее все примеры команд приводятся именно для этого дистрибутива). В новых версиях ядра функция добавления патчей «на лету»(она так и называется — livepatch) включена по умолчанию.

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

Далее установим отладочные символы ядра:

При выполнении этой команды в Ubuntu 16.04 может быть выдано следующее сообщение об ошибке:

Причина ошибки в том, что репозитории deb-src по умолчанию не подключены, а соответствующие строки в файле /etc/apt/sources.list закомментированы. Чтобы мы смогли работать с репозиториями исходных кодов, выполним:

После этого предыдущая команда будет выполняться без ошибок. К эксперименту всё готово, можно начинать:

Мы скачали код модуля ядра, который вносит изменения в основной ядерный код и модифицирует вывод команды cat /proc/cmdline. Теперь этот самый модуль нужно собрать. Для этого создадим следующий make-файл:

Соберём модуль и вставим его в ядро:

Посмотрим, что получилось. Выполним:

Вместо стандартной информации о параметрах ядра мы увидим вот такой текст:

Как видим, патч был успешно применён.

Вся информация о загруженных патчах хранится в директории /sys/kernel/livepatch:

Деактивировать патч можно с помощью команды:

Kpatch

Kpatch — инструмент, разработанный компаний Red Hat. Впервые он был представлен широкой пользовательской аудитории в феврале 2016 года. За это время он был значительно усовершенствован: в Ubuntu 16.04 он уже включён в официальные репозитории. Рассмотрим особенности работы с kpatch на практических примерах.

Начнём с установки необходимых зависимостей:

Для полноценной работы с kpatch также желательно установить ccache:

Вот и всё, зависимости установлены. Можно устанавливать kpatch:

В нашем эксперименте мы будем патчить исходники ядра. Клонируем репозиторий с исходным кодом нашей текущей версии Ubuntu:

По завершении клонирования скопируем исходники в директорию ubuntu-xenial-kpatch (это нужно, чтобы вносить изменения в исходный код и потом создавать на основе этих изменений патчи):

Откроем файл ubuntu-xenial-kpatch/ubuntu-xenial/fs/proc/version.c и внесём в него следующие изменения:

Cоздадим патч с помощью команды:

Патч представляет собой обычный текстовый файл, в котором перечислены внесённые изменения:

Чтобы добавить патч в ядро, выполним:

Как видно из только что приведённого вывода, на выходе мы получаем модуль ядра. Чтобы применить патч, нужно просто добавить этот модуль стандартным способом:

Посмотрим, что получилось в результате:

Canonical Livepatch Service

Несколько месяцев назад компания Canonical запустила официальный сервис Canonical LivePatch Service, который позволяет патчить ядро «на лету» при помощи простейших команд. Этот сервис ориентирован в первую очередь на пользователей enterprise-уровня, и поэтому является платным.

Но рядовые пользователи тоже могут оперативно получать все свежие обновления ядра. Для этого нужно зарегистрироваться на Ubuntu One и получить токен. Токен даёт возможность установить на 3 машины программу canonical-livepatch, которая загружает и добавляет патчи.

Посмотрим, как работает Canonical Livepatch Service. Перейдём по ссылке выше, получим токен, а далее выполним:

По завершении установки выйдем из системы, затем войдём снова и выполним:

Если всё было сделано правильно, мы получим следующее сообщение:

Далее выполним команду:

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

Также информацию об установленных патчах можно получить, заглянув в уже упомянутую выше директорию /sys/kernel/livepatch:

Kpatch_livepatch_Ubuntu_4_4_0_47_68_generic_14 — это и есть последний загруженный патч. Последние цифры в имени патча (14) совпадают с номером версии, указанным в выводе команды canonical-livepatch status (см. выше).

Убедиться, что новый патч был добавлен, можно и с помощью команды lsmod:

Заключение

В этой статье мы проделали небольшой отбор инструментов для добавления патчей в ядро Linux. Естественно, что все аспекты темы в рамках одной публикации затронуть невозможно. Если у вас есть замечания и дополнения — добро пожаловать в комментарии.

А если вы хотите изучить тему более глубоко, обратите внимание на следующие ссылки:

Источник

Запрещенная модификация ядра Windows Обнаружена ошибка [ИСПРАВЛЕНИЕ АС

Игроки широко обсуждали ошибку Обнаружено запрещенное изменение ядра Windows на многочисленных игровых форумах. Эта ошибка возникает из-за отсутствия совместимости между сборками Windows Insider Preview и программным обеспечением Easy Anti-Cheat. Следовательно, игроки не могут запускать игры, когда появляется это сообщение об ошибке.

Пользователи бросились делиться своими проблемами в Интернете.

«Обнаружено запрещенное изменение ядра Windows», которое постоянно появляется в программе Insider для игр, в которых используется Easy Anti-Cheat.

Устраните ошибку, выполнив следующие действия.

Как я могу исправить Запрещенную Модификацию Ядра Windows?

1. Оставьте программу Windows Insider

  1. Так как ошибка «Запрещенное ядро ​​Windows» в первую очередь возникает у пользователей, играющих в игры в версиях сборки Windows Insider Program, вероятно, лучшим решением для нее является использование Insider Program. Чтобы отказаться от участия в программе Insider, нажмите кнопку Настройки в меню «Пуск».
  2. Выберите Обновление и безопасность в настройках.
  3. Затем нажмите Программа Windows Insider , чтобы открыть параметры WIP.
  4. Нажмите кнопку Остановить предварительный просмотр инсайдерской сборки .
  5. Выберите параметр Продолжать давать мне сборки до следующего выпуска Windows . Затем пользователям нужно будет дождаться выхода следующей общедоступной версии сборки Windows, чтобы покинуть программу Insider.
  6. Кроме того, пользователи могут выбрать Вернуть меня к последнему варианту выпуска Windows , чтобы вернуться к последней общедоступной версии Windows и выйти из Инсайдерской программы с более немедленным эффектом.
  7. Выберите параметр Подтвердить .
  8. Затем нажмите Перезагрузить сейчас , чтобы перезагрузить Windows.

2. Настройте файл CMD

  1. Введите «Блокнот» в поле «Введите здесь для поиска» и нажмите «Блокнот», чтобы открыть этот текстовый редактор.
  2. Затем скопируйте текст ниже с помощью горячей клавиши Ctrl + C.
    DEL «% windir% \ system32 \ drivers \ oem-drv64.sys» DEL «% windir% \ system32 \ xNtKrnl.exe» DEL «% windir% \» system32 \ xOsLoad.exe »DEL«% windir% \ System32 \ ru-RU \ xOsLoad.exe.mui »DEL«% windir% \ System32 \ en-US \ xOsLoad.exe.mui »% windir% \ System32 \ BCDEDIT. exe/set <текущий>путь \ Windows \ system32 \ winload.exe% windir% \ System32 \ BCDEDIT.exe/deletevalue <текущий>kernel% windir% \ System32 \ BCDEDIT.exe/deletevalue <текущий>nointegritychecks% windir% \ System32 \ BCDEDIT.exe/deletevalue <текущий>пользовательский: 26000027

REG DELETE HKLM \ SYSTEM \ CurrentControlSet \ services \ oem-drv64/va/f

  • Вставьте этот текст в Блокнот с помощью сочетания клавиш Ctrl + V.
  • Нажмите Файл и выберите вариант Сохранить как .
  • Выберите Все файлы в раскрывающемся меню типа Сохранить как .
  • Введите «1.cmd» в поле «Имя файла».
  • Выберите, чтобы сохранить файл на рабочем столе.
  • Нажмите кнопку Сохранить .
  • Щелкните правой кнопкой мыши файл 1.cmd на рабочем столе и выберите Запуск от имени администратора .
  • Некоторые игроки говорят, что они исправили ошибку Forbidden Windows Kernal, переустановив программное обеспечение для запуска игр (например, Epic Games Launcher или Steam) и игры. Так что это тоже стоит попробовать.
  • 3. Сбросить Windows

    1. Чтобы перезагрузить Windows, нажмите Настройки (в меню «Пуск»).
    2. Выберите Обновление и безопасность >Восстановление >Сбросить этот компьютер .
    3. Нажмите Начать , чтобы открыть окно, показанное ниже.
    4. Затем выберите параметр Сохранить мои файлы и нажмите Далее >Сбросить .

    Читайте также . Как выполнить сброс настроек Windows 10 до заводских настроек

    Надеемся, что Microsoft и издатели античит-кода полностью исправят ошибку «Запрещенная модификация ядра Windows» с последующими обновлениями. До тех пор игроки могут попытаться исправить эту ошибку с разрешениями выше.

    Источник

    WinKernel — автоматическое обновление ядра Windows 7 x64

    Этот проект предназначен для полного решения проблемы с обновлением ядра на системах Windows 7 x64, которые были активированы через ODIN.

    Как известно, на 64-разрядных системах для работы драйвера эмуляции SLIC-таблицы требуется патчить ядро, которое после установки новых обновлений устаревает, следствием чего являются ошибки в работе системы, такие как ошибка 0xc0000005, а в некоторых случаях и полная неработоспособность системы.

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

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

    Инструкция по использованию:

    WinKernel.exe /install — установить WinKernel в систему.
    WinKernel.exe /delete — удалить WinKernel из системы.

    Добавьте ключ /silent для включения тихого режима.

    Примечания:
    • Для установки программы через SetupComplete.cmd нужно писать WinKernel.exe /install /silent.
    • Файлы comparevers.exe, cvc.xml, xNtKrnl.exe, xOsLoad.exe не нужны, они обновляются на лету.
    • Программа также следит за актуальностью файлов xOsLoad.exe.mui для всех языков в системе.
    • Интегрировать в сборку обновления с новым ядром нет необходимости, оно будет обновлено вовремя.
    • Логи пока не ведутся совсем, так как программа хорошо протестирована. Не будет работать — тогда и будем разбираться.
    • Если никакой активатор не используется, установленный WinKernel не принесёт вреда, он просто ничего не будет делать.

    WinKernel — автоматическое обновление ядра Windows 7 x64 : 16 комментариев

    В WinKernel 2.0 добавлена поддержка KB4056894 и KB4056897, без новой версии при установке этих обновлений будет BSOD.

    Означает ли это, что новых сборок с обновлениями больше не будет, и всем предлагается просто пропатчить ядро?

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

    Понял, спасибо. а в январе сборку ждать?

    Наверное логи не нужны. Прога действительно работает отлично, а от логов только грязь. Если какие нюансы, то тогда можно сделать сбор логов, но опять-же только на время разбирательства, а дальше опять без логов. Просто не очень хочется лишней грязи.
    И ещё вопрос. Когда можно ожидать выхода нового пакета обновок. Уж хочется интегрировать за новый год. Спасибо.

    Это не тема набора обновлений, ответ на ваш вопрос есть в соответствующей теме на форуме.

    А что если комп вообще не запускается, в любом режиме эта ошибка

    Запустите SmartFix из любого WinPE, он исправляет эту проблему.

    Доброго времени суток. Можно ли залить программу с биоса ноутбук не запускается пишет что ядро повреждено или отсутствует интэл кор 2 ядра ноутбук тошиба эквиум а 200-26д.заранее спасибо

    Напишите дословный текст ошибки, но кажется мне она не в кассу.

    Приветствую. Есть версия для x86?

    Она не нужна для x86.

    вчера обновления ставил. теперь не в каком режиме не запускается! в безопасном не запускается! вообще комп 1,5года не работал до этого.
    как мне ваше чудо установить?

    На сломанную систему никак, для исправления ошибки достаточно запустить SmartFix из любого WinPE.

    Здравствуйте скажите на Windows 7 OEM (от производителя), Эта программа не актуальна?

    Если не активировали ODIN’ом, то не актуальна. Впрочем, она сама проверит при запуске и не установится в загрузку, если по факту не нужна.

    Источник

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

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

  • Как пропатчить windows 7 для тем
  • Как прокачать windows 7 до максимальной
  • Как пройти валидацию windows 7
  • Как пройти активацию windows 7
  • Как происходит загрузка windows