Сценарий, который вы описали, в основном является «горячей» перезагрузкой, прерывание 0x19 ведет себя почти так, за исключением того, что оно всегда загружает основную загрузочную запись (с таблицей разделов). Win3.1 или Win95 запускались как обычные исполняемые файлы из DOS, а не из их загрузочной записи. Win7 не имеет фазы DOS во время загрузки.
Однако я думаю, что это возможно, но не будет легко. Вот несколько вариантов:
Самым простым решением было бы найти подходящее программное обеспечение менеджера загрузки, которое может сделать это для вас. Взгляните на GRUB и GRUB4DOS и на этот вопрос.
Если этого достаточно (для запуска программы DOS строго не требуется 16-разрядная среда DOS), я не уверен, но, возможно, вы можете настроить boot.ini
Win7 для загрузки в безопасном режиме с помощью командной строки и запустите его оттуда, а затем перезагрузите.
В худшем случае вы должны вручную написать небольшую DOS-программу, которая считывает загрузочный сектор Win7 по адресу 0000: 7C00 и выполняет его. Чтобы это работало, вы должны точно указать, где на диске находится загрузочный сектор Win7. Помните, что на оборудовании, которое его поддерживает, Win7 предпочтет метод загрузки EFI вместо старого, основанного на MBR. Вы должны проверить, какой метод использует ваша установка Win7. Могут быть и другие трудности, например, как выбрать активный раздел или что раздел DOS должен находиться в начале диска и т. Д.