NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit Техника
Содержание
  1. Hal dll отсутствует или поврежден Windows XP
  2. Table of Contents
  3. Steps to Download the Hal. dll File 
  4. Most Seen Hal. dll Errors 
  5. Синий экран Hal. dll отсутствует
  6. Как самостоятельно исправить ошибку «отсутствует Hal. dll»?
  7. Как исправить Hal. dll ошибки в Windows 7, 8 и Vista
  8. Как исправить ошибку Hal. dll в Windows 7, 8, Vista
  9. Способы исправления ошибки с библиотекой hal. dll
  10. Устраняем ошибку hal. dll в Windows XP
  11. Подготовительные мероприятия
  12. Способ 1: Распаковка hal. dl_
  13. Способ 2: Распаковка ntoskrnl. ex_
  14. Способ 3: Редактирование файла boot. ini
  15. Способ 4: Проверка диска на ошибки
  16. Устраняем ошибку hal. dll в Windows 7, 8 и 10
  17. Подготовительные мероприятия
  18. Способ 1: Установка hal. dll
  19. Способ 2: Восстановление ntoskrnl. exe
  20. Способ 3: Редактирование boot. ini
  21. Способы исправления ошибки с библиотекой hal. dll
  22. Устраняем ошибку hal. dll в Windows XP
  23. Подготовительные мероприятия
  24. Способ 1: Распаковка hal. dl_
  25. Способ 2: Распаковка ntoskrnl. ex_
  26. Способ 3: Редактирование файла boot. ini
  27. Способ 4: Проверка диска на ошибки
  28. Устраняем ошибку hal. dll в Windows 7, 8 и 10
  29. Подготовительные мероприятия
  30. Способ 1: Установка hal. dll
  31. Способ 2: Восстановление ntoskrnl. exe
  32. Способ 3: Редактирование boot. ini
  33. Какие бывают способы установки?
  34. Как получить драйвер?
  35. Ручная установка драйвера
  36. Термины и определения
  37. Перечисление устройств
  38. Обнаружение драйверов
  39. Хранилище драйверов
  40. Системный каталог INF-файлов
  41. INF-файл
  42. Проверка цифровой подписи драйвера
  43. Создание резервной копии
  44. Инсталляция драйвера

Hal dll отсутствует или поврежден Windows XP

При включении Windows говорит что файл hal.dll испорчен или поврежден попробуйте восстановить нажав кнопку r.

Для начала нужно скачать архив, я собрал файлы, которые могут пригодится для исправления ошибки. Это сам файл hal.dll (для windows xp и для windows 7).

Скачать hal.dll

Теперь вот что нам нужно делать:

1. Первый способ это запустить Windows, если он загружается и файл hal.dll, который вы скачаете нужно копировать и заменить в папку C:\Windows\system32 (Если у вас операционная система на диске C если нет, выберите другой диск). Перезагружаемся смотрим… Если ошибка осталась смотрите ниже…

2. Второй способ, если вдруг не запускается Windows, то нам понадобится любой установочный диск windows… Ну соответственно если у вас windows XP то и диск должен быть Windows XP.

Вставляем диск в CD-ROM и выставляем загрузку с диска в биосе. Если у вас Windows на флешке, то выставляем загрузку с флешки в биосе.

Далее загружаемся с диска… Нажимаем любую клавишу.

Загрузка windows при установки

Ждем некоторое время, должно появится вот такое окно, в котором нажимаем R.

Восстанавливаем фаил

После того как вы нажмете R появится экран восстановления. Тут как раз мы и сможем восстановить поврежденный hal.dll

В окне выбираем вашу операционную систему, в моем случае первая.

Выбор операционной системы

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

Для начала распаковываем нужный нам файл, командой expand e:\i386\hal.dl_ c:\

Т.е. мы распаковываем файл с диска hal.dll из архива hal.dl_ на диск C: . У меня бука e: буква сидирома моего, у вас может быть другая, по этому пробуйте разные если не получится.

Теперь нам надо поместить файл hal.dll на свое место, делается это командой copy c:\hal.dll c:\windows\system32\ нажимаем Y (заменить).

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

Hal dll отсутствует или поврежден Windows XP

Теперь Windows должен запустится. Тестировал лично, у меня все стабильно работает.

3. Способ третий если не запускается.

Тут уж проблема в ошибках. Получается мы копировали рабочий файл, а он опять сломался… Значит проблема кроется в оперативной памяти либо в жестком диске. Вам нужно протестировать оперативную память на ошибки, если не заработает, то проверить и исправить битые секторы на жестком диске.

Если вы все проделали правильно проблемы возникнуть не должно и windows должен запуститься с работающим файлом hal.dll.

https://youtube.com/watch?v=KP__SWp7xl0

Table of Contents

  • What is Hal.dll? What Does It Do?
  • Operating Systems Compatible with the Hal.dll File
  • Other Versions of the Hal.dll File
  • Steps to Download the Hal.dll File
  • Methods to Solve the Hal.dll Errors
    • Method 1: Copying the Hal.dll File to the Windows System Folder
    • Method 2: Copying The Hal.dll File Into The Software File Folder
    • Method 3: Doing a Clean Install of the software That Is Giving the Hal.dll Error
    • Method 4: Solving the Hal.dll error with the Windows System File Checker
    • Method 5: Fixing the Hal.dll Error by Manually Updating Windows
      • Windows Update Guides
  • Most Seen Hal.dll Errors
  • Dll Files Similar to Hal.dll

Steps to Download the Hal. dll File 

  1. First, click on the «Download» button in the top left section of this page (The button that is marked in the picture).
    Start downloading the Hal.dll file
    Step 1:Start downloading the Hal.dll file
  2. «After clicking the Download» button, wait for the download process to begin in the «Downloading» page that opens up. Depending on your Internet speed, the download process will begin in approximately 4 -5 seconds.

Most Seen Hal. dll Errors 

When the Hal.dll file is damaged or missing, the softwares that use this dll file will give an error. Not only external softwares, but also basic Windows softwares and tools use dll files. Because of this, when you try to use basic Windows softwares and tools (For example, when you open Internet Explorer or Windows Media Player), you may come across errors. We have listed the most common Hal.dll errors below.

You will get rid of the errors listed below when you download the Hal.dll file from DLL Downloader.com and follow the steps we explained above.

  1. «Hal.dll not found.» error
  2. «The file Hal.dll is missing.» error
  3. «Hal.dll access violation.» error
  4. «Cannot register Hal.dll.» error
  5. «Cannot find Hal.dll.» error
  6. «This application failed to start because Hal.dll was not found. Re-installing the application may fix this problem.» error

Синий экран Hal. dll отсутствует

Ошибка «отсутствует или поврежден hal.dll» может появляться в нескольких вариациях, вот самые распространенные из них:

  • «Не удается запустить Windows, поскольку следующий файл отсутствует или поврежден: Windows root\system32\hal.dll.Установите заново копию указанного выше файла.»
  • «Winnt_root»\System32\Hal.dll отсутствует или поврежден: Установите заново копию указанного выше файла.»
  • «Не удается найти \Windows\System32\hal.dll»
  • «Не удается найти hal.dll»

Ошибка hal.dll отображается вскоре после включения компьютера. Windows XP еще не успевает загрузиться полностью как появляется такое сообщение.

Причиной ошибки «windows root system32 hal dll» является — повреждение, удаление или перемещение с предполагаемого местонахождения файла hal.dll.

Повреждение файла boot.ini или, возможно, физическое повреждение жесткого диска.

Так же если вы видите надпись hall dll (с двумя ll), то причиной может являться вирус. В данном случае просто просканируйте систему антивирусной программой, и проблема может быть решена.

Данная проблема иногда возникает с ошибкой отсутствия Msvcr110.dll

Как самостоятельно исправить ошибку «отсутствует Hal. dll»?

Примечание: поскольку ошибки hal.dll появляются перед полной загрузкой Windows XP, вы не сможете правильно перезагрузить компьютер. Вместо этого, нужно будет сделать это принудительно. На системном блоке, вы увидите кнопку принудительной перезагрузки.

Проверьте правильность порядка загрузки в BIOS. Ошибка hal.dll может появляться, если нарушен порядок загрузки в BIOS: обратите внимание на то, какой жесткий диск стоит первый.

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

Примечание: если восстановление boot.ini не исправило ошибку hal.dll, и она появляется снова после перезагрузки, и вы недавно установили Internet Explorer 8(IE8) в Windows XP, удалите его. В этом конкретном случае, IE8 может быть первопричиной ошибки hal.dll.

  • Создать новый загрузочный сектор в Windows XP. Если загрузочный сектор поврежден или не правильно настроен, появляется ошибка dll.
  • Восстановление данных с поврежденных секторов на жестком диске. Если физическая часть вашего жесткого диска, хранящая какую-либо долю файла hal.dll была повреждена, то вы вероятнее всего увидите ошибку system32 hal.dll.
  • Восстановить hal.dll файл с компакт-диска Windows XP. Если hal.dll файл является причиной проблемы, его восстановление с оригинального компакт-диска Windows XP решит вопрос.
  • Выполните установку Windows ХР путем восстановления. Этот тип установки заменит отсутствующие или поврежденные файлы. Продолжите поиск неисправностей, если это не поможет устранить проблему.
  • Выполните чистую установку Windows XP. Этот тип установки полностью сотрет вашу Windows XP с компьютера и установит ее заново.

    Примечание: Хотя, это почти 100% способ решить любые hal.dll ошибки, этот процесс очень трудоемкий, в связи с тем, что все ваши данные должны быть закреплены и потом восстановлены.

    Важно: Если вы не можете получить доступ к вашим файлам для их резервного копирования, вы должны понимать, что потеряете их полностью, в случае установки чистой Windows XP.

    Если жесткий диск не прошел не один из тестов, замените его и затем установите новую Windows XP на ваш компьютер.

    Эта проблема относится к Windows XP, включая Windows XP Professional и Windows XP Home Edition.

    В других операционных системах, такие как Windows 8, Windows 7, Windows Vista, ошибка hal.dll тоже может возникать, но причины ее настолько различны, что оно представляет собой совершенно другое руководство по устранению неполадок (см. ниже).

    Как исправить Hal. dll ошибки в Windows 7, 8 и Vista

    Руководство по устранению ошибки «отсутствующего Hal.dll» в Windows 8, 7 и Vista

    Сообщение об ошибке Hal.dll

    Поскольку выше мы уже разобрали ошибку hal.dll в Windows ХР, вкратце напомню вам, в каком виде может появиться данные ошибки в Windows 7, Windows 8 и Windows Vista которые возникают в середине загрузки системы:

    • «Не удается запустить Windows, поскольку следующий файл отсутствует или поврежден: C:\Windows\system32\hal.dll.Установите заново копию указанного выше файла.»
    • «Не удается найти \Windows\System32\hal.dll»
    • «C:\Windows\System32\Hal.dll отсутствует или поврежден:

    Установите заново копию указанного выше файла.»

    Причиной ошибки » windows root system32 hal dll» является — повреждение, удаление или перемещение с предполагаемого местонахождения файла hal.dll.

    Другой возможной причиной является поврежденный жесткий диск, но в большинстве случаев в Windows 8, Windows 7 и Windows она появляется из-за проблем с основным загрузочным кодом.

    Так же если вы видите надпись hall dll (с двумя ll), то причиной может быть вирус. В данном случае просто просканируйте систему антивирусной программой, и проблема будет решена.

    Как исправить ошибку Hal. dll в Windows 7, 8, Vista

    1. Перезагрузите компьютер. Начните с этого. Маловероятно, но ошибка hal.dll может быть вызвана временной проблемой, с которой справиться перезагрузка компьютера.

    Примечание: поскольку ошибки hal.dll появляются перед полной загрузкой Windows, в этом случае нет возможности правильно перезагрузить компьютер. Вместо этого, вы должны сделать это принудительно. На системном блоке, вы можете найти кнопку принудительной перезагрузки.

    Проверьте последовательность загрузки в BIOS. Ошибка будет появляться, если BIOS настроен так, что во время загрузки первым списки жесткий диск другой, чем с обычно используемым копии Windows, установленной на нем.

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

  • Выполните восстановление системы. Запуск процесса восстановления в Windows 7 и Vista является автоматизированной загрузкой Windows fix, этот инструмент в большинстве случаев исправит ошибку hal.dll, связанную с повреждением или отсутствием файла hal.dll.
  • Обновите загрузочный код, по использованию BOOTMGR. Если объем загрузочного кода поврежден или настроен для другого менеджера загрузки кроме BOOTMGR, тогда вы будите наблюдать ошибку «hal.dll отсутствует».

    Примечание: проблема с объемом загрузочного кода является наиболее распространенной причиной ошибки hal.dll в Windows 7, 8 или Vista.

    Я описываю его четвертым шагом, поскольку первые являются наиболее простыми в исполнении. Однако если вы уверенно работаете с advanced tools в Windows, не стесняйтесь сделать этот шаг первым.

  • Тест жесткого диска. Есть вероятность, что проблемой является повреждение жесткого диска. Замените жесткий диск, если по результатам теста, в нем обнаружилась проблема и затем снова установите Windows 8, 7 или Vista на Новый Диск.
  • Выполнить чистую установку Windows. Этот вид установки Windows, полностью сотрет все ваши данные (включая ошибки) и загрузит вам новую систему.
  • источник

    Способы исправления ошибки с библиотекой hal. dll

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Ошибка, связанная с hal.dll, во многом отличается от других подобных. Эта библиотека отвечает не за внутриигровые элементы, а непосредственно за программное взаимодействие с «железом» компьютера. Отсюда следует, что устранить проблему из-под Windows не получится, даже более того, если ошибка появилась, то не получится даже запустить операционную систему. В этой статье будет подробно разобраны способы устранения ошибки с файлом hal.dll.

    Дополнительно:  Перегревается ноутбук и выключается что делать?

    Устраняем ошибку hal. dll в Windows XP

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

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

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

    Подготовительные мероприятия

    Перед тем как переходить непосредственно к исправлению ошибки, необходимо разобраться в некоторых нюансах. Ввиду того что доступа к рабочему столу операционной системы мы не имеем, все действия выполняются через консоль. Вызвать ее можно только через загрузочный диск или флешку с тем же дистрибутивом Windows XP. Сейчас будет дано пошаговое руководство по запуску «Командной строки».

    Шаг 1: Запись образа ОС на накопитель

    Если вы не знаете, как записать образ ОС на флешку или диск, то на нашем сайте есть подробная инструкция.

    Шаг 2: Запуск компьютера с накопителя

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

    После того как в BIOS вы выставили приоритетный диск, при запуске компьютера нужно нажать клавишу Enter во время отображения надписи «Press any key to boot from CD», в противном случае начнется запуск установленной Windows XP и вы снова увидите сообщение об ошибке hal.dll.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Шаг 3: Запуск «Командной строки»

    После того как вы нажмете Enter, появится синий экран, как изображено на скриншоте ниже.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Не спешите ничего нажимать, дождитесь появления окна с выбором дальнейших действий:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Так как нам необходимо запустить «Командную строку», нужно нажать клавишу R.

    Шаг 4: Вход в Windows

    После открытия «Командной строки» необходимо выполнить вход в Windows, чтобы получить права на выполнение команд.

      На экране будет отображаться список установленных операционных систем на жестком диске (в примере всего одна ОС). Все они пронумерованы. Вам необходимо выбрать ту ОС, при запуске которой появляется ошибка. Для этого введите ее номер и нажмите Enter.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    После этого у вас запросят пароль, который вы указывали при установке Windows XP. Введите его и нажмите Enter.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Примечание: если при установке ОС вы не задавали никакого пароля, то просто нажмите Enter.

    Теперь вы выполнили вход в систему и можете приступать непосредственно к исправлению ошибки hal.dll.

    Способ 1: Распаковка hal. dl_

    На накопителе с инсталлятором Windows XP есть множество архивов динамических библиотек. Так же там присутствует и файл hal.dll. Он находится в архиве под названием hal.dl_. Основная задача — распаковать соответствующий архив в нужную директорию установленной операционной системы.

    Изначально нужно узнать, какую именно букву имеет накопитель. Для этого нужно посмотреть весь их список. Введите следующую команду:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    В примере есть всего два диска: C и D. Из выдачи команды видно, что накопитель имеет букву D, об этом свидетельствует надпись «CdRom0», отсутствие информации о файловой системе и объеме.

    Теперь необходимо посмотреть путь к интересующему нас архиву hal.dl_. В зависимости от сборки Windows XP он может находиться в папке «I386» или «SYSTEM32». Их нужно проверить с помощью команды DIR:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Как можно заметить, в примере архив hal.dl_ находится в папке «I386», соответственно имеет путь:

    Теперь, зная путь к нужному файлу, мы можем его распаковать в системную директорию операционной системы. Для этого выполните следующую команду:

    expand D:\I386\HAL.DL_ C:\WINDOWS\system32

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    После выполнения команды осуществится распаковка нужного нам файла в системную директорию. Следовательно, ошибка будет устранена. Остается лишь изъять загрузочный накопитель и перезагрузить компьютер. Сделать это вы можете прямо из «Командной строки», вписав слово «EXIT» и нажав Enter.

    Способ 2: Распаковка ntoskrnl. ex_

    Если выполнение предыдущей инструкции не дало никакого результата, и после перезагрузки компьютера вы все равно видите текст ошибки, это означает, что проблема заключается не только в файле hal.dll, но и в приложении ntoskrnl.exe. Дело в том, что они взаимосвязаны, и при отсутствии представленного приложения на экран все равно выводится ошибка с упоминанием hal.dll.

    Решается проблема аналогичным способом — вам нужно с загрузочного накопителя распаковать архив, в котором содержится ntoskrnl.exe. Называется он ntoskrnl.ex_ и находится в той же папке, что и hal.dl_.

    Распаковка производится уже знакомой командой «expand»:

    expand D:\I386\NTOSKRNL.EX_ C:\WINDOWS\system32

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    После разархивации перезагрузите компьютер — ошибка должна исчезнуть.

    Способ 3: Редактирование файла boot. ini

    Как можно понять из предыдущего способа, сообщение об ошибке с упоминанием библиотеки hal.dll не всегда означает, что причина кроется в самом файле. Если предыдущие методы вам не помогли исправить ошибку, то, скорее всего, проблема в неверно заданных параметрах файла загрузки. Чаще всего это случается, когда на одном компьютере установлено несколько операционных систем, но бывают случаи, когда файл деформируется при переустановке Windows.

    Чтобы исправить возникшую проблему, необходимо все в той же «Командной строке» выполнить эту команду:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Из выдачи команды можно увидеть, что была обнаружена всего одна операционная система (в данном случае «C:\WINDOWS»). Ее нужно поместить в boot.ini. Для этого:

    1. На вопрос «Добавить систему в список загрузки?» впишите символ «Y» и нажмите Enter.
    2. Далее нужно указать идентификатор. Рекомендуется вписывать «Windows XP», но на самом деле можно все что угодно.
    3. Параметры загрузки указывать не нужно, поэтому нажмите Enter, тем самым пропустив этот этап.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Теперь система добавлена в список загрузки файла boot.ini. Если причина заключалась именно в этом, то ошибка устранена. Остается лишь перезагрузить компьютер.

    Способ 4: Проверка диска на ошибки

    Выше были приведены все способы, которые решают проблему на уровне операционной системы. Но бывает такое, что причина кроется в неисправности жесткого диска. Он может быть поврежден, из-за чего часть секторов попросту не работают корректно. В таких секторах может находиться тот самый файл hal.dll. Решение — проверить диск на наличие ошибок и исправить их в случае обнаружения. Для этого в «Командной строке» нужно выполнить команду:

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

    Устраняем ошибку hal. dll в Windows 7, 8 и 10

    В начале статьи было сказано, что ошибка, связанная с отсутствием файла hal.dll, чаще всего происходит в Windows XP. Так это, потому что в более ранних версиях операционной системы разработчики установили специальную утилиту, которая при отсутствии библиотеки запускает процесс ее восстановления. Но бывает и такое, что это все равно не помогает решить проблему. В этом случае все делать нужно самостоятельно.

    Подготовительные мероприятия

    К сожалению, среди файлов установочного образа Windows 7, 8 и 10 нет нужных, чтобы использовать инструкцию, применимую к Windows XP. Поэтому придется воспользоваться Live-CD операционной системы Windows.

    Примечание: ниже все примеры будут приводиться на Windows 7, но инструкция общая ко всем остальным версиям операционной системы.

    Изначально вам необходимо загрузить Live-образ Windows 7 из интернета и записать его на накопитель. Если вы не знаете, как это сделать, то ознакомьтесь со специальной статьей у нас на сайте.

    В этой статье и приводится пример с образом программы Dr.Web LiveDisk, но все пункты инструкции применимы и к образу Windows.

    После того как вы создали загрузочную флешку, нужно загрузить компьютер с нее. Как это сделать, было рассказано ранее. Загрузившись, вы попадете на рабочий стол Windows. После этого можно приступать к исправлению ошибки с библиотекой hal.dll.

    Способ 1: Установка hal. dll

    Устранить ошибку можно, скачав и поместив файл hal.dll в системную директорию. Находится она по следующему пути:

    Примечание: если на Live-CD вы не смогли установить интернет-соединение, то библиотеку hal.dll можно будет загрузить на другом компьютере, перекинуть ее на flash-накопитель, после чего скопировать файл уже на свой компьютер.

    Процесс установки библиотеки довольно простой:

    1. Откройте папку со скачанным файлом.
    2. Нажмите по нему правой кнопкой мыши и выберите в меню строку «Копировать».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

  • Перейдите в системную директорию «System32».
  • Вставьте файл, нажав ПКМ по свободному месту и выбрав пункт «Вставить».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

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

    Способ 2: Восстановление ntoskrnl. exe

    Как и в случае с Windows XP, причиной появления ошибки может стать отсутствие или повреждение в системе файла ntoskrnl.exe. Процесс восстановления этого файла точно такой же, как и файла hal.dll. Вам изначально нужно загрузить его на компьютер, после чего переместить в уже знакомую директорию System32, что находится по пути:

    После этого остается лишь вынуть флешку с записанным образом Lice-CD Windows и перезагрузить компьютер. Ошибка должна пропасть.

    Способ 3: Редактирование boot. ini

    В Live-CD boot.ini проще всего отредактировать, используя программу EasyBCD.

    Процесс ее установки довольно простой:

    1. Запустите скачанный инсталлятор.
    2. В первом окне кликните по кнопке «Next».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Далее примите условия лицензионного соглашения, нажав кнопку «I Agree».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Выберите устанавливаемые компоненты и нажмите «Next». рекомендуется все настройки оставить по умолчанию.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Дождитесь окончания установки и нажмите кнопку «Finish». Если вы не хотите, чтобы программа после этого запустилась сама, то уберите галочку с пункта «Run EasyBCD».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    После инсталляции можно приступать непосредственно к настройке файла boot.ini. Для этого:

      Запустите программу и перейдите в раздел «Установка BCD».

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

  • Способы исправления ошибки с библиотекой hal. dll

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Ошибка, связанная с hal.dll, во многом отличается от других подобных. Эта библиотека отвечает не за внутриигровые элементы, а непосредственно за программное взаимодействие с «железом» компьютера. Отсюда следует, что устранить проблему из-под Windows не получится, даже более того, если ошибка появилась, то не получится даже запустить операционную систему. В этой статье будет подробно разобраны способы устранения ошибки с файлом hal.dll.

    Устраняем ошибку hal. dll в Windows XP

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

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

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

    Подготовительные мероприятия

    Перед тем как переходить непосредственно к исправлению ошибки, необходимо разобраться в некоторых нюансах. Ввиду того что доступа к рабочему столу операционной системы мы не имеем, все действия выполняются через консоль. Вызвать ее можно только через загрузочный диск или флешку с тем же дистрибутивом Windows XP. Сейчас будет дано пошаговое руководство по запуску «Командной строки».

    Шаг 1: Запись образа ОС на накопитель

    Если вы не знаете, как записать образ ОС на флешку или диск, то на нашем сайте есть подробная инструкция.

    Шаг 2: Запуск компьютера с накопителя

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

    После того как в BIOS вы выставили приоритетный диск, при запуске компьютера нужно нажать клавишу Enter во время отображения надписи «Press any key to boot from CD», в противном случае начнется запуск установленной Windows XP и вы снова увидите сообщение об ошибке hal.dll.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Шаг 3: Запуск «Командной строки»

    После того как вы нажмете Enter, появится синий экран, как изображено на скриншоте ниже.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Не спешите ничего нажимать, дождитесь появления окна с выбором дальнейших действий:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Так как нам необходимо запустить «Командную строку», нужно нажать клавишу R.

    Шаг 4: Вход в Windows

    После открытия «Командной строки» необходимо выполнить вход в Windows, чтобы получить права на выполнение команд.

      На экране будет отображаться список установленных операционных систем на жестком диске (в примере всего одна ОС). Все они пронумерованы. Вам необходимо выбрать ту ОС, при запуске которой появляется ошибка. Для этого введите ее номер и нажмите Enter.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    После этого у вас запросят пароль, который вы указывали при установке Windows XP. Введите его и нажмите Enter.

    Дополнительно:  Синий экран смерти после запуска гта 5что делать ?? - Вопросы о GTA 5 на

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Примечание: если при установке ОС вы не задавали никакого пароля, то просто нажмите Enter.

    Теперь вы выполнили вход в систему и можете приступать непосредственно к исправлению ошибки hal.dll.

    Способ 1: Распаковка hal. dl_

    На накопителе с инсталлятором Windows XP есть множество архивов динамических библиотек. Так же там присутствует и файл hal.dll. Он находится в архиве под названием hal.dl_. Основная задача — распаковать соответствующий архив в нужную директорию установленной операционной системы.

    Изначально нужно узнать, какую именно букву имеет накопитель. Для этого нужно посмотреть весь их список. Введите следующую команду:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    В примере есть всего два диска: C и D. Из выдачи команды видно, что накопитель имеет букву D, об этом свидетельствует надпись «CdRom0», отсутствие информации о файловой системе и объеме.

    Теперь необходимо посмотреть путь к интересующему нас архиву hal.dl_. В зависимости от сборки Windows XP он может находиться в папке «I386» или «SYSTEM32». Их нужно проверить с помощью команды DIR:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Как можно заметить, в примере архив hal.dl_ находится в папке «I386», соответственно имеет путь:

    Теперь, зная путь к нужному файлу, мы можем его распаковать в системную директорию операционной системы. Для этого выполните следующую команду:

    expand D:\I386\HAL.DL_ C:\WINDOWS\system32

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    После выполнения команды осуществится распаковка нужного нам файла в системную директорию. Следовательно, ошибка будет устранена. Остается лишь изъять загрузочный накопитель и перезагрузить компьютер. Сделать это вы можете прямо из «Командной строки», вписав слово «EXIT» и нажав Enter.

    Способ 2: Распаковка ntoskrnl. ex_

    Если выполнение предыдущей инструкции не дало никакого результата, и после перезагрузки компьютера вы все равно видите текст ошибки, это означает, что проблема заключается не только в файле hal.dll, но и в приложении ntoskrnl.exe. Дело в том, что они взаимосвязаны, и при отсутствии представленного приложения на экран все равно выводится ошибка с упоминанием hal.dll.

    Решается проблема аналогичным способом — вам нужно с загрузочного накопителя распаковать архив, в котором содержится ntoskrnl.exe. Называется он ntoskrnl.ex_ и находится в той же папке, что и hal.dl_.

    Распаковка производится уже знакомой командой «expand»:

    expand D:\I386\NTOSKRNL.EX_ C:\WINDOWS\system32

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    После разархивации перезагрузите компьютер — ошибка должна исчезнуть.

    Способ 3: Редактирование файла boot. ini

    Как можно понять из предыдущего способа, сообщение об ошибке с упоминанием библиотеки hal.dll не всегда означает, что причина кроется в самом файле. Если предыдущие методы вам не помогли исправить ошибку, то, скорее всего, проблема в неверно заданных параметрах файла загрузки. Чаще всего это случается, когда на одном компьютере установлено несколько операционных систем, но бывают случаи, когда файл деформируется при переустановке Windows.

    Чтобы исправить возникшую проблему, необходимо все в той же «Командной строке» выполнить эту команду:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Из выдачи команды можно увидеть, что была обнаружена всего одна операционная система (в данном случае «C:\WINDOWS»). Ее нужно поместить в boot.ini. Для этого:

    1. На вопрос «Добавить систему в список загрузки?» впишите символ «Y» и нажмите Enter.
    2. Далее нужно указать идентификатор. Рекомендуется вписывать «Windows XP», но на самом деле можно все что угодно.
    3. Параметры загрузки указывать не нужно, поэтому нажмите Enter, тем самым пропустив этот этап.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Теперь система добавлена в список загрузки файла boot.ini. Если причина заключалась именно в этом, то ошибка устранена. Остается лишь перезагрузить компьютер.

    Способ 4: Проверка диска на ошибки

    Выше были приведены все способы, которые решают проблему на уровне операционной системы. Но бывает такое, что причина кроется в неисправности жесткого диска. Он может быть поврежден, из-за чего часть секторов попросту не работают корректно. В таких секторах может находиться тот самый файл hal.dll. Решение — проверить диск на наличие ошибок и исправить их в случае обнаружения. Для этого в «Командной строке» нужно выполнить команду:

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

    Устраняем ошибку hal. dll в Windows 7, 8 и 10

    В начале статьи было сказано, что ошибка, связанная с отсутствием файла hal.dll, чаще всего происходит в Windows XP. Так это, потому что в более ранних версиях операционной системы разработчики установили специальную утилиту, которая при отсутствии библиотеки запускает процесс ее восстановления. Но бывает и такое, что это все равно не помогает решить проблему. В этом случае все делать нужно самостоятельно.

    Подготовительные мероприятия

    К сожалению, среди файлов установочного образа Windows 7, 8 и 10 нет нужных, чтобы использовать инструкцию, применимую к Windows XP. Поэтому придется воспользоваться Live-CD операционной системы Windows.

    Примечание: ниже все примеры будут приводиться на Windows 7, но инструкция общая ко всем остальным версиям операционной системы.

    Изначально вам необходимо загрузить Live-образ Windows 7 из интернета и записать его на накопитель. Если вы не знаете, как это сделать, то ознакомьтесь со специальной статьей у нас на сайте.

    В этой статье и приводится пример с образом программы Dr.Web LiveDisk, но все пункты инструкции применимы и к образу Windows.

    После того как вы создали загрузочную флешку, нужно загрузить компьютер с нее. Как это сделать, было рассказано ранее. Загрузившись, вы попадете на рабочий стол Windows. После этого можно приступать к исправлению ошибки с библиотекой hal.dll.

    Способ 1: Установка hal. dll

    Устранить ошибку можно, скачав и поместив файл hal.dll в системную директорию. Находится она по следующему пути:

    Примечание: если на Live-CD вы не смогли установить интернет-соединение, то библиотеку hal.dll можно будет загрузить на другом компьютере, перекинуть ее на flash-накопитель, после чего скопировать файл уже на свой компьютер.

    Процесс установки библиотеки довольно простой:

    1. Откройте папку со скачанным файлом.
    2. Нажмите по нему правой кнопкой мыши и выберите в меню строку «Копировать».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

  • Перейдите в системную директорию «System32».
  • Вставьте файл, нажав ПКМ по свободному месту и выбрав пункт «Вставить».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

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

    Способ 2: Восстановление ntoskrnl. exe

    Как и в случае с Windows XP, причиной появления ошибки может стать отсутствие или повреждение в системе файла ntoskrnl.exe. Процесс восстановления этого файла точно такой же, как и файла hal.dll. Вам изначально нужно загрузить его на компьютер, после чего переместить в уже знакомую директорию System32, что находится по пути:

    После этого остается лишь вынуть флешку с записанным образом Lice-CD Windows и перезагрузить компьютер. Ошибка должна пропасть.

    Способ 3: Редактирование boot. ini

    В Live-CD boot.ini проще всего отредактировать, используя программу EasyBCD.

    Процесс ее установки довольно простой:

    1. Запустите скачанный инсталлятор.
    2. В первом окне кликните по кнопке «Next».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Далее примите условия лицензионного соглашения, нажав кнопку «I Agree».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Выберите устанавливаемые компоненты и нажмите «Next». рекомендуется все настройки оставить по умолчанию.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Дождитесь окончания установки и нажмите кнопку «Finish». Если вы не хотите, чтобы программа после этого запустилась сама, то уберите галочку с пункта «Run EasyBCD».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    После инсталляции можно приступать непосредственно к настройке файла boot.ini. Для этого:

      Запустите программу и перейдите в раздел «Установка BCD».

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

  • Какие бывают способы установки?

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

    1. Воспользоваться специальными программами для поиска и автоматической установки.

    2. Самостоятельно найти и установить необходимое программное обеспечение.

    Оба эти способа имеют свои преимущества и недостатки. Первый вариант безусловно удобнее и значительно экономит время. И при использовании стандартного оборудования такой подход даст хорошие результаты — все железяки заработают как надо и без сбоев. Кроме того при использовании последних версий таких программ автоматизации Вы получите наиболее свежие версии драйверных файлов. Более подробно про этот метод можно прочитать на этой странице нашего сайта: .

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

    Как получить драйвер?

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

    Если же диск утерян, или Вы хотите более свежей версии, то сделать это можно на сайте производителя оборудования в соответствующем разделе, который стандартно называется «Сервис / Поддержка».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    При поиске нужных файлов следует не забывать, для какой версии операционной системы Вам они нужны. Потому что приложения, разработанные для Windows XP скорее всего не заработают нормально на более новых ОС, а 32-разрядный софт может отказаться функционировать в 64-разрядной среде. И наоборот.

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

    Ручная установка драйвера

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

    Но довольно распространена ситуация, когда такого дружественного софта не предусмотрено. И многие пользователи не знают, что делать в этом случае.

    Ниже описан порядок действий в подобной ситуации на примере MP3-плеера iRiver IFP-700.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Чтобы сохранить информацию, записанную на микрофон этого плеера, необходимо как установить его драйвер, так и после этого воспользоваться специальной утилитой iRiver Music Manager. Но к сожалению на официальном сайте iRiver не удается скачать необходимые файлы. Более того, из содержания страницы на сайте видно, что этот плеер рассчитан на ОС не новее Windows XP.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Соответственно для гарантии успеха потребуется устанавливать этот плеер в Windows XP.

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

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Распаковываем содержимое архива

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    и видим что в нем нет никаких exe-файлов. Но зато есть , который описан как «Сведения для установки».

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Именно этот файл (в комплекте с соседними из этой папки) и нужен операционной системе, чтобы успешно подключить плеер к USB-порту.

    Подключаем плеер шнуром к компьютеру и видим, что появилось такое типичное окно:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

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

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    появится сообщение о неудаче. Поэтому нажимаем кнопку «Назад», чтобы пойти альтернативным путем.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    В этом окне вместо автоматического способа следует выбрать вариант «Установка из указанного места»

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Нажимаем кнопку обзор и выбираем папку, в которую мы распаковали файлы из zip-архива.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    В результате в строке для поиска должен оказаться путь к папке, в которой находится inf-файл:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    По завершении процесса появляется окно об успешном выполнении:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Можно дополнительно убедиться в этом, перейдя в Диспетчер устройств и увидев там наличие установленного плеера:

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

    Термины и определения

    В данной статье я приведу описание только одного метода установки, который, в любом случае, описывает практически все этапы алгоритма установки драйвера в Windows, которые применимы и к другим способам. И разговор у нас сейчас пойдет о ситуации, когда пользователь вставляет во внутренний разъем выключенного компьютера новое оборудование, например видеокарту. Но для начала введем некоторые, необходимые нам в процессе изучения алгоритма установки драйвера, определения.Менеджер (диспетчер) Plug and Play (PnP Manager, PnP Менеджер)
    — облако кода режима ядра и пользовательского режима, отвечающее за добавление, распознавание, удаление устройств в системе. Блок режима ядра взаимодействует с остальными компонентами системы в процессе загрузки/установки программного обеспечения, необходимого для обслуживания имеющихся в системе устройств. Блок пользовательского режима (%Windir%\System32\umpnpmgr.dll
    , запускается в контексте главного системного процесса svchost.exe) отвечает за взаимодействие с пользователем в ситуациях, требующих установки новых драйверов или настройки рабочих параметров в уже инсталлированных. Отвечает за назначение и последующее распределение аппаратных ресурсов, таких как прерывания (IRQ), порты ввода-вывода, каналы прямого доступа к памяти (DMA) и адреса памяти. Имеет функционал определения драйвера, требуемого для поддержки определенного устройства и функционал загрузки/инсталляции данного драйвера. Умеет распознавать новые устройства, реагировать на их подключение и отключение. Является частью кода исполнительной подсистемы Windows.

    Дополнительно:  Не загружается линукс - основные причины

    Перечисление устройств

    Целиком стадию загрузки с самого ее начала описывать смысла нет, и мы начнем с только с интересующего нас этапа, на котором модуль Winload(.efi) загружает ядро операционной системы Windows 7 из файла ntoskrnl.exe
    . Ядро запускает PnP менеджер, являющийся частью исполнительной подсистемы. PnP менеджер стартует процесс перечисления устройств с корневого устройства, драйвера виртуальной шины под названием ROOT (Корень), который олицетворяет собой всю систему и представляет из себя драйвер шины вообще для всех PnP- и не-PnP-устройств, а так же HAL (уровня аппаратных абстракций). HAL на этом этапе функционирует как драйвер шины, который перечисляет устройства, напрямую подключенные к материнской плате. Однако, HAL вместо фактического перечисления полагается на описание оборудования, уже присутствующее в реестре. Цель HAL на данном этапе — обнаружить первичные шины, такие как PCI . Драйвер первичной шины PCI, в свою очередь, перечисляет устройства, подключенные к данной шине, находит другие шины, для которых PnP менеджер тут же загружает драйвера. Эти драйвера шин, в свою очередь, обнаруживают уже устройства на своих шинах. Данный рекурсивный процесс перечисления, загрузки драйверов и последующего перечисления, продолжается пока все устройства в системе не будут обнаружены и сконфигурированы. В процессе перечисления PnP менеджер строит дерево устройств (device tree), которое однозначно описывает отношения между всеми устройствами системы. Узлы этого дерева, именуемые devnodes (сокр. от «узлы устройств»), содержат информацию об объекте устройства, который, в свою очередь, подробно описывает устройство.
    Записи всех устройств, которые были обнаружены с момента инсталляции системы, хранятся в кусте реестра HKLM\SYSTEM\CurrentControlSet\Enum
    . Подключи этого куста описывают устройства в следующем формате:

    HKLM\SYSTEM\CurrentControlSet\Enum\
    Enumerator\
    DeviceID\
    InstanceID

    HKLM\SYSTEM\CurrentControlSet\Enum\

    • Enumerator — наименование драйвера шины. Может принимать значения: ACPI , DISPLAY , HDAUDIO , HID , HDTREE , IDE , PCI , PCIIDE , Root , STORAGE , SW , UMB , USB , USBSTOR и другие;
    • DeviceID — уникальный идентификатор для данного типа устройств;
    • InstanceID — уникальный идентификатор различных экземпляров одного и того же устройства.

    Дело в том, что драйвер шины, к которой подключено устройство, запрашивает у устройства различные параметры (идентификатор производителя, устройства, ревизии и прч) и формирует так называемый аппаратный идентификатор (HardwareID), который однозначно описывает устройство и представляет из себя строку параметров, разделенных знаками &
    и состоящую из следующих частей:

    • Префикс, описывающий шину, к которой подключено устройство.
    • Идентификатор устройства. Состоит из нескольких частей, таких как идентификатор производителя, идентификатор продукта (модели), ревизия устройства.

    HardwareID — идентификационная строка, зависящая от параметров устройства (производитель, модель, ревизия, версия и прч), которую Windows использует для сопоставления устройства с.inf-файлом драйвера.

    Типичная структура HardwareID:

    PCI\VEN_10DE&DEV_1341&SUBSYS_2281103C&REV_A2

    Помимо HardwareID , устройству назначается параметр(ы) CompatibleID , который имеет схожий формат, однако содержит лишь более общие значения, не содержащие специфичных для какого-либо устройства параметров (некоторые идентификаторы устройства) и необходимый для инициализации более широкого круга совместимых устройств.

    Идентификаторы HardwareID и CompatibleID используются кодом исполнительной подсистемы Windows для поиска драйвера устройства.

    Обнаружение драйверов

    Если на этапе перечисления устройств и загрузки драйверов, функциональный драйвер шины, на которую подключено новое устройство, информирует PnP менеджер об изменениях в подключенных дочерних устройствах. PnP менеджер режима ядра проверяет, сопоставлен ли с устройством драйвер, для этого он запрашивает драйвер шины, на которую подключено новое устройство, и получает идентификаторы HardwareID и, опционально, CompatibleID устройства. PnP менеджер режима ядра специальным событием информирует PnP менеджер пользовательского режима о том, что данное устройство требует инсталляции, передавая ему полученные идентификаторы. PnP менеджер пользовательского режима сначала пробует автоматически установить устройство без вмешательства пользователя. Для этого PnP менеджер пользовательского режима запускает утилиту rundll32.exe для запуска мастера установки драйверов устройств (%Windir%\System32\Newdev.dll
    ).

    Мастер установки драйверов устройств инициирует поиск подходящего для устройства драйвера по информации из всех inf
    -файлов системы, расположенных в следующих доверенных системных расположениях:

    • Хранилище драйверов;
    • Центр обновления Windows;
    • Системный каталог INF-файлов;

    Для вышеописанных целей поиска и установки драйвера используются функции библиотек setupapi.dll
    (функции поддержки инсталляции) и cfgmgr32.dll
    (менеджер конфигурации). В процессе поиска используются полученные уже на данный момент идентификаторы HardwareID и (опционально) CompatibleID , значения которых описывают все возможные варианты идентификации оборудования в файле инсталляции драйвера, то есть inf
    -файле. Значения идентификаторов устанавливаемого устройства сравниваются с теми, что описаны в секциях Models зарегистрированных в системе inf
    -файлов. Списки идентификаторов упорядочены, поэтому более специфичные описатели оборудования представлены в списках первыми. Если совпадения идентификаторов были найдены в нескольких inf
    -файлах, более точное совпадение считается предпочтительным по отношению к менее точному совпадению, подписанные inf
    -файлы предпочитаются неподписанным, и подписанные позднее inf
    -файлы предпочитаются подписанным ранее. Если совпадение на основе HardwareID не найдено, то используются CompatibleID , в случае наличия, конечно же. Если совпадение не найдено на основе CompatibleID , мастер установки оборудования может вывести приглашение на указание местоположения свежего драйвера оборудования. Давайте более подробно рассмотрим все указанные источники информации о драйверах.

    Хранилище драйверов

    Мастер установки драйверов пытается обнаружить подходящий inf
    -файл в системном хранилище драйверов, располагающемся в каталоге %Windir%\System32\DriverStore
    , который содержит все без исключения драйвера системы, входящие в состав дистрибутива Windows, полученные через службу «Windows Update», либо инсталлированные в систему пользователем.

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

    Хранилище драйверов было впервые введено в Windows Vista. Перед установкой любого драйвера в систему, сначала специализированный код проверяет цифровую подпись драйвера, затем синтаксис inf
    -файлов драйвера, затем привилегии текущего пользователя, только после этого помещает все компоненты драйвера в системное хранилище драйверов. А вот затем уже драйвер, находящийся в хранилище драйверов, может быть использован для установки устройств в системе. Поскольку процедура помещения драйвера в хранилище достаточно проработана, хранилище драйверов и является самым доверенным источником информации о драйверах.

    Системный каталог INF-файлов

    Параллельно система ищет драйвер в системном расположении, описываемом значением параметра DevicePath , находящемся в ветке реестра HKLM\Software\Microsoft\Windows\CurrentVersion
    . Обычно параметр имеет значение %SystemRoot%\inf
    , что в большинстве систем эквивалентно местоположению C:\Windows\inf
    .

    INF-файл

    Хотелось бы сделать небольшое отступление и отдельно поговорить об информационных файлах пакета драйвера. inf
    -файл является одним из ключевых компонентов комплекта драйверов. В нем хранится последовательность операций по установке и удалению драйвера, описанная специальными директивами, указывающими на расположение файлов функционального драйвера. Файл содержит команды, которые добавляют в реестр информацию, отвечающую за перечисление (Enum) драйвера и его класса (Class), и могут содержать указания для мастера установки оборудования по запуску так называемых основных установщиков (Class Installer, Установщик класса) и дополнительных установщиков (CoInstaller, Cоинсталлятор) для класса устройств и непосредственно устройства. Дополнительно inf
    -файл определяет тип, производителя, модель устройства, класс драйвера, необходимые файлы и ресурсы.

    Соинсталлятор (по структуре обычная DLL) — дополнительный инсталлятор, вызываемый на этапе инсталляции, который выполняет специфичные для подкласса или устройства шаги установки, такие как подготовка инфраструктуры для работы драйвера в системе (например, установка пакета NET.Framework), вывод конфигурационных диалоговых окон, которые позволяют пользователю указать настройки для конкретного устройства.

    Немаловажная особенность соинсталляторов заключается в том, что они, в случае необходимости выполняют привязку экземпляров нового устройства к требуемым для работы протоколам. Это, к примеру, может касаться разного рода коммуникационных устройств, которым требуются для работы различные протоколы и транспорты, такие как ndis , pppoe , tcpip , tcpip6 , smb , netbt .
    В .inf
    -файле дополнительно описываются операции распаковки, копирования, запуска, переименования файлов, добавления и удаления ключей в реестре и многое другое.
    Однако вернемся к главному алгоритму установки драйвера в Windows. В случае, когда установщик драйверов устройств не нашел подходящих драйверов в перечисленных выше локациях, система маркирует устройство как неопознанное.

    NTOSKRNL.EXE Download Version 5.2.3790.1830 32bit

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

    Проверка цифровой подписи драйвера

    Дело в том, что драйвер как часть кода режима ядра, является достаточно критичным компонентом операционной системы, и любые ошибки, допущенные разработчиком в коде драйвера, легко могут привести к серьезным сбоям (BSOD) в системе. С некоторого времени Microsoft достаточно трепетно относится к качеству кода драйверов, и в связи с этим в операционные системы Windows были введены такие механизмы как цифровая подпись драйвера и системная политика подписи драйверов.

    Цифровая подпись драйвера — строка данных переменной длины, которая в определенной мере является гарантом того, что код драйвера был создан надежным источником и не подвергался несанкционированным модификациям.

    Следующим шагом часть кода PnP менеджера, работающая в пользовательском режиме, проверяет системную политику подписания драйверов. Если системная политика предписывает коду ядра блокировать или предупреждать об инсталляции неподписанных драйверов, то PnP менеджер парсит inf
    -файл драйвера на предмет наличия директивы CatalogFile , указывающей на файл каталога (файл с расширением .cat
    ), содержащий цифровую подпись пакета драйвера.

    Файл каталога (.cat) — специальный файл, который играет роль цифровой подписи для всего пакета драйвера, потому как отдельно каждый файл, входящий в комплект пакета драйвера, не подписывается. Исключение составляют лишь двоичные файлы драйверов ядра этапа загрузки, но их проверяет отдельный код ядра.

    Для тестирования драйверов и их подписания была сформирована лаборатория Microsoft Windows Hardware Quality Lab (WHQL), обстоятельно тестирующая драйвера, поставляемые с дистрибутивами Windows, а так же драйвера от крупных поставщиков оборудования. Для всех остальных разработчиков драйверов предусмотрены процедуры получения возможности самостоятельно подписывать драйвера на платной основе. Когда драйвер проходит все тесты WHQL , он становится «подписанным». Это означает, что для драйвера WHQL формирует хэш, или уникальную сигнатуру, однозначно идентифицирующую файлы драйвера, и затем подписывает ее с применением криптографических алгоритмов при помощи специального закрытого ключа Microsoft, используемого для подписания драйверов. Подписанный хэш помещается в каталоговый файл (.cat
    -файл), который размещается непосредственно в директории пакета драйвера.
    В процессе инсталляции драйвера, PnP менеджер пользовательского режима извлекает сигнатуру драйвера из .cat
    -файла, расшифровывает сигнатуру используя публичный ключ Microsoft и сравнивает результирующий хэш с хэшем файла инсталлируемого драйвера. Если хэши совпадают, драйвер маркируется как прошедший WHQL тестирование. Если сигнатуру не удается проверить, PnP менеджер действует в соответствии с настройками системной политики подписи драйверов, либо запрещая инсталляцию драйвера, либо все же позволяя инсталлировать драйвер.

    Создание резервной копии

    Довольно неплохая стратегия Windows создавать точку восстановления перед добавлением в систему драйверов нового устройства. Связано это, в первую очередь, с тем, что драйвер режима ядра, содержащий ошибку, может являться причиной полной неработоспособности системы, и как потом с этой системой быть? Даже не смотря на все подписи и проверки, пользователь должен иметь возможность отката конфигурации в случае, например, когда ему что-то после установки не понравилось.

    Инсталляция драйвера

    На этом этапе пакет драйвера стороннего разработчика развертывается в системное хранилище драйверов. Затем, система выполняет фактическую инсталляцию драйвера из хранилища драйверов, которая производится посредством утилиты %Windir%\System32\drvinst.exe
    . На этом этапе происходят следующие события:

    • inf
      -файл драйвера копируется в специализированную папку %Windir%/inf
      . Для драйверов сторонних разработчиков характерно переименование файла в OEMx.inf , где x — порядковый номер inf
      -файла в директории.
    • Код операционной системы фиксирует факт инсталляции inf
      -файла в реестре.
    • Создается узел устройства (devnode) в реестре по пути , который содержит подробную информацию об устройстве.
    • Двоичные файлы драйвера копируются в целевую папку %Windir%\System32\DRIVERS
      и, возможно, другие целевые папки. Обновляются разделы реестра.
    • Формируется ключ реестра, соответствующий драйверу: . Формируются параметры ключа.
    • Формируется ключ реестра, отвечающий за логгирование событий драйвера, размещающийся в ветке .
    • PnP менеджер вызывает процедуру DriverEntry для каждого установленного только что драйвера. Затем PnP менеджер режима ядра пытается «запустить» драйвер, подгружая его в память и вызывая процедуру AddDevice драйвера для информирования самого драйвера о присутствии устройства, для которого он был загружен.
    Оцените статью
    Master Hi-technology
    Добавить комментарий