Здравствуйте!
После очередной перезагрузки и манипуляцией с драйверами перестала грузится ОС.
Буквально следующее пишет она при загрузке:
"Не удается запустить Windows из-за испорченного или отсутствующего файла: <Windows root>\system32\hal.dll . Установите заново копию указанного выше файла".
Поражает то, что это не впервой на этой системе.
В первый раз я не придал большого значения этому и занялся установкой ОС по новой.
Но когда это повторилось, то тут я уже намерен выяснить причину тому.
Загуглив данную проблему я наткнулся на один из вариантов профилактики данного вопроса:
Цитата:
Если машина просто перестала загружаться во всех режимах, то предотвратить подобное можно, опробовав другие ядра, подредактировав boot.ini. Нужно всего лишь продублировать рабочий пункт меню выбора ОС, например, multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect и приписать после /fastdetect следующие опции: /kernel=ntoskchk.exe /hal=halchk.dll, а также в директории WINDOWS\System32 сделать копии вашего ядра и HAL-а. Назвать их, конечно же, надо ntoskrnl.exe -> ntoskchk.exe и hal.dll -> halchk.dll.
Если система не даёт его установить, то в этом случае придётся делать это вручную. Для начала найдите в windows\inf файл под названием hal.inf. После этого, изучите его, что бы выяснить, какие файлы и куда переписываются при смене ядра. Обычно перезаписывается только hal.dll, названия какого hal какому ядру соответствуют, можно узнать из списка:
Standard PC - hal.dll
Advanced Configuration and Power Interface (ACPI) PC -halacpi.dll
ACPI Uniprocessor PC - halaacpi.dll
ACPI Multiprocessor PC -halmacpi.dll
Compaq SystemPro Multiprocessor or 100% Compatible - halsp.dll
MPS Uniprocessor PC -halapic.dll
MPS Multiprocessor PC -halmps.dll
После этого остаётся "выдрать" соответствующий файл из Windows\Driver Cache\i386\driver.cab, скопировать его в Windows\system32, и сослаться на него в boot.ini. После загрузки (если повезёт :P ), можно переставить его по нормальному, в списке это ядро появится.
|
Кто может более подробно рассказать о этот методе и как он работает?
Сначала будет грузится ОС в обычном режиме, а если с ней будут какие-то проблемы, то попробует загрузить уже с дополнительными параметрами, а точнее, используя копии файлов (в данном случае это ntoskchk.exe и halchk.dll) и если с проблема из-за них, ОС загрузится?
Или ОС проверит родные файлы ОС с копией и в случае разницы заменит их?
Следовательно мой boot.ini должен выглядить следующим образом:
Код:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /execute /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /execute /fastdetect /kernel=ntoskchk.exe /hal=halchk.dll
Но не будет ли ОС каждый раз спрашивать у меня какую ОС я хочу загрузить?
P.S. Заранее благодарен!