Мне было интересно, может ли MBR считывать данные с USB-порта?
Я хочу, чтобы он загружал окна или Linux в зависимости от значения, которое он считывает с USB-порта.
Мне было интересно, может ли MBR считывать данные с USB-порта?
Я хочу, чтобы он загружал окна или Linux в зависимости от значения, которое он считывает с USB-порта.
Вы должны начать с / настроить GRUB. В нынешнем виде в MBR у вас очень мало поддержки устройств, поэтому вам придется либо писать собственный код, либо пытаться использовать поддержку USB-устройств в BIOS, если она представлена как API.
GRUB имеет встроенные USB-драйверы OHCI и UHCI http://grub.enbug.org/USBSupport . Я сомневаюсь, что он будет делать именно то, что вы хотите, из коробки, но его будет проще настроить, чем начинать с нуля.
Крайне сомнительно, что можно впихнуть его в саму 512-байтную MBR, но нет технической причины, по которой нельзя было бы сделать иначе — нужно просто загрузить мини-ОС, которая умеет читать значение, а потом действовать как цепочка загрузчик для запуска загрузчика нужной ОС: и GRUB, и загрузчик Vista способны последовательно загружать друг друга, поэтому нет причин, по которым вы не могли бы сделать то же самое.
Сказав это, написание упомянутой мини-ОС вполне может оказаться более проблематичным, чем оно того стоит. Настройка существующего загрузчика, такого как GRUB, вероятно, является лучшим выбором.