Здравствуйте, netch80, Вы писали:
N>если исходить из идеи, которая явно закладывалась при создании всего этого механизма, что не будет одинаковых ОС (и соответственно одного и того же типа раздела в PT) в пределах одного диска.
Не понял, при чем тут одинаковость ОС и/или типа раздела. Единственное, что нужно VBR для загрузки — это адрес начала раздела, он есть в PTE. Ничто не мешает держать в четырех разделах четыре системы одного типа.
N>Если у тебя VBR1 второго раздела грузил с того же смещения VBR2-9 первого раздела, почему всё-таки "BOOTMGR is missing"?
А вот ХЗ. Похоже, там все сшито на живую нитку, и давно уже правится чисто интуитивно.

У них ведь и disk read error выдается, если не обнаружена сигнатура NTFS — при чем тут ошибка чтения? Логичнее было бы выдавать сообщения вида "ошибка N" — преобразовать одну цифру в символ проще простого, это позволило бы точнее отображать проблемы, а за счет длинных сообщений освободилось бы место для кода.
N>А зачем сразу два DS:SI?
Почему два? Фактически это один SI, DS предполагается нулевым.
N>Я больше ожидал бы просто один числовой параметр, от 1 до 4.
Ну хорошо — пуст код в MBR, где и так места нет, преобразует адрес PTE в номер, и передаст его VBR. Что с этим номером делать дальше? Адрес, по которому лежит PT, VBR неизвестен. Читать MBR снова? А затем преобразовывать номер обратно в адрес PTE, чтобы достать оттуда смещение? Это точно будет проще и надежнее, чем передача непосредственно адреса PTE?