(0) ну загрузить с ливсиди, закинь ХАЛ.ДЛЛ с какой нибудь винды такой же сборки. Вообще ХАЛ.ДЛЛ спокойно удаляется из под админа. Может не вирус, какая нибудь уязвимость в ПО.
hal.dll - это первый файл (доступ к уровню оборудования), который необходим для загрузки винды. Или файлы физически удалены, или изменился номер раздела, на котором они находились. Попробуй в boot.ini в строке (что-то типа) multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition RU" /noexecute=optin /fastdetect в параметре partition поменять цифирку.
(5) Да, в слепую менять партишены в бут.ини это самое оно. Загрузиться с ливсиди и посмотреть в программе как обстоят дела с разделами это что то запредельное.