К основному контенту

Как я устранил ошибку с HAL.DLL после редактирования разделов диска

Предыстория

Есть компьютер. На нем установлена Windows XP - одна и единственная ОС на жестком диске (т. е. грузится она только файлом boot.ini). До этого не раз делились "перетасовывались" разделы на жестком диске. В итоге получилось так, что Windows встала в раздел под буквой F:\.
Так получилось, что, загрузившись с Live USB Sergei Strelec и запустив AOMEI Partition Assistant, я обнаружил, что у меня целых 50 гигов нераспределенной области на жестком диске (а мне как раз они были не лишними), поэтому я расширил раздел диска D:, включив в его объем ту самую нераспределенную область. Помимо этого, я удалил один из разделов.

И вот здесь произошел ключевой момент: разделов на жестком диске стало МЕНЬШЕ.

При попытке загрузить Windows XP я столкнулся с ошибкой:

Не удается запустить windows из-за испорченного или отсутствующего файла hal.dll


Перерыв информацию в гугле, я попробовал:


  1. Через Консоль восстановления распаковать hal.dll с дистрибутива в папку Windows\System32 командой expand
  2. Восстанавливал ntoskrnl.exe командой expand с дистрибутива из \i386\ntoskrnl.ex_ и \i386\ntkrnlmp.ex_
  3. Пробовал восстановить файл загрузки командой bootcfg /rebuild, однако консоль не нашла установленных ОС.
  4. Проверял жесткий диск командой chkdsk C: /F
  5. Cканировал целостность файлов sfc /scannow
  6. Сканировал жесткий диск на битые сектора
  7. Перезагружал компьютер
  8. Пытался выбрать "Последнюю удачную конфигурацию", "Обычную загрузку", а также безуспешно пытался войти в "Безопасный режим" (отображается все та же ошибка hal.dll).
  9. Порядок загрузки HDD не менял, т. к. в компьютере - единственный жесткий диск с несколькими разделами.

Решение проблемы:

Оказалось, что дело было в файле boot.ini: он содержал следующую строчку:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=optin /fastdetect
А если посчитать разделы в AOMEI Partition Assistant, то получается, что Windows находится не в 4-м, а в 3-м разделе (см. скриншот):

Поэтому я поменял это число на "3":
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=optin /fastdetect
Но сразу это не помогло. Как выяснилось, нужный boot.ini расположен не на F:, а на 300 МБ-ном C: разделе (который остался по-видимому от когда-то установленной Windows 7), поэтому я изменил также boot.ini в разделе C:

И - о, чудо! - Windows XP запустилась. И опять не все так гладко. Появилась 3-я проблема: после загрузки Windows XP, она напрочь отказывалась видеть USB клавиатуру и мышь (при этом в BIOS'е клавиатура и мышь (BIOS - современный с поддержкой мыши) нормально работали). Более того, слетел драйвер Nvidia, поэтому отображение было с разрешением 800x600. Многочисленные перезагрузки не помогли. Попробовал сбросить настройки BIOS'а, но это не помогло. Глядя на увеличенные низким разрешением элементы экрана, я предположил, что проблема заключается в каком-то неудачном запуске Безопасного режима на момент ошибки hal.dll, поэтому решил войти в Безопасный режим. Компьютер отобразил загрузку системных файлов, но потом перезагрузился. Попробовал загрузиться в "Безопасный режим с поддержкой командной строки" - загрузился!

Загуглил проблему с клавиатурой и мышью, и выяснил, что дело может быть в реестре в следующих ветках:
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}
Однако, с ключами и параметрами было все в порядке.

Толком ничего не сделав в безопасном режиме, перезагрузился и загрузился снова в обычном режиме: клавиатура и мышь ЗАРАБОТАЛИ!
А вот драйвер NVidia не установился. В Диспетчере устройств был только "VGA графический адаптер" с восклицательным знаком. Попробовал переустановить драйвер с диска, однако программа установки пишет "Не найдено совместимых устройств". Перезагрузил компьютер еще раз, высветился стандартный Windows'овский "Мастер установки оборудования", а в трее загорелось уведомление о новом найденном устройстве "Nvidia GeForce GT 450". Через "Мастер установки оборудования" указал папку на компакт-диске, где находится запрашиваемый файл (nvinfo.pb) - драйвер установился. Перезагрузил систему - видеокарта заработала.




Комментарии

Самое просматриваемое

Как сделать скриншот отдельного окна, а не всего экрана, средствами Windows?

 Откройте окно программы и нажмите на него, чтобы сфокусироваться на нем. Нажмите комбинацию клавиш ALT+PrtSc . Изображение скопируется в буфер обмена. Откройте Paint , уменьшите холст до минимума нажмите CTRL+V , чтобы вставить изображение. Сохраните файл в формате PNG (он лучше подходит для скриншотов окон и однотонной графики). Дополнительно размер файла можно уменьшить почти без потери качества через сервис:  https://kraken.io/web-interface

Как удалить виртуальный дисковод, созданный UltraISO из "Проводника"?

Не смотря на то, что в Windows 10 уже давно есть поддержка открытия образов дисков ( Открыть с помощью > Проводник ), некоторые типы образов она не открывает (например, образы с играми для  PS1 ). Поэтому приходится прибегать к использованию сторонних программ, популярной из которых считается UltraISO (благодаря простому интерфейсу, малому размеру и нетребовательности к ресурсам ПК). Но даже у таких простых простых программ порой случаются глюки. И проблема чаще всего связана с виртуальным приводом. Проблема В моем же случае, у меня на компьютере "застрял" виртуальный дисковод, который занял букву временно отключенного внешнего HDD . Все бы ничего, но на нем ( HDD ) располагались видеофайлы материала, который я в данный момент монтирую, и на которые (с учетом исходной буквы диска) прописаны ссылки в файле проекта монтажки. Поэтому, самым простым вариантом на мой взгляд было вернуть внешнему диску исходную букву (которую занял виртуальный привод), а виртуальному просто на...

Как вернуть нормальную Русскую клавиатуру на телефоне Samsung?

  Решение Если Ваша клавиатура стала выглядеть как на картинке справа👉   (а точнее - по аналогии с клавиатурой кнопочного телефона), сделайте следующее: Откройте " Настройки ".⚙ Перейдите в Общие настройки > Язык и ввод > Экранная клавиатура > Клавиатура Samsung > Языки и типы > Русский . Выберите из списка " Клавиатура Qwerty ". Все. 😉

Epson Scan не видит сканер в Wi-Fi сети

 Подключите сканер по USB (так у Вас откроется Epson Scan ). Запустите программу " Настройки Epson Scan ". Она должна быть здесь: C:\Windows\twain_32\escndv\escfg.exe В графе " Соединение " переставьте опцию на " По сети ". Нажмите кнопку " Добавить ". Программа должна начать поиск IP -адреса сканера. Если адрес там отобразился, выделите его, нажав левой кнопкой мыши, введите вверху название сканера и нажмите " OK ". Нажмите кнопку " Тест ". Если появится сообщение " Тестирование прошло успешно " (на желтый знак предупреждения внимания не обращайте), значит теперь сканер будет определяться по Wi-Fi , а Epson Scan открываться даже при отключенном USB для сканирования по сети. Имейте в виду, что любая Epson Scan не подойдет: нужна версия именно для Вашей модели сканера/МФУ. По идее, она должна идти в комплекте с драйвером, но так бывает не всегда. Я искал драйвер под МФУ Epson Expression Premium XP-605 , но именно по...

Где Vegas Pro хранит автосохраненные проекты?

12 -ая версия, например, хранит их здесь: %USERPROFILE%\AppData\Local\Sony\Vegas Pro\12.0 16 -ая хранит проекты по тому же пути, только немного в другой папке: %USERPROFILE%\AppData\Local\VEGAS Pro\16.0