7

Недавно мне подарили небольшую USB-флешку в качестве рекламного трюка. Когда я подключаю его, появляется только один дисковод: дисковод CD с использованием 42 КБ (просто файл autorun.inf, который запускает веб-сайт производителя). Я знаю, что приводы U3 также отображаются в виде CD-приводов, но их утилита удаления работает только для их собственных приводов.

Как сделать так, чтобы он отображался как USB-накопитель? И наоборот, если бы я хотел сделать то же самое для себя, как бы я сделал это в качестве привода компакт-дисков?

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

4 ответа4

7

Это сделано аппаратно. Устройство идентифицируется как составное устройство, содержащее двух дочерних элементов - одно для дисковода компакт-дисков, а другое для съемного накопителя.

0

Флешка была разбита на разделы и отформатирована с использованием файловой системы cdfs, используйте команду dospart diskpart для просмотра и удаления \ создания разделов как fat fat32 или ntfs

0

Хорошо, здесь есть 2 вопроса:

1) Как сделать так, чтобы он отображался как USB-накопитель?

Это зависит от самого устройства. Я вижу 2 варианта.

  • Устройство поддерживает запись, но представляет собой CDROM и только для чтения. В этом случае вам просто нужно настроить дескриптор устройства, и вы получите работающее устройство хранения.
  • Устройство не осуществляет запись и ничего не может быть сделано.

Под настройкой дескриптора устройства я подразумеваю драйвер фильтра, который получит дескриптор устройства и передаст измененный в Windows. Написание драйвера фильтра не очень сложное, и вы можете найти примеры драйвера фильтра в комплекте разработки драйверов. Также потребуется базовое понимание протокола USB.

2) И наоборот, если бы я хотел сделать то же самое для себя, как бы я сделал его в качестве дисковода компакт-дисков?

По сути, драйвер фильтра, который изменит дескриптор устройства для распознавания устройством CDROM, но дополнительно, как только Windows распознает CDROM, он отправит дополнительные команды SCSI на устройство. В идеале устройство просто возвращает неподдерживаемую команду, и все в порядке, но, по моему опыту, большинство устройств недостаточно универсальны, и их поведение будет неопределенным. В этом случае вам понадобится дополнительный драйвер фильтра, который перехватит эти дополнительные команды и выполнит команды, фактически не отправляя их на устройство.

PS
Мой ответ предполагает, что у вас нет доступа к прошивке устройства. Если у вас есть доступ к прошивке устройства, это действительно легко сделать, изменив дескриптор устройства и убедившись, что неподдерживаемые команды обрабатываются правильно.

PPS
Я не даю никаких ссылок на ресурсы, так как не думаю, что практически вы собираетесь это реализовать. Если я ошибаюсь, дайте мне знать, и я предоставлю соответствующие ресурсы. Хорошо, одна ссылка с общей информацией

0

Эй, парень, я сделал несколько раз с USB-накопителем FD, чтобы превратить его в 2 устройства CD и USB. Единственное, что вам нужно сделать, это загрузить ChipGenius, затем запустить его, подождать, пока он определит ваш usb, и перейти по адресу http://flashboot.ru/files/ для поиска вашего инструмента прошивки usb. Если вы получите правильный, я уверен, что не будет никаких проблем. Я сделал это и превратил мой usb в загрузочный компакт-диск hiren, и при загрузке из BIOS вы больше не выбираете свое имя usb, а выбираете опцию usb-cdrom.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .