## Проблема с установкой Windows 98 на устройстве Zalman ZM-VE500
На Хабре уже есть статья про Zalman ZM-VE500, написанная системным инженером ЦОД. Это одно из немногих устройств, которое содержит в себе эмулятор оптического привода и позволяет иметь под рукой сразу коллекцию ISO-образов операционных систем. Вот только любителям ретрокомпьютинга оно может преподнести несколько неприятных сюрпризов. Подробности — под катом.
### В чём проблема?
Создатели устройства честно предупреждают, что поддержка Windows есть только для версий 2000 и старше. Если же вы попробуете установить какую-нибудь Windows 98, то столкнётесь с проблемой. Сбой происходит на этапе установки драйвера для CD-привода. Система сообщает, что CD-приводы не найдены, после чего загрузка прекращается. То же поведение характерно для официальных дистрибутивов Windows 95/98/98SE/Me и сборок на их основе. Пару недель назад, готовя статью про Compaq TC1000, мы случайно обнаружили способ обойти это ограничение и теперь можем им поделиться.
### Как решить проблему?
Загрузка установщика старых операционных систем вроде Windows 98 состоит из нескольких этапов. Вначале запускается MS-DOS, который в процессе подгружает базовые драйверы вроде HIMEM.SYS для получения доступа к оперативной памяти за пределами основной области. После этого происходит попытка загрузить драйвер для CD-привода, который потребуется для первоначального доступа к инсталлятору.
В стандартном дистрибутиве включены некоторые драйверы ATAPI CD-ROM, но они рассчитаны на устройства на шинах IDE и SCSI. Поскольку MS-DOS официально не поддерживается, искать драйверы на сайте производителя бесполезно. Увы, но большая часть старых сборок вроде Reanimator 2001 содержала в себе лишь какой-нибудь OAKCDROM.SYS, с которым Zalman не работал.
Среди сборок нам попался знаменитый Hiren’s BootCD версии 15.2. Выбрав загрузку в DOS, мы с изумлением обнаружили, что система спокойно подгрузила какой-то драйвер, плюнув надписью Loading CDROM Driver 9F0800CD1, и присвоила дисководу букву X. Поскольку Hiren’s BootCD создаёт Ramdrive, можно было спокойно отмонтировать его из виртуального привода и заменить на любой другой. Так получилось успешно запустить установку Windows 98. Оставалось лишь два вопроса: какой конкретно драйвер подошёл и как его вытащить отдельно?
### Разбираем Hiren’s BootCD
Чтобы достать файлы из образа, мы воспользовались самым простым вариантом: присоединили ISO-образ к виртуалке с установленной операционной системой, загрузились с него и закинули архив DRIVERS.7Z на виртуальный HDD для дальнейшей распаковки и изучения. Альтернативно можно было распаковать содержимое 7z-архива и примонтировать IMG-образ к флоппи-дисководу в VirtualBox или PCem.
## Установка операционных систем с помощью Zalman VE500 и IODD
Скачиваем архив bootcd.zip и распаковываем в любую удобную папку. Внутри будет три каталога (CD, Floppy, Tools), скрипт сборки Build-ISO.cmd и документация в readme.txt.
## Подготовка дисков
Заходим в директорию Floppy и закидываем туда usbcd2.sys. Открываем CONFIG.SYS с помощью любого текстового редактора и заменяем строку `DEVICE=OAKCDROM.SYS /D:CDDRIVER /L:X`.
## Сборка ISO образа
Сохраняем файл, возвращаемся в вышестоящую папку и запускаем скрипт сборки `Build-ISO.cmd`. Видим, что всё прошло успешно, и закрываем это окно.
## Формирование образов
Сборщик делает ровно две вещи: сначала создаёт образ дискеты в формате IMA из директории Floppy, делая его загрузочным посредством файла boot.dat; затем формирует образ компакт-диска с файловой системой El Torito, включая в него собранный ранее образ флоппи-диска.
## Использование образа
Теперь в папке bootcd лежит свежеиспечённый ISO-образ с именем BootCD.iso. Закидываем его в директорию \_ISO на Zalman, переводим бокс в режим виртуального привода, подключаем к компьютеру и монтируем образ. В меню загрузки выбираем Dos.
## Создание сборок
На базе такого образа теперь можно сделать собственные сборки установки старых операционных систем, включив туда FDISK для управления разделами на жёстком диске, FORMAT для их форматирования и дополнительные драйверы, необходимые для конкретного оборудования.
## Заключение
Конечно, подобный бокс — лишь один из способов обеспечить установку операционной системы на ретроустройствах без CD-привода. Для современных компьютеров оптические носители ушли в прошлое, но для старых устройств эмуляция остаётся удобным средством для установки ОС или выполнения резервного копирования.