Як я можу зробити так, щоб флеш-пам'ять USB відображалася / не відображалася як CD-привід?


7

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

Як я можу зробити його замість цього USB-накопичувачем? І навпаки, якби я хотів зробити те ж саме для себе, як я можу зробити так, щоб він виглядав як привід CD?

Я впевнений, що це можна зробити програмно, інакше програма видалення не працюватиме.


Це, мабуть, пов’язано з драйверами для власне заїзду.
Том Андерсон

Ти кажеш, що це безнадійно, якщо я не напишу власних водіїв?
mmyers

це пов'язано. Більше до вбудованого програмування пристрою, але все-таки програмування.
Ілля

Не встигли перевірити жодну з цих відповідей; Я перевірте наступного тижня, сподіваюся.
mmyers

...чи ні. (Привід все ще підключений, я просто досі не встиг возитися з ним.)
mmyers

Відповіді:


7

Це робиться апаратно. Пристрій ідентифікує як складений пристрій, який містить двох дітей - одного для компакт-дисків та одного для знімного накопичувача.


На жаль, не показано навіть знімного накопичувача.
mmyers

Під "обладнанням" ви маєте на увазі фактичну схему чи прошивку?
mmyers

Прошивки та / або драйвери.
Mihai Limbăşan

3
Тут драйвери зазвичай не грають ніякої ролі, оскільки використовуються загальні драйвери для зберігання ОС (для використання дисководів U3 не потрібно нічого встановлювати).
У Фрейнда

1
На пристроях 3G / HDSPA, які я бачив, їх привід CD працював без установки. Драйвери були потрібні, щоб активувати фактичну функціональність модему. Я ніколи не стикався з будь-яким пристроєм, на якому потрібна установка драйверів, щоб увімкнути функцію "віртуального компакт-диска", і я щодня працюю з новими пристроями.
Freund

0

Гаразд, тут є два питання:

1) Як я можу зробити його замість цього USB-накопичувачем?

Це залежить від самого пристрою. Я бачу 2 варіанти.

  • Пристрій підтримує запис, але представляє себе як CDROM та лише для читання. У цьому випадку вам просто потрібно налаштувати дескриптор пристрою, і ви отримаєте робочий пристрій зберігання даних.
  • Пристрій не реалізує запис і нічого не вдається зробити.

Під налаштуванням дескриптора пристрою я маю на увазі драйвер фільтра, який отримає дескриптор пристрою і передасть модифікований у Windows. Написання драйвера фільтру не дуже складно, і ви можете знайти приклади драйвера фільтра в програмі Driver Development Kit. Також буде потрібно базове розуміння протоколу USB.

2) І навпаки, якби я хотів зробити те ж саме для себе, як би я зробив це як диск із CD?

В основному ж, драйвер фільтру, який змінить дескриптор пристрою, щоб він був розпізнаний пристроєм CDROM, але додатково, коли Windows розпізнає CDROM, він надішле додаткові команди SCSI на пристрій. В ідеалі пристрій просто поверне непідтримувану команду, і це нормально, але, з мого досвіду, більшість пристроїв недостатньо загальні, і поведінка буде не визначеною. У цьому випадку вам знадобиться додатковий драйвер фільтра, який буде вловлювати ці додаткові команди і буде виконувати команди, фактично не надсилаючи їх на пристрій.

PS
Моя відповідь припускає, що у вас немає доступу до вбудованого програмного забезпечення. Якщо у вас є доступ до вбудованого програмного забезпечення, це зробити дуже просто, змінивши дескриптор пристрою та переконавшись, що не підтримувані команди керуються правильно.

PPS
Я не надаю жодних посилань на ресурси, оскільки я не думаю, що практично ви збираєтесь це реалізувати. Якщо я помиляюся, дайте мені знати, і я забезпечу відповідні ресурси. Ок одне посилання із загальною інформацією


Windows завантажуватиме різні драйвери залежно від типу пам’яті (Disk.sys та відповідні фільтри для драйвера USB, а також cdrom.sys та відповідні фільтри для компакт-дисків). Я не впевнений, що дурити ОС на завантаження іншого стека драйверів - це гарна ідея.
У Фрейнда

Я цього не тестував. Але на основі мого багаторічного досвіду роботи з USB та драйверами пристроїв я не бачу жодної причини, чому це може не працювати. У будь-якому випадку це єдиний спосіб зробити це, не змінюючи обладнання ...
Ілля

Це насправді не пов’язано із шаром USB, а із шаром зберігання. Я не впевнений, що DISK.sys (не кажучи вже про жодні фільтри сторонніх виробників, які вони можуть мати на цій машині) витончено оброблятимуть пристрої, якими слід керувати CDROM.sys
14

Майже немає відмінностей на стороні пристрою між звичайним флеш-диском usb або cdrom usb, фільтром, який я пропоную, знаходиться нижче шару disk.sys або cdrom.sys i, на шарі usb, цей фільтр повинен усунути цю різницю знову важко сперечатися без тестування, але не бачу, як це може вплинути на щось ...
Ілля

Як я вже сказав, disk.sys і cdrom.sys мають різні фільтри (деякі з них можуть бути сторонніми), які можуть покладатися на конкретну поведінку. Звичайно, ви можете мати фільтр PnP, щоб змінити ідентифікацію пристрою (або просто створити файл INF для цього пристрою), але ви не можете гарантувати, як ці фільтри будуть вести себе.
У Фрейнда

0

Ей, хлопець, я зробив разом зі своїм USB-сервером FD серрал, щоб перетворити його на 2 CD-диски та usb-пристрої. Єдине, що вам потрібно зробити, це завантажити chipgenius, а потім запустити його, дочекатися його ідентифікації у вашому usb, а потім перейти до http://flashboot.ru/files/ шукати ваш інструмент прошивки usb. Якщо ви отримаєте правильний, я впевнений, що проблем не буде. Я зробив це, і перетворив свій usb на cdrom завантажувального пристрою hiren, і коли ви завантажуєте з bios, ви більше не вибираєте своє ім'я usb, а вибираєте опцію usb-cdrom.


4
Цікаво, але відверто кажучи, домен .ru мене лякає. Чи є інша альтернатива?
mmyers

0

Флеш-диск розділений та відформатований за допомогою файлової системи cdfs, використовуйте команду dos, дискрет для перегляду та видалення \ створення розділів у вигляді жиру fat32 або ntfs

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.