В постановке вопроса большая неточность. Говорится о материнке, а указывается только socket 775 и socket 478. Под каждый из сокетов существует множество чипсетов, но ,при выборе нужного hal, главное - это тип процессора.
Товарищ Билл Гейтс категоричен : драйвер уровня аппаратных абстракций (HAL) при переносе windows на другое железо может быть заменен только путем переустановки или обновления ОС.
http://support.microsoft.com/kb/315341/ Все другие способы переноса, описанные в интернете, - это самопальные изобретения с непредсказуемым исходом.
То, что излагается далее, это тоже самопальщина, но проверенная несколько раз с положительным результатом. Говорить будем пока только об одной из двух ОС, а, именно, на диске С:, ибо, восстановив одну, можно без проблем восстановить и вторую.
Файл hal.dll многолик. В дистрибутиве лежат сжатые CAB файлы :
HAL.DL_ - это стандартный драйвер, но не факт, что именно он стоит в системе.
HALAACPI.DL_
HALACPI.DL_
HALAPIC.DL_
HALMACPI.DL_
HALMPS.DL_
HALSP.DL_
Установщик автоматически выбирает нужный драйвер и называет его hal.dll.
Предлагаются следующие действия :
- переименовываем имеющийся файл, например, в halold.dll.
- извлекаем из сжатых hal*.dl_ файлов соответствующие hal*.dll ( можно с помощью WinRar) и забрасываем их в папку system32.
- создаем новый 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" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="ACPI PC" /fastdetect /hal=halacpi.dll
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="ACPI Uniprocessor PC " /fastdetect /hal=halmacpi.dll
Количество строк для запуска можно продолжить для всех имеющихся вариантов. В первой строке и по умолчанию будет запускаться стандартный hal.dll
Теперь мы готовы методом тыка подобрать нужный вариант загрузки, перебирая разные hal
Принципиально важно - каждую загрузку пытаться делать только в безопасном режиме через F8. Когда hal не подходит, то и драйверы устройств на другом чипсете подавно не подойдут.
Если удается загрузиться в безопасном режиме, то нужно установить родные драйверы для нового железа и попытаться перезагрузиться с тем же hal в нормальном режиме. При удачной загрузке остается только переименовать найденный вариант в hal.dll, а остальные можно удалить. Этот же файл забрасывается и во вторую ОС. Восстановить исходный boot.ini
Если загрузка после безопасного режима оказалась неудачной, стоит пройтись по другим вариантам , но уже без установки драйверов. Авось повезет
