Для обеспечения загрузки с диска необходимо наличие первичного (Primary) активного (Active) раздела с правильно размещенными системными файлами (для того, чтобы BIOS смог их найти и передать им управление загрузкой ОС). Для успешной загрузки MS-DOS необходимо расположение IO.SYS и MSDOS.SYS в самом начале раздела (что позволяет сделать утилита SYS.COM или FORMAT.COM при форматировании раздела с ключом «/S»). DOS-разделы позволяют сделать как FDISK.COM (DOS, Windows 95/98), так и консоль управления дисками Windows NT/2000/XP. Но ни одна из них не может сделать первичный раздел USB FlashDisk активным (FDISK.COM утверждает, что активным может быть в системе только один раздел). Сделать «невозможное» позволяет ряд как дисковых утилит (например, PowerQuest (Symantec) Partition Magic), так и специализированных утилит для управления USB Flash-накопителями (часто поставляются в комплекте с самими устройствами). Самые широкие возможности по работе с дисками есть в реальном режиме DOS, в котором осуществим прямой доступ к устройствам, и большинство системных утилит (как Partition Magic, Symantec Ghost и т.п.) работают именно в этом режиме (под оболочкой в Windows производится только конфигурирование программы перед запуском). Для USB-устройств работоспособные универсальные драйверы под DOS появились сравнительно недавно. Информация о них доступна на сайте The Inquirer (http://theinquirer.net/?article=10215). Для работы с USB FlashDrive необходимы драйверы, входящие в два комплекта. Первый – это драйвер ASPI HDD (DI1000DD.SYS) из набора Motto Hairu USB1.1 mode ASPI Manager, включивший в себя поддержку USB-FDD (RAMFD.SYS, предназначен для копирования образа дискеты в память при необходимости освободить USB-порт, к которому подключен дисковод). Этот файл доступен по адресу http://www.stefan2000.com/darkehorse/PC/DOS/Drivers/USB/mhairu.zip. Второй драйвер USBASPI.SYS – из набора утилит и драйверов Matsushita/Panasonic для работы с USB CD-приводами (http://panasonic.co.jp/pcc/products/drive/cdrrw/kxlrw40an/driver/kxlrw40an.exe).
Для установки драйвера понадобится прописать его в файлы конфигурации загрузочного DOS-диска/дискеты CONFIG.SYS:
DEVICEHIGH=USBASPI.SYS /V
DEVICEHIGH=DI1000DD.SYS
Некоторые ключи драйвера usbaspi.sys:
/w (Wait – ожидать) – отображается сообщение при смене или подключении устройства;
/v (Verbose – запретить) – отображает сообщение о статусе (рекомендуется);
/l[=n] – определяет максимальный номер логического устройства (LUN), по умолчанию установлен «0»;
Можно для ускорения определения устройств на контроллерах USB включить только присутствующие в данной системе:
/e – включить контроллеры только спецификации EHCI (USB 2.0);
/o – включить контроллеры только спецификации OHCI (новая версия USB 1.x);
/u – включить контроллеры только спецификации UHCI (старая версия USB 1.x).
Без этих ключей будут проверяться все контроллеры (рекомендуется).
Для поддержки USB-CDD потребуется еще файл USBCD.SYS из этого же набора утилит, а также необходимо добавить следующие строки в CONFIG.SYS:
DEVICEHIGH=USBCD.SYS /D:USBCD001
В AUTOEXEC.BAT:
LH MSCDEX /d:USBCD001
Пожалуй, самым неприятным ограничением в работе под MS-DOS является не столько 16-разрядный доступ, сколько проблемы с длинными именами файлов (которые режутся при копировании). Поэтому для работы с файлами предпочтительнее применять 32(64)-разрядные ОС.
Пользователям Windows 2000/XP на первый взгляд проще – flash-накопители обычно определяются автоматически и не требуют драйверов. Существует масса программ для форматирования и менеджмента дисков: например, HP USB Disk Storage Format Tool (ftp://ftp.compaq.com/pub/softpaq/sp27001-27500/SP27213.exe) и Microsoft USB Flash Drive Manager (http://www.microsoft.com/windows/partnerpack/desc/ufd.htm). Несмотря на свою «универсальность», ни одна из перечисленных программ не смогла сделать наш Imation FlashDrive загрузочным. Все три необходимых условия (основной раздел отформатирован в FAT16, сделан активным, на него помещены системные файлы) были выполнены, но компьютер не смог загрузиться с данной флэшки («Operating System Not Found»), пришлось искать другие пути. Так как объем накопителей весьма ограничен, то файловая система обычно FAT, а загрузочная ОС обычно DOS (хотя есть различные компактные LINUX-подобные системы, но у тех, кто с ними работает, подобные сложности вряд ли возникнут). Соответственно, возникают проблемы с поиском файлов DOS и созданием загрузочного DOS-образа. Но и эти вопросы достаточно хорошо разъяснены в Сети, и есть различные простые способы обзавестись DOS-файлами (например, [ftp://ftp.roverbook.com/.bios/System_w98.zip] или [http://www.bootdisk.com/bootdisk.htm]. Кроме того, программа HP USB Disk Storage Format Tool умеет переносить системные файлы не только с системной дискеты (или ее образа), но и из любой папки на диске, где есть необходимые DOS-файлы (IO.SYS, MSDOS.SYS, COMMAND.COM). Остальные же файлы можно создать или скопировать вручную.
Пользователям же Windows 98SE на первый взгляд не повезло. Но это только на первый взгляд! Универсальный драйвер для USB-накопителей существует, и имя ему NUSB – Maximus Decim Native USB Driver for Windows 98SE (http://lemnews.com/drivers/).
После установки драйвера nusb22r.exe (здесь r – «русская версия»; по заявлению разработчика, использовать русскую версию для английской версии Windows и наоборот – нельзя) все наши накопители стали определяться и устанавливаться системой без проблем.