У цій статті ми покажемо, як зробити так, щоб USB флешка або SD карта визначалася в системі Windows як звичайний локальний жорсткий диск. Ви, напевно, запитаєте, а навіщо це потрібно? Справа в тому, що Windows за замовчуванням визначає USB флешки і карти пам'яті як змінні накопичувачі, які стандартами засобами Windows не можна розбити на кілька розділів. І навіть якщо розбити флешку на двох чи більше розділів за допомогою сторонніх утиліт (в тій же Linux), то в ОС сімейства Windows буде доступний тільки перший з них (до речі кажучи, в Windows 10 1703 з'явилася вбудована можливість розбити USB накопичувач на кількох розділів) . Тобто Windows підтримує нормальну роботи з мультіразделамі тільки для HDD дисків, які в системі визначаються як локальні (тобто незнімні).
RMB біт і USB носії
ОС сімейства Windows розпізнають USB флешки як знімні / видобувні (removable) пристрої через наявність на кожному пристрої спеціального битового дескриптора RMB (removable media bit). Якщо при опитуванні підключеного пристрою через функцію StorageDeviceProperty, система визначає, що RMB = 1, вона робить висновок, що підключений пристрій є змінним накопичувачем. Таким чином, щоб з точки зору системи перетворити USB-Флеку в жорсткий диск, досить модифікувати цей дескриптор. Це можна зробити безпосередньо (що досить ризиковано через відмінності в апаратних реалізаціях конкретних пристроїв, та й не завжди можливо), або побічно, підмінивши відповідь USB пристрою за допомогою спеціального драйвера, що дозволяє відфільтрувати інформацію у відповіді пристрою.
Порада. Деякі виробники випускають спеціальні утиліти для перепрошивки контролера своїх флешок. В першу чергу спробуйте на сайті виробника знайти таку утиліту і / або прошивку. Це найправильніший шлях. Якщо такої утиліти не знайдеться, дотримуйтесь рекомендацій з цієї статті.Підключимо в будь-який вільний порт комп'ютера USB флешку, потім відкриємо диспетчер управління дисків (diskmgmt.msc) І переконався, що її тип визначається в системі як Removable (Знімний пристрій).
Також тип пристрою можна подивитися на вкладці Volumes у властивостях диска (як ми бачимо і тут Type: Removable).
Або за допомогою команди diskpart:
list volume
У цій статті ми розглянемо два способи зміни RMB біта на USB флешці - за допомогою використання фільтр-драйвера Hitachi (зміни вносяться тільки на рівні драйверв конкретного комп'ютера) і зміна біта в прошивці контролера за допомогою утиліти BootIt від Lexar (більш універсальний спосіб, але є ряд обмежень і можна застосувати не до всіх моделей флешок і SD карт). Хоча обидва ці способи досить старі і спочатку я тестував їх в Windows 7, вони продовжують бути актуальними і однаково добре працюють і в сучасній Windows 10.
зміст:
- Утиліта Lexar BootIt
- Фільтр-драйвер для флешок Hitachi Microdrive
- Установка драйвера Hitachi Microdrive замість рідного драйвера USB накопичувача
- Як видалити драйвер Hitachi Microdrive
Утиліта Lexar BootIt
Нещодавно мені на очі потрапила досить цікава утиліта - Lexar BootIt. Це безкоштовна портабельная програма, яка може змінити RMB знімного накопичувача, зробивши знімне USB-пристрій фіксованим (або навпаки). Незважаючи на те, що утиліта Lexar BootIt розроблена для пристроїв Lexar (Micron, Crucial), вона може працювати і з флешками інших виробників. Утиліта BootIt підтримує всі версії Windows, починаючи з Windows XP і закінчуючи Windows 10.
важливо. Утиліта гарантовано працює для накопичувачів Lexar. Судячи з відгуків, функція «Flip removable bit» не працює на швидких USB 3.0 флешках. Крім того, при перепрошивки контролера ви втрачаєте гарантії на флешку і можете зробити її непрацездатною.Завантажити BootIt можна на сайті Lexar (lexar_usb_tool) або з нашого сайту (BootIt_usb_rmb.zip).
- Запустіть BootIt.exe з правами адміністратора
- У списку пристроїв виберіть свою флешку
- Натисніть на кнопку Flip Removable Bit
- Збережіть зміни, натиснувши ОК.
Під'єднайте пристрій і за допомогою диспетчера пристроїв переконайтеся, що його тип змінився з Removable на Basic.
У тому випадку, якщо утиліта BootIt не допомогла змінити RMB біт на знімному накопичувачі, спробуйте скористатися наступним способом, заснованому на фільтр драйвері Hitachi Microdrive
Фільтр-драйвер для флешок Hitachi Microdrive
Щоб USB флеш накопичувач або SD карта розпізнав в системі як жорсткий диск, нам знадобиться спеціальний фільтр-драйвер, що дозволяє модифікувати дані передаються через системний стек чинного драйвера пристрою. Ми скористаємося фільтр-драйвером для USB флешок від Hitachi (драйвер Hitachi Microdrive), Який на рівні драйвера ОС дозволяє змінити тип пристрою флешки зі знімного на фіксований (USB-ZIP -> USB-HDD). Завдяки використанню даного драйвера, можна приховати від системи, що підключений пристрій з'являться знімним. В результаті чого, система буде вважати, що вона працює зі звичайним жорстким диском, який можна розбити на розділи, які одночасно будуть доступні в системі.
Архіви з драйвером Hitachi Microdrive:
- версія Hitachi Microdrive для 32 бітних систем - Hitachi Microdrive (3,0 КБ)
- версія Hitachi Microdrive для 64 бітних систем - Hitachi Microdrive x64 (3,8 КБ)
Необхідно завантажити версію драйвера для вашої системи відповідно до її розрядністю. Обидва архіву мають однакову структуру і складаються з двох файлів:
- cfadisk.inf - інсталяційний файл, з настройками драйвера
- cfadisk.sys - файл драйвера Hitachi
Наступний етап - ідентифікація коду устрою нашої флешки. Для цього у властивостях диска на вкладці Details в параметрі Device Instance Path виберіть і скопіюйте (Ctrl + C) Код екземпляра пристрою.
У нашому прикладі це буде:
USBSTOR \ Disk & Ven_Linux & Prod_File-CD_Gadget & Rev_0000 \ 0123456789ABCDEF & 0
Припустимо, ми плануємо встановити драйвер на 64 бітної системі. За допомогою будь-якого тестового редактора відкриваємо на редагування файл cfadisk.inf. Нас цікавлять розділи cfadisk_device і cfadisk_device.NTamd64.
[Cfadisk_device]% Microdrive_devdesc% = cfadisk_install, IDE \ DiskTS64GCF400 ______________________________ 20101008 [cfadisk_device.NTamd64]% Microdrive_devdesc% = cfadisk_install, IDE \ DiskTS64GCF400 ______________________________ 20101008
міняємо значення DiskTS64GCF400______________________________20101008
на код нашого пристрою.
отримуємо:
[Cfadisk_device]% Microdrive_devdesc% = cfadisk_install, IDE \ USBSTOR \ Disk & Ven_Linux & Prod_File-CD_Gadget & Rev_0000 [cfadisk_device.NTamd64]% Microdrive_devdesc% = cfadisk_install, IDE \ USBSTOR \ Disk & Ven_Linux & Prod_File-CD_Gadget & Rev_0000
зберігаємо файл.
Якщо драйвер встановлюється на 32 бітної системі, потрібно завантажити радить архів, розпакувати його і відкрити на редагування файл cfadisk.inf. знайдемо розділ [Cfadisk_device]:
[Cfadisk_device]% Microdrive_devdesc% = cfadisk_install, USBSTOR \ Disk & Ven_LEXAR & Prod_JD_LIGHTNING_II & Rev_1100% Microdrive_devdesc% = cfadisk_install, USBSTOR \ Disk & Ven_JetFlash & Prod_TS1GJF110 & Rev_0.00% Microdrive_devdesc% = cfadisk_install, USBSTOR \ DISK & VEN_ & PROD_USB_DISK_2.0 & REV_P
Потім змінимо дані в останньому рядку, вказавши код примірника нашої флешки, тобто в нашому прикладі отримаємо:
% Microdrive_devdesc% = cfadisk_install, USBSTOR \ Disk & Ven_LEXAR & Prod_JD_LIGHTNING_II & Rev_1100% Microdrive_devdesc% = cfadisk_install, USBSTOR \ Disk & Ven_JetFlash & Prod_TS1GJF110 & Rev_0.00% Microdrive_devdesc% = cfadisk_install, USBSTOR \ Disk & Ven_Linux & Prod_File-CD_Gadget & Rev_0000Порада. Якщо потрібно, щоб USB флешка в диспетчері пристроїв відображалася з конкретним ім'ям, потрібно відредагувати значення змінної Microdrive_devdesc, наприклад так:
Microdrive_devdesc = "Transcend 64GB DIY SSD"
Установка драйвера Hitachi Microdrive замість рідного драйвера USB накопичувача
Залишилося замінити драйвер, який використовується USB флеш накопичувачем.
важливо! Якщо USB драйвер Hitachi Microdrive встановлюється на 64 бітної системі, то тому для цього драйвера відсутня цифровий підпис, доведеться відключити перевірку цифрового підпису драйвера або самостійно підписати драйвер.Відкриємо вкладку Drivers і натиснемо кнопку Update Drivers.
Зазначимо папку до каталогу, в який розпакований скачаний архів з драйвером Hitachi:
Виберемо новий драйвер.
Ігноруємо попередження про відсутньої цифрового підпису драйвера.
Порада. У Windows 10 і Windows 8 при установці драйвера з'являється така помилка:Система Windows виявила драйвери для цього пристрою, але при спробі установки цих драйверів сталася помилка.Hitachi Microdrive
Inf стороннього виробника не містить інформації про підписи
Для відключення перевірки цифрового підпису драйвера, виконайте команди:
bcdedit.exe / set nointegritychecks ON
bcdedit.exe / set TESTSIGNING ON
Перезавантажте комп'ютер і спробуйте знову встановити драйвер.
Залишилося перезавантажити комп'ютер і, відкривши диспетчер дисків, упевниться, що ваша флешка стала визначатися як звичайний жорсткий диск (Type: Basic), А в якості драйвера використовується драйвер Hitachi.
Відкривши провідник, можна також переконатися, що іконка флешки змінилася вона стала відображатися як жорсткий диск звичайний диск.
Тепер з цієї флешкою можна працювати як зі звичайним HDD: створювати розділи, вказувати активний розділ, створювати динамічні диски, встановлювати ПО, яке не працює з флешок і т.д.
важливо. На інших комп'ютерах Windows без цього драйвера другий розділ пристрою доступний не буде.Як видалити драйвер Hitachi Microdrive
Щоб видалити драйвер Hitachi Microdrive, відкрийте властивості диска і на вкладці драйвер натисніть кнопку Update Driver - система сама встановить рідний драйвер.
Порада. Якщо після установки драйвера Hitachi система перестала завантажуватися з BSOD, потрібно завантажити комп'ютер з інсталяційного диска Windows / Live CD і вручну видалити такі файли:
- cfadisk.sys в каталозі% windir% \ System32 \ drivers
- Каталог "cfadisk.inf_amd64_ ..." з% windir% \ System32 \ DriverStore \ FileRepositoty
перезавантажте комп'ютер
Потрібно розуміти, що це рішення буде працювати тільки на тій системі, на якій встановлено відповідний драйвер.