Сначала рассмотрим общие рекомендации по восстановлению загрузки, а потом отдельно остановимся на ошибках с hal.dll.
Для восстановления MBR и загрузчика в консоли восстановления есть команды fixmbr и fixboot. Вводим сначала первую:

Подтверждаем восстановление клавишей Y:

Вводим команду fixboot:

Подтверждаем изменения:

Теперь можно перезагрузиться. Для этого вводим команду exit
Если данные операции не решили ситуацию, то стоит проверить есть ли файлы загрузчика. Это в первую очередь C:\ntldr и C:\ntdetect.com, а также boot.ini. Это можно сделать довольно просто. Введите команду dir c:\. Она выдаст содержание файлов и папок на диске C:\. Если таких файлов не оказалось на винчестере, то их стоит скопировать с диска. Для этого необходимо определить его букву методом перебора и команды dir. В моем случае диск с Windows - d:\. Вот его содержание:

Теперь скопируем с него нужные нам файлы. Для этого вводим команды copy d:\i386\ntldr c:\ и copy d:\i386\ntdetect.com c:\:


Также можно проверить жесткий диск командой chkdsk /R:




Лишним точно не будет.