Отсутствует файл hal dll windows xp. Что такое DLL? Что делать, когда файл hal dll отсутствует или поврежден

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

Для наглядности, отсутствующий файл hal.dll мы организуем себе сами. Я зайду по пути C:\Windows\system32 (туда, где он и располагается) и просто удалю его из системной директории. Перезагрузимся.

После этого система сообщит нам, что файл hal.dll отсутствует или поврежден. Замечательно! :) Вот как выглядит подобная надпись:

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

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

Но пока давайте напомним себе, что же такое этот файл «hal » и что такое «dll »?

Что такое HAL ?

HAL - Hardware Abstraction Layer - уровень (слой) аппаратных абстракций. Это - слой программного кода, который скрывает (абстрагирует) нюансы аппаратной реализации компонентов компьютера (его "железа") от верхних уровней операционной системы и прикладных программ, запускаемых ее пользователем.

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

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

Давайте обозначим место уровня аппаратных абстракций в иерархии взаимодействия программ и компьютерных комплектующих. Рассмотрим на примере и программы, которая ее использует (например - компьютерная игра).

Игра не "знает" всех возможностей и функций , поэтому она просто передает запросы на выполнение того или иного действия на уровень ниже (до слоя HAL), который работает с драйвером устройства. А вот драйвер уже точно "знает", на что способен наш графический ускоритель и как именно он работает.

Примечание : «Direct3D» - компонент интерфейса программирования приложений, работающих с графикой.

Теперь давайте порассуждаем о том, что же такое есть вторая часть нашего файла - компонент «DLL ».

Что такое DLL ?

Аббревиатура переводится так - DLL (dynamic link library - динамически подключаемая библиотека). Это - автономный блок исполняемого кода программы, который подключается к ней по мере необходимости. Причем одна и та же dll, уже загруженная в , может быть многократно использована различными программными приложениями, не создавая ее дополнительные копии и экономя ресурсы компьютера.

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

Давайте рассмотрим изложенное выше не примере: запустим текстовый редактор (например - ) и посмотрим сколько времени уйдет на его загрузку? Теперь - полностью закроем его. И - снова запустим. Во второй раз он откроется очень быстро. Почему это происходит? Потому что после закрытия приложения его динамические библиотеки (dll-ки) не выгружаются из оперативной памяти (это происходит только при ее крайней нехватке), а кешируются в ней. Отсюда - быстрый повторный запуск редактора.

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

Можно создать программу (тот же MS Word) и без использования библиотек (в виде одного исполняемого «exe» файла). Чем это может нам повредить? Просто тогда он будет загружаться очень долго. Ведь это не просто редактор текста, а - многомодульная структура, в которую входит построитель диаграмм, редактор формул, модуль проверки орфографии, инструмент работы с графикой и т.д.

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

Чтобы закончить с данной темой, хочу сказать следующее: динамические библиотеки это не обязательно только те файлы, которые имеют расширение "dll". К примеру, апплеты панели управления (с "родным" расширением cpl) также являются специализированными dll библиотеками.

С необходимой теорией закончили, возвращаемся к практике! Теперь мы понимаем, когда данный файл отсутствует это - не есть хорошо. Мало того, операционная система просто не запустится и выдаст нам нехорошую надпись следующего содержания: "не удается запустить windows из за испорченного или отсутствующего файла hal.dll ".

Нам нужно с помощью консоли восстановления исправить ситуация. Саму работу с консолью я описывать не буду (мы разбирали ее в ), но покажем весь процесс с самого начала.

Берем установочный диск с Windows XP (или 2000), выставляем в BIOS с него загрузку и перегружаемся. Внимательно понаблюдав за начальным процессом инициализации, мы можем увидеть вот такую интересную надпись внизу окна:

Как видите, операционная система загружает HAL еще до начала своей установки.

Но не отвлекаемся, а - продвигаемся! :) Входим в консоль восстановления, нажав клавишу «R » в соответствующем окне установщика.


Поскольку файл hal.dll отсутствует или поврежден, то нам необходимо заменить его такой же, но исправной копией.

Где его взять? Один из способов - зайти на очень полезный сайт: dll точка ru. Там буквально по алфавиту отсортированы различные динамические библиотеки, которые нам могут понадобиться для восстановления системы. Можно прямо оттуда загрузить любую и подставить вместо отсутствующей или поврежденной.

Но мы ведь - идейные администраторы! Мы таким легким способом пользоваться не станем, а "честно" восстановим Windows, получив дополнительный опыт и подтвердив свое право называться таковыми:)

Нам надо рассуждать примерно так: поскольку с установочного диска производилась инсталляция всех компонентов операционной системы, то, скорее всего, и отсутствующий файл hal.dll там же и находится. И его прямо оттуда можно скопировать.

Проверим это предположение. Перейдем в консоли восстановления на наш в директорию установки Windows (I386) и выполним команду обзора ее содержимого - «dir».

Примечание : у меня диск имеет букву «D», у Вас - может быть по другому. Также можете ввести команду в формате «dir /p » (без кавычек). Это позволит "пролистывать" содержимое директории по одному экрану за одно нажатие любой клавиши.

В ее недрах находим то, что нам нужно:


Как видим, название файла имеет вид: HAL.DL_ (не DLL). Почему? Это - запакованный cab-архив (Windows Cabinet File), подобный тип архивов часто используется для установки на компонентов самой ОС от Microsoft и набора драйверов к ней.

Для его распаковки мы с успехом можем использовать команду «expand », которая применяется самой ОС.

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


На скриншоты выше Вы можете видеть все доступные параметры (ключи) с которыми может запускаться данная команда.

Распаковать и скопировать по нужному пути наш файл hal.dll мы можем теперь буквально в одну командную строчку:
expand d:\i386\hal.dl_ c:\windows\system32 Естественно, вместо «d» подставляете букву диска своего оптического привода.

Рассмотрим сам формат набора. Распаковать (expand) откуда - диск «d» папка «i386» - файл «hal.dl_» - куда: диск «c», папка «windows» и в ней - «system32» (именно туда, где и должен находиться данный файл).

Проверим результат наших трудов. Зайдем по пути: C:\Windows\system32 и, применив команду «dir /p», поищем скопированный нами файл hal.dll



Как видите, он - на своем месте. Теперь - перезагрузимся и посмотрим на общий результат.


Как видите - операционная система успешно загружается. Наша миссия - выполнена!

Теперь - пару слов о том, по какой причине, собственно может быть поврежден или вообще отсутствовать данный системный файл? Тут есть несколько причин:

  1. компьютерный вирус
  2. на жестком диске
  3. неудачное изменение конфигурации оборудования

Если вы пытаетесь включить компьютер, а у вас появляется ошибка «Не удаётся запустить Windows из-за испорченного или отсутствующего файла: Windows root — system32 — hal.dll установите заново копию указанного выше файла» значит у вас нарушена связь между программным обеспечением и железом компьютера.

Ошибка hal.dll и синий экран

Исправление ошибки

Если у вас нету загрузочного установочного диска этой системы то лучше всего установить систему заново. Но если у вас есть этот загрузочный установочный диск вашей системы то можно восстановить файл hal.dll с этого диска. Вставляем установочный диск в дисковод и перезагружаем компьютер. Как увидите надпись «Press any key to boot from CD» жмите на клавиатуре клавишу «Enter». Через некоторое время откроется окно «Параметры восстановления системы».


Восстановление файла с помощью командной строки

Выберите в ней пункт «Командная строка». Откроется командная строка. Сначала вводим команду copy c:\windows\system32\hal.dll С:\windows\system32\hal.dll.bak и нажимаем на клавиатуре Enter. Затем вводим следующую команду expand буква CD диска:\i386\hal.dl_ С:\windows\system32 и нажимаем Enter. Теперь можно вынуть диск из дисковода и перезагрузить компьютер. Компьютер должен загрузиться и не выдавать этой ошибки hal.dll отсутствует или поврежден.
Если вы потеряли установочный диск, а новую систему не хотите ставить тогда нужно файл hal.dll восстановить, для этого нужно с другого компьютера из system32 hal.dll скачать на флешку и ещё сделать загрузочный диск, например на CD диск записать . Вставляете флешку и CD диск в свой дисковод и и включаете компьютер и как увидите надпись «Press any key to boot from CD» жмите «Enter». После того как загрузится Acronis True Image Home нужно открыть флешку и скопировать файл hal.dll который отсутствует на вашем компьютере.


Восстановлен поврежденный файл

С помощью утилиты Acronis True Image Home открываете системный диск где стоит операционная система и ищете папку Windows в ней ищете папку System 32 и устанавливаем в неё файл hal.dll. В 64 битных операционных системах файл hal.dll дополнительно вставляем в папку SysWOW64 пройдя по пути Локальный диск С — Windows — SysWOW64. После этого вытаскиваем диск из дисковода и перезагружаем компьютер. Компьютер должен загрузиться без ошибки отсутствует файл hal.dll.

Видео

В этом видео ролике показано как исправить ошибку hal.dll в Windows XP.

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

Ни в коем случае не путать с HALL.DLL (с двумя буковками LL на конце). Если увидели такое - то это однозначно проделки вредоносной какой-то программы. Для этого нужно просканировать систему подключив этот жесткий диск к другому компу или воспользовавшись (кто понимает о чем речь) Live-CD и удалить этот вирус .

Ну если вы убедились, что это не вирус тогда поехали дальше. В большинстве случаев эта проблема выскакивает из-за того, что на самом деле повреждены системные файлы, такие как hal.dll или ntoskrnl.exe (либо к ним нет доступа), или имеются изменения или повреждения еще одного системного файла - boot.ini

Немного расскажем про этот интересный файлик - HAL.DLL. При расшифровке он значится как Hardware Abstraction Layer или Уровень Аппаратных Абстракций и без него никак не может загрузиться ОС, в частности WIndows XP. Это своеобразный посредник между аппаратным и программным обеспечением. Нужен разработчикам программ для совместимости функций устройств.

Ну так вот что бы восстановить файл hal.dll нам потребуется установочный диск от ОС. С него мы запускаем консоль восстановления (как это делать смотрим по ссылке). Дальше в консоли прописываем:

expand X:\i386\hal.dl_ С:\windows\system32

Если этот фокус не удался возможно нужно ещё подменить файл ntoskrnl.exe . Его мы также восстанавливаем в консоли по команде:

expand X:\i386\ntoskrnl.ex_ С:\windows\system32

Где X: - это буква вашего CD рома, C: - буква жесткого диска, на котором располагается операционная система. И перезагружаемся.

Если и это не сработало, вероятно вы сами или какие то приложения без вашего ведома (бывает когда перезаписывается загрузчик при переустановке с Win 7 или Висты на XP или когда установлено две системы) заменили или исправили такой файлик как boot.ini . Что бы исправить эти изменения так же через консоль восстановления введите:

bootcfg /rebuild

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

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

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

Если вдруг ваша Windows XP перестала запускаться и выдает на экран что-то вроде:"Windows could not start because the following file is missing or corrupt: C:\Windows\System32\hal.dll" значит файл hal.dll был испорчен или удален.

Пошаговая инструкция:

Для , вам необходимо выполнить следующие действия:

  1. Конечно же убедиться, что при старте Windows XP вы видите на экране одну из следующих ошибок:

    * Windows could not start because the following file is missing or corrupt:
    C:\Windows\System32\hal.dll
    * C:\Windows\System32\hal.dll missing or corrupt:
    Please re-install a copy of the above file.
    * Windows could not start because of a computer disk hardware configuration problem.
    Could not read from the selected boot disk. Check boot path and disk hardware.
    Please check the Windows documentation about hardware disk configuration and your hardware reference manuals for additional information.
    Эти ошибки значат, что система не может запуститься из-за повреждения или удаления файла hal.dll. Также возможно, что в конфигурацию были внесены какие-либо изменения и Windows ищет этот файл в другом месте.

  2. Отыщите у себя на полке, среди кучи дисков, загрузочный диск с Windows XP и загрузитесь с него.
  3. Когда увидите на экране приглашение к установке Windows, нажмите на клавишу R.
  4. Далее пункт восстановления Windows (как правило, это первый пункт среди появившихся на экране).
  5. После запроса пароля администратора, введите его.
  6. Появится командная строка, в которой вы и должны, поочередно, выполнить все нижеприведенные команды: ATTRIB -H -R -S C:\BOOT.INI затем: DEL C:\BOOT.INI затем: BOOTCFG /REBUILD FIXBOOT
  7. Выньте диск с Windows из дисковода и перезагрузите компьютер.

Если после этих действий, на экране появляется все та же ошибка, попробуйте повторить действия 1-5 и, в командной строке, выполнить восстановление hal.dll с загрузочного диска Windows XP. Для этого выполните команду: EXPAND F:\I386\HAL.DL_ C:\WINDOWS\SYSTEM32\HAL.DLL (здесь F - это имя моего CD/DVD-дисковода)

После этого вновь перезагрузите компьютер.

Надеюсь, что этот совет вам очень помог в решении восстановления hal.dll в Windows XP .



Есть вопросы?

Сообщить об опечатке

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