Перемещение скомпилированного ассемблерного кода в загрузочный сектор устройства USB

Я написал простую операционную систему, и я пытаюсь ее протестировать. У меня установлен VirtualBox и флэш-накопитель на восемь ГБ, поэтому я думал, что просто буду использовать их. Однако я не уверен, как сделать USB-накопитель загрузочным. Я выполнил множество учебников по созданию загрузочного образа iso, но ни VirtualBox, ни Disk Utility не могут его прочитать. Может ли кто-нибудь дать мне проверенный метод настройки USB-накопителя на загрузку?

Что у меня есть

  • Восемь-восемь флэш-накопителей

  • Виртуальная виртуальная машина

  • A .bin из кода сборки, скомпилированного с помощью nasm.

Что мне нужно

  • Простая и понятная информация о том, как заполнить загрузочный сектор устройства USB

  • Подталкивание в правильном направлении, если мне нужно что-то в дополнение к .bin

Существующий код

;********************************************* ; Boot1.asm ; - A Simple Bootloader ; ; Operating Systems Development Tutorial ;********************************************* org 0x7c00 ; We are loaded by BIOS at 0x7C00 bits 16 ; We are still in 16 bit Real Mode Start: cli ; Clear all Interrupts hlt ; halt the system times 510 - ($-$$) db 0 ; We have to be 512 bytes. Clear the rest of the bytes with 0 dw 0xAA55 ; Boot Signature 

Учебники, которые я выполнил

http://www.quilime.com/code/bootable_iso http://www.acm.uiuc.edu/sigops/roll_your_own/ http://www.brokenthorn.com/Resources/OSDevIndex.html http: // www. brokenthorn.com/Resources/OSDev1.html http://www.brokenthorn.com/Resources/OSDev2.html http://www.brokenthorn.com/Resources/OSDev3.html

  • Установщик Linux Mint не видит fakeraid drive
  • Как загрузить загрузочный носитель Fedora 17 для загрузки моего ноутбука?
  • Самый простой способ установить установку Linux Desktop на VirtualBox
  • Фиксирование неудачного CentOS 5.9 Шаг Grub
  • Как загрузить 2-й Gen Zenbook с помощью USB и установить Debian?
  • Установка 14.04 из ubuntu-14.04-desktop-amd64.iso с pxe
  • Debian, нет X, нет Интернета, как скомпилировать драйвер беспроводной сети?
  • Grub установлен на жесткий диск после ElementaryOS Установить на USB?
  • 2 Solutions collect form web for “Перемещение скомпилированного ассемблерного кода в загрузочный сектор устройства USB”

    Типичным способом является использование dd . Ниже приведены инструкции загрузчика syslinux для установки mbr.bin в /dev/sda .

     dd bs=440 count=1 conv=notrunc if=mbr/mbr.bin of=/dev/sda 

    Здесь /dev/sda является целевым устройством. ( of «выходного файла».)

    Вы замените это на имя устройства вашего USB-накопителя.

    Хорошо, вы на самом деле минимальная ОС. Теперь вам нужно получить какую-то машину для ее загрузки.

    Независимо от того, какую машину вы используете (ваш ноутбук, виртуальный бокс и т. Д.), Когда он запускается, для загрузки и запуска ОС требуется некоторый ПЗУ, содержащий код. Обычно это что-то вроде BIOS. Обычно это просто загружает загрузочный сектор настроенного загрузочного носителя и запускает все, что там находит.

    Следовательно, просто поместите свою минималистичную ОС в загрузочный сектор, и все в порядке. Если ваша ОС недостаточно минимальна, загрузочный сектор нуждается в коде для загрузки большей части вашей ОС.

    Interesting Posts

    Существуют ли какие-либо терминалы linux, которые могут обрабатывать все комбинации клавиш?

    Как изменить путь установки по умолчанию, используя zypper в suse 11.2?

    Как преобразовать <a href="http://xy.com"> XY </a> в ?

    Как сделать локальное зеркало веб-сайта с всплывающим окном подтверждения?

    Как использовать AWK для запроса файла, загруженного с помощью mapfile

    Как бы я запустил эту команду?

    Соединение сокета отказано (raspbian), но порты открыты для соединений

    Производительность btrfs

    cygwin отображает прямоугольники вместо символов

    Как перечислить все команды LS в терминале и их функциональные возможности?

    Какие хорошие онлайн-ресурсы для изучения сценариев оболочки?

    automount nfs: параметры тайм-аута autofs для ненадежных серверов – как избежать зависания?

    Как отключить запрос пароля для автоматического обновления в Red Hat

    Недопустимый плагин для памяти Nagios без обновления после обновления до Debian Stretch

    SSD: как часто я должен делать fstrim?

    Linux и Unix - лучшая ОС в мире.