Выяснил я следующее: ошибка с hal.dll связана с его отсутствием, но с отсутствием там, где его ищут. А ищут его по ARC путям в 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
При помощи загрузочного сектора запускается загрузчик NTLDR (NT Loader). Он загружает файл Boot.ini. … NTDETECT.COM определяет железо,Потом NTLDR начинает загрузку ядра XP (NTOSKRNK.EXE).В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и Hardware Abstraction Layer (HAL.DLL), дабы ядро могло абстрагироваться от железа. Вот здесь ошибочка выходит. Кто хочет, может проверить, поменяв у себя например rdisk(0) на rdisk(3). ;)
Вот один парниша FCVP2012 обошол проблему, там же о скрытых партициях - читаем:
http://gallery.ru-board.com/topic.cgi?forum=62&topic=23989
Так какого же .. эта запись в Boot.ini некорректна? Всё зависит от того сколько у нас на этапе создания загрузчика и boot.ini дисков, какие на них разделы, скрытые открытые, флешка наша тоже как HDD висит (при выборе раздела установки) которая в последствии будет удалена и одного диска у нас не станет и хорошо если его нумбер не изменил общую нумерацию. И еще от того как представит GRUB диски при первом этапе (сравниваем наш winsetup.lst и winsetup.lst от WinSetupFromUSB), от всего от этого зависит ARC пути.
title Шаг 1 Установка Windows XP SP3 Game Edition 2009 RUSSIAN 1.1.0
root (hd0,0)
map --mem /WINSETUP/XPpSP3.ISO (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
root (0xff)
chainloader /I386/SETUPLDR.BIN
title First part of Windows XP Professional SP3 setup from partition 0
map --unmap=0:0xff
map --unhook
ls /WINSETUP/XPpSP3.ISO || find --set-root --ignore-cd /WINSETUP/XPpSP3.ISO
map /WINSETUP/XPpSP3.ISO (0xff) || map --mem /WINSETUP/XPpSP3.ISO (0xff)
savedefault 2
checkrange 0x00,0x01 read 0x8280 && configfile /BOOTWS/fd.lst
checkrange 8 calc *0x475 & 0xFF && configfile /BOOTWS/8.lst
checkrange 7 calc *0x475 & 0xFF && configfile /BOOTWS/7.lst
checkrange 6 calc *0x475 & 0xFF && configfile /BOOTWS/6.lst
checkrange 5 calc *0x475 & 0xFF && configfile /BOOTWS/5.lst
checkrange 4 calc *0x475 & 0xFF && configfile /BOOTWS/4.lst
checkrange 3 calc *0x475 & 0xFF && configfile /BOOTWS/3.lst
checkrange 2 calc *0x475 & 0xFF && configfile /BOOTWS/2.lst
checkrange 1 calc *0x475 & 0xFF && configfile /BOOTWS/1.lst
boot
map --unmap=0:0xff
map --unhook
А теперь если сравнивать флешку сделанную WinSetupFromUSB и нашу сборку.
Во втором этапе унас
title Шаг 2 Продолжение установки/Загрузка с C:
savedefault 7
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader (hd0)+1
и все. Рассмотрен один случай с подменой дисков. В WinSetupFromUSB воторой этап
title Second part of 2000/XP/2003 setup / Boot first internal hard disk
checkrange 8 calc *0x475 & 0xFF && configfile /BOOTWS/8.lst
checkrange 7 calc *0x475 & 0xFF && configfile /BOOTWS/7.lst
checkrange 6 calc *0x475 & 0xFF && configfile /BOOTWS/6.lst
checkrange 5 calc *0x475 & 0xFF && configfile /BOOTWS/5.lst
checkrange 4 calc *0x475 & 0xFF && configfile /BOOTWS/4.lst
checkrange 3 calc *0x475 & 0xFF && configfile /BOOTWS/3.lst
checkrange 2 calc *0x475 & 0xFF && configfile /BOOTWS/2.lst
checkrange 1 calc *0x475 & 0xFF && configfile /BOOTWS/1.lst
boot
рассмотрены 8 случаев. Смотрите подменю в папке BOOTWS, и во всех подменю сплошные реплейсы
map --hook
ls (0xff)/ && root (0xff) ls (0xff)/I386/ && cat --locate=rdisk(1) --replace=rdisk(0) (0xff)/I386/TXTSETUP.SIF
ls (0xff)/AMD64/ && cat --locate=rdisk(1) --replace=rdisk(0) (0xff)/AMD64/TXTSETUP.SIF
ls (0xff)/ && chainloader (0xff)/I386/SETUPLDR.BIN
ls (0xff)/ || rootnoverify (hd0) ls (0xff)/ || chainloader (hd0)+1 boot
Ничего не остается как править boot.ini ! что и сделал FCVP2012 в ручную в своем конкретном случае, о котором мы не знаем как и не знаем о других случаях неудачной установки XP с флеш.
Поэтому в решении данной проблеме могут быть только коллекция рекомендаций исходя из личного и чужого опыта.
:)
Я советую при установке оставлять один системный диск остальные отключать может быть и картридеры если возможно.
Скрытые удаляем, оставляем 1 раздел: основной, активный. 2-й логический. И не лазая в биос пользуемся boot меню для загрузки флеш.