После некоторых экспериментов с флагами загрузки в boot.ini
и прочтения очень неполной документации по MSDN я обнаружил, что, используя флаг (или как его там называли) для параметра загрузки, я мог вручную назначить любой файл .dll в system32 для действия в качестве hal
. Я думаю, что это было что-то вроде /HAL=xyz
.
Я попытался сделать это с работающим вариантом загрузки (Windows XP) и позволить ему указать на копию, которую я сделал: hal_original.dll
Это привело к той же ошибке, что и при попытке загрузить Plop. Хм.
После более подробного изучения выясняется, что DLL должна соответствовать имени файла 8.3, но я дал ему 12-длинное имя. Затем я посмотрел на загрузочную запись для Plop, которая ссылается на plpbt4win.ldr
. Это девять символов в длину.
Переименование .ldr
с именем файла из восьми или менее символов привело к исчезновению ошибки HAL.DLL
и загрузке Plop.