Запускать код перед загрузкой каких-либо операционных систем? - PullRequest
0 голосов
/ 21 декабря 2009

Есть ли способ написать код, который может запускаться при запуске системы, когда операционная система не загружена?

Я на самом деле хочу скопировать данные определенного раздела, сектор за сектором, в другой раздел с помощью этого кода.

Ответы [ 3 ]

3 голосов
/ 21 декабря 2009

Да, есть много способов, но вам придется многому научиться, прежде чем начинать. Также это не вопрос о неисправности сервера.

0 голосов
/ 21 декабря 2009

Предположим, вы говорите об архитектуре x86 здесь.

При запуске машина попытается прочитать первые 512 байт. Если последние два байта равны 0xAA55, машина выполнит этот код. Благодаря этому вы можете выполнить любые инструкции на ассемблере.

Это все удобнее, если у вас установлена ​​операционная система.

Вам нужно копировать байты при каждом запуске машины или только один раз? - Только один раз возьмите живой CD или поместите netboot.me на дискету и загрузите его. Тогда вы можете делать что-то более приятное.

0 голосов
/ 21 декабря 2009

Вы можете узнать, как запускать код загрузки до ОС, посмотрев на существующее программное обеспечение, которое делает это:

  • GRUB загрузчик
  • Truecrypt

Оба они с открытым исходным кодом - так что изучите их код. GRUB, возможно, проще из двух для изучения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...