Безоговорочная победа над образами MS-DOS 6.22 и CompactFlash

Apr 26, 2024 19:02

В меня не верили, говорили что возможно это даже невозможно, или не будет работать. Но таки это работает, и не только в эмуляции, но и на реальном железе.



Образ, полученный вчера, записан на флешку и успешно стартует.

В предыдущих сериях:Ещё у людей возникла путаница (в этом видимо я виноват), поскольку проблемы у меня было две и они были разными:
  1. Проблема с определением и работы носителя в BIOS и системе. Не все флешки корректно работают.
  2. Проблема с созданием рабочего образа DOS для 4 ГБ носителя средствами linux.
Поэтому кратко распишу в виде отдельных глав как я разобрался и решил все проблемы. Главная из которых для меня была - это использовать весь объём карточки 4 ГБ для DOS.

Создание образа MS-DOS без регистрации и sms

Как я понял из общения с людьми, создание образа диска - весьма актуальная задача. В предыдущей статье "Как создать средствами linux загрузочный образ диска с DOS 6.22" я рассказал, что устанавливал DOS в qemu с дискеток, и там по умолчанию получил диск 500 МБ. И, мне кажется, как-то слишком расточительно 4 гига усекать до 500 метров.

Поэтому я тщательно гуглил, и пытался понять, почему же у меня не получается сделать загрузочный раздел 2 гигабайта, когда ДОС умеет работать с такими большими объёмами. Короче говоря, сначала я думал что надо сделать диск меньшего объёма, потом проверил что это не важно.

Короче говоря, я сделал образ загрузочной дискетки, переписал туда утилиты format и fdisk, разметил всё. Даже без магий с недокументированными возможностями типа

fdisk /mbr
усё прекрасно заработало. Просто разбил первичную партицию с дикетки, создал вторичные разделы. И вуаля, у меня есть два диска на 2 гига. Усё работает.







Не получилось в прошлый раз, так как я делал с другого диска (пёс знает что там ДОС мутит, но вот так нельзя). Ток с дискеток. А потом подключай второй винт и копируй всё нужное-ненужное.

Итого, образа я научился делать просто и быстро, пускай и с промежуточной дискеткой (фактически файлик отдельный).

Разбор полётов CompactFlash

Тут всё просто. Я с помощью утилиты IDEINFO под ДОС на примонтированной флешке (аппаратную флешку пробрасывал в qemu) посмотрел разбивку по секторам, дорожкам, блинам. Переписал все эти параметры и вручную вбил в BIOS, и записал образ с помощью dd:



Но такой грязный хак не позволил загрузиться на эту флешку, и всё равно вышла ошибка:



Из забавного, что я забыл в BIOS поменять параметры флешки, и вставил свою четырёхгиговую (та, которая имела вначале раздел на 500МБ), и с неё успехом загрузился, имея параметры флешки на 2ГБ. При этом, что смешно, программа IDEINFO видит параметры диска как на 4 ГБ (можно перемножить количество дорожек, головок, блинов и умножить на 512, убедившись что это 4 ГБ), а в конце выводит системный размер, который получает от бивиса.



Как я понял, синюю флешку без каких-то хитрых шаманств не перевести в режим IDE.

Итого, резюмируя: образы делать умеем, qemu великолепный инструмент, не все фрешки одинаково полезны, на 4 ГБ систему можно натянуть, побив на два раздела.

dos, старое железо, ДОС, linux

Previous post Next post
Up