НАЗАД В "СТАТЬИ"

Как установить FreeDOS на USB флешку


Задался вопросом установки FreeDOS на флешку. Изучил некоторые материалы в интернетах. Вопрос вполне решаем, но несколько утомляют пляски с бубном вокруг Syslinux, makebootfat, компиляции и установки ПО, которое нам никогда не понадобится и др., и пр. Чтобы минимизировать телодвижения, попробуем понять, что нам необходимо для загрузки и что нам не даёт грузиться.

Дальнейшие несколько десятков строк написаны для людей, знакомых с линуксом и командной строкой. Любители "дружественной операционной системы" и "мощных и полезных утилиток" с "интуитивно понятными графическими интерфейсами" проходят дальше.

В чем заключается проблема?
Проблема в том, что на новой флешке изначально в MBS (главном загрузочном секторе, нулевом секторе) отсутствует MBR (главная загрузочная запись), есть только PT (таблица разделов). Невелика проблема установить на флешку ворованый MS DOS из 98-й винды и всё решится само собой. Но мы хотим по-честному.
Если до этого на флешке MS DOS уже стоял, то простое копирование системных файлов FreeDOS ни к чему не приведет, т. к. ссылки в бутсекторе четко требуют майкрософтовских io.sys и msdos.sys.
Если воспользоваться фридосовой sys.com, то тоже ничего не получится. Бутсектор перепишется со ссылкой на kernel.sys, но MBR останется от MS DOS, несовместимый с фридосовым бутсектором. Опять же, загрузка будет невозможна.
Итак, главная проблема в отсутствии MBR, никак не связанного с Майкрософт. Отсюда и пляшем.

Что потребуется? Mbrfat.bin - образ загрузчика. Он расположен в архиве с исходниками makebootfat. Просто выколупаем его оттуда. Понадобится образ загрузочной дискеты FreeDOS. Скажем, Balder подойдет. Ну и, разумеется, понадобится флешка.

Для начала очищаем её от всего ненужного :) .

dd if=/dev/zero of=/dev/sda bs=8K

После этого создаем cfdisk'ом раздел FAT.

cfdisk /dev/sda

Вылезет дружественное интерактивное меню :) .
Для флешек объемом до 2 ГБ тип раздела устанавливаем 06 (FAT16). Для флешек больше 2 ГБ тип будет 0B или 0C (FAT32). Впрочем и маленькие флешки можно готовить под FAT32 тоже. Не забываем, про то, что раздел должен быть Bootable, иначе флешка не загрузится.
Потом вписываем в нулевой сектор загрузчик, выковырянный из исходников makebootfat.

dd if=mbrfat.bin of=/dev/sda

Затем с помощью mkdosfs форматируем раздел на флешке.

mkdosfs /dev/sda1    # в случае FAT16
mkdosfs -F 32 /dev/sda1   # в случае FAT32

Изготавливаем загрузочную фридос-дискету:

dd if=balder10.img of=/dev/fd0

Перезагружаемся и грузим FreeDOS с дискеты. Флешка должна быть воткнута, в биосе материнки должна быть включена поддержка legacy usb.
На всякий случай можно еще раз форматнуть раздел уже из под DOS:
format С:


Потом записываем фридосовый бутсектор и минимальный набор системных файлов:
sys С:


Собственно, всё - базовая система установлена :) . После установки FreeDOS можно дополнительно установить необходимое ПО для диагностики HDD, файловый менеджер, старые игры, повозиться с драйверами верхней памяти и сиди-рома, поколдовать с autoexec.bat и config.sys. Всё как в старые добрые времена :) .

Необходимое послесловие.
Хочу предупредить новоиспеченных "линуксоидов", во множестве появившихся благодаря стараниям африканского космонавта Шаттлворта и его Недобубунтам. Не следует буквально понимать написанное и очертя голову копипастить приведенные команды. В каждом конкретном случае, в зависимости от установленных жестких дисков SATA, флешка может оказаться и sdb, и sdc, и sdd, "и так далее..." Если на жестком есть разделы FAT, то и "диск C" может иметь другую букву. Со всеми вытекающими деструктивными последствиями для ваших данных :) . Поэтому сначала включаем мозг и подходим к написанному творчески :) .

Виталий Розизнаный AKA Rozik
28.11.2008

НАЗАД В "СТАТЬИ"