11 Jul 06 11:57, Alexander Lemenkov wrote to Nickita A Startcev:
 NS>> Подменяю MBR своим кодом.
 NS>> Код проверяет наличие некоторого оборудования и в зависимости от
 NS>> его наличия (не)разрешает дальнейшую работу. все регистры (кроме
 NS>> CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а
 NS>> после восстанавливаю, передаю управление оригинальному МБР,
 NS>> загрузив его по оригинальному адресу (0:7c00). Оригинальный МБР
 NS>> запускает бутсектор, бутсектор пускает ntloader. ntloader
 NS>> показывает меню, но при выборе вин2к (как и любого другого
 NS>> пункта) имеем мертвый вис.
 NS>> Что я мог запортить кроме регистров процессора? Какого фига оно
 NS>> виснет так поздно?
 AL> Скорее всего NT-лоадер лезет в MBR, и находит там твой код без таблиц
 AL> разметки. Hеплохо еще написать обработчик int 13h, который будет
 AL> подставлять сохранённый сектор при чтении 0-0-1
В каких-то подобных делах видел более простую вещь: у нового самодельного 0-0-1
присутствует _точно_ та же таблица разделов. Вряд ли загрузчики "больших" ОС
смотрят на код, а вот таблицу разделов они могут перечитывать не один раз, так,
что и обработчик int 13h может не помочь - оно может перечитываться уже при
запущенных дисковых драйверах ОСи, когда про БИОС давно забыли.
Всего доброго!
А. Забайрацкий.