Доброго дня!
Если ваша флешка стала постоянно сбоить: не форматируется, при подключении к компьютеру - тот часто подвисает, при копировании файлов на нее - вылетают ошибки, но она не подвергалась механическому воздействию - ШАНСЫ на восстановление ее работоспособности есть!
Хорошо бы, если при подключении флешки - она хоть как-то определялась, например: издается звук подключения, флешка отображается в "моем компьютере" , на ней моргает светодиод и пр. Если компьютер совсем не видит флешку, то сначала рекомендую ознакомиться вот с этой статьей:
Вообще, дать универсальную инструкцию, как и какой программой что делать, чтобы восстановить флешку - невозможно! Но я в этой небольшой статье попытаюсь дать алгоритм, который поможет, даже начинающим пользователям, разобраться с проблемой и решить ее.
Восстановление работоспособности флешки // по шагам
Определение модели контроллера
Оказалась по воле судьбы у меня одна флешка, которую Windows отказывалась форматировать - вылетала ошибка "Windows не удается завершить форматирование" . Флешка, по заверениям владельца, не падала, на нее не попадала вода, и вообще, с ней довольно бережно обращались...
Все что было ясно, осмотрев ее, это то, что она на 16 GB, и ее марка - SmartBuy. При подключении к ПК - загорался светодиод, флешка определялась и была видна в проводнике, но работала со сбоями.
SmartBuy 16 GB - "подопытная" не работающая флешка
Чтобы восстановить нормальную работу флешки , необходимо перепрошить микросхему контроллера. Делается это специальными утилитами, и для каждого типа контроллера - своя утилита! Если утилита будет выбрана неверно, то с высокой долей вероятности, вы испортите флешку на совсем... Скажу даже больше, у одного модельного ряда флешек - могут быть разные контроллеры!
У каждого устройства есть свои уникальные идентификационные номера - VID и PID , и флешка здесь не исключение. Чтобы выбрать правильно утилиту для перепрошивки - необходимо определить эти идентификационные номера (а по ним модель контроллера).
Один из самых простых способов узнать VID, PID, и модель контроллера флешки - это использовать специальные утилиты. Одна из лучших в своем роде - это .
Flash Drive Information Extractor
Небольшая бесплатная утилита, для получения максимум информации о флешке. Устанавливать ее не нужно!
Программа определит модель USB-флешки, модель и тип памяти (поддерживаются все современные флешки, по крайней мере, от нормальных производителей )...
Программа будет работать даже в тех случаях, когда не определяется файловая система флешки, когда завис компьютер при подключении носителя.
Получаемая информация:
- модель контроллера;
- возможные варианты установленных во флешке чипов памяти;
- тип установленной памяти;
- заявленный производителем максимальный потребляемый ток;
- версия USB;
- полный физический объем диска;
- объем диска, сообщаемый операционной системой;
- VID и PID;
- Query Vendor ID;
- Query Product ID;
- Query Product Revizion;
- Controller Revision;
- Flash ID (не для всех конфигураций);
- Chip F/W (для некоторых контроллеров) и др.
Важно! Программа работает только с USB-флешками. MP3-плееры, телефоны и прочие устройства - она не распознает. Желательно, перед запуском программы, оставить подключенной к USB-портам только одну единственную флешку, с которой вы хотите получить максимум информации.
Работа с Flash Drive Information Extractor
- Отключаем от Usb-портов все, что подключено (по крайней мере все накопители: плееры, внешние жесткие диски и т.д.).
- Вставляем ремонтируемую флешку в Usb-порт;
- Запускаем программу;
- Жмем кнопку "Получить информацию о флешке" ;
- Через некоторое время получаем максимум информации о накопителе (см. скриншот ниже).
- Если программа зависла - ничего не делайте и не закрывайте ее. Выньте флешку через пару минут из USB-порта, программа должна "отвиснуть", и вы увидите всю информацию, что она успела вытащить с флешки...
Теперь мы знаем информацию о флешке и можем приступить к поиску утилиты.
Информация о флешке:
- VID: 13FE; PID: 4200;
- Модель контроллера (Controller): Phison 2251-68 (вторая строка на скриншоте выше);
- SmartBuy 16 GB.
Дополнение
Определить достоверно модель контроллера можно, если разобрать флешку. Правда, не каждый корпус у флешки разборный, и не каждую потом соберешь обратно .
Обычно, чтобы вскрыть корпус флешки, нужен нож и отвертка. При вскрытии корпуса будьте аккуратны, чтобы не повредить внутренности флешки. Пример контроллера показан на скрине ниже.
Разобранная флешка. Модель контроллера: VLI VL751-Q8
Дополнение 2
Узнать VID и PID флешки можно с помощью диспетчера устройств (в этом случае - ничего и устанавливать не нужно). Правда в этом случае мы не узнаем модель контроллера, и есть некоторый риск, что по VID и PID не получится точно идентифицировать контроллер. И тем не менее, вдруг вышеприведенная утилита зависнет и не даст вообще никакой информации ...
Как найти утилиту для прошивки флешки
Важно! После прошивки флешки - вся информация на ней будет удалена!
1) Зная модель контроллера - можно просто воспользоваться поисковиками (Google, Яндекс например) и найти нужное.
Алгоритм работы такой:
- Заходим на сайт:
- Вводим свои VID и PID в строку поиска и ищем;
- В списке результатов, скорее всего, вы найдете десятки строк. Среди них нужно найти такую строку, у которой совпадет: модель контроллера, ваш производитель, VID и PID, размер флешки .
- Далее в последней колонке - вы и увидите рекомендуемую утилиту. Кстати, обратите внимание, версия утилиты так же имеет значение! Осталось скачать нужную утилиту и применить ее.
После того, как найдете и скачаете нужную утилиту, запускаете ее и форматируете носитель - в моем случае нужно было нажать всего лишь одну кнопку - Restore (восстановление) .
Formatter SiliconPower v3.13.0.0 // Format and Restore. Утилита конечного пользователя, предназначенная, как для низкоуровневого, так и высокоуровневого (FAT32) форматирования флэшек на контроллерах фирмы Phison линейки PS2251-XX.
Спустя пару минут моргания светодиода на флешке, она стала нормально работать, сообщения от Windows о невозможности форматирования - больше не появлялись. Итог: флешка была восстановлена (стала рабочей на 100%), и отдана владельцу .
На этом, собственно, всё. За дополнения по теме - буду признателен. Good Luck!
В случае если необходимо установить драйвер к USB накопителю или выполнить программный ремонт, вам не обойтись без получения двух идентификаторов устройства:
- VID – это Vendor Identifier (идентификатор производителя);
- PID – это Product Identifier (идентификатор продукта, то есть конкретной модели устройства).
В появившемся окне свойств, перейдите на вкладку «Сведения » и выберете из выпадающего списка строку «Код экземпляра устройства » в Windows XP или «ИД оборудования » в Windows Vista/7/8.
В поле «Значение », вам будет отображен VID и PID USB устройства, но важно учесть, что некоторые производители, экономя на регистрации собственных VID и PID, могут указать их произвольно!
Рассмотрим программное получение этих значений с использованием Windows Management Instrumentation (WMI ) и класса «Win32_USBHub ».
Если воспользоваться программой «WmiExplorer » и открыть класс «Win32_USBHub », то можно увидеть в столбце «PNPDeviceID » строку вида USB\VID_152D&PID_2509\00A123457D9C, которая имеет формат USB\VID_XXXX&PID_XXXX\Serial_number. Именно из этой строки мы и будем извлекать данные. Но данный класс возвращает список всех USB устройств подключенных к компьютеру, поэтому необходимо их отфильтровать.
- Получение VID usb накопителя;
- Получение PID usb накопителя;
- Получение серийного номера usb накопителя.
- ListBox – вывод информации по usb устройствам;
- Button – запуск процесса получения информации.
Сделайте двойной клик левой клавишей мыши по компоненту «button1 » и перейдите в автоматически созданный метод «button1_Click ». Добавьте в него, приведенный ниже листинг.
string PNPDeviceID = string.Empty; //Предварительно очищаем список listBox1.Items.Clear(); //Получение списка USB накопителей foreach (System.Management.ManagementObject drive in new System.Management.ManagementObjectSearcher("select * from Win32_USBHub where Caption="Запоминающее устройство для USB"").Get()) { PNPDeviceID = drive["PNPDeviceID"].ToString().Trim(); //Получение Ven устройства listBox1.Items.Add("VID= " + parseVidFromDeviceID(drive["PNPDeviceID"].ToString().Trim()).Trim()); //Получение Prod устройства listBox1.Items.Add("PID= " + parsePidFromDeviceID(drive["PNPDeviceID"].ToString().Trim()).Trim()); //Получение Серийного номера устройства string splitDeviceId = drive["PNPDeviceID"].ToString().Trim().Split("\\"); listBox1.Items.Add("Серийный номер= " + splitDeviceId.Trim()); //Разделение списка устройств пустой строкой listBox1.Items.Add(""); } Так же добавьте два метода расшифровки значений «PNPDeviceID».
private string parseVidFromDeviceID(string deviceId) { string splitDeviceId = deviceId.Split("\\"); string Prod; //Разбиваем строку на несколько частей. //Каждая часть отделяется по символу & string splitProd = splitDeviceId.Split("&"); Prod = splitProd.Replace("VID", ""); ; Prod = Prod.Replace("_", " "); return Prod; } private string parsePidFromDeviceID(string deviceId) { string splitDeviceId = deviceId.Split("\\"); string Prod; //Разбиваем строку на несколько частей. //Каждая часть отделяется по символу & string splitProd = splitDeviceId.Split("&"); Prod = splitProd.Replace("PID_", ""); ; Prod = Prod.Replace("_", " "); return Prod; } Запустите ваш проект, нажав на клавиатуре, клавишу «F5 ». Вставьте Usb накопитель и нажмите кнопку «Получить информацию ». Вы получите информацию о данном накопителе. Если устройств подключено несколько, то информация об устройствах будет разделена пустой строкой.
В своей статье « » я писал о том, как перепрошить контроллер флешки. В той статье (она была одной из первых в ) основной упор читателя был направлен именно на методику перепрошивки контроллера, но эиа тема еще не закрыта, и есть о чем написать.
В том статье я вскользь задел тему, как определить pid / vid контроллера, а теперь пришел черед рассмотреть этот вопрос более тщательно. И так, давайте начнем, а начнем, как и положено с теории.
Что такое PID и VID ? и с чем его «едят»
VID
— это международный идентификатор производителя устройства, а PID
— это уже идентификатор самого устройства. При помощи этих двух параметров можно выяснить предположительный тип контроллера, который установлен в Вашей флешке. По этим параметрам еще часто ищут, как установить драйвер на устройство, которое определяется как не известное.
Но не стоит забывать о том факторе, что знание PID \ VID флешки не на 100%, ведь международная регистрация VID и PID для флешек стоит денег и не все производители готовы их платить. Такая ситуация на практике может давать разные контроллеры при равных значения пид и вид.
Также не стоит забывать, что определение пид и вид не всегда может выдавать нам правильную информацию о компании производителю контроллера и его модели.
Как определить PID и VID флешки:
Существует несколько основных методов определения пид и вид usb устройства.
Способ №1: Определение pid и vid посредством ОС Windows:
Необходимо запустить управление компьютером, что можно сделать кликнув правой кнопкой мышки по значку «Компьютер» \ «Мой компьютер». На скриншоте можете увидеть как это сделать.
В «Управление компьютером» выберите «Диспетчер устройств»;
В открывшемся окне Свойства: «наше устройство» (см. скриншот) выберите закладку «Сведения» и тут Вы найдете необходимое значение параметров pid и vid.
Способ №2: Программы для определения pid и vid
Специально для тех, кто не хочет долго думать и мучатся в попытках определения нужных нам значений — есть утилиты для поиска пид и вид.
О программах для определения pid&vid я расскажу в отдельной
Если ваша USB флешка перестала определяться или не дает себя записать и отформатировать, ругаясь на защиту от записи, то для того, чтобы восстановить ее работоспособность вам необходимо узнать ее VID и PID . Эти два параметра определяют марку контроллера вашей флешки по которым можно подобрать через низкоуровневое форматирование.
CheckUDisk — лучшая программа, помогающая узнать vid pid флешки
Для быстрого и точного определения параметров VID и PID USB флешки скачиваем программу CheckUDisk_v5.4 по ссылке ниже. распаковываем ее и запускаем.
После запуска CheckUDisk_v5.4 вы увидите главное окно программы, в котором нужно поставить галочку внизу «All USB Device».
Главное окно программы CheckUDisk
Если флешка вставлена в USB разъем, то в списке «Conected UDISK Device» она должна отобразиться по своему названию — Kingston, Silicon Power, Qumo и так далее.
Определение vid pid флешки в программе CheckUDisk
Как только вы выделите одиночным кликом левой кнопкой мыши свою флешку в списке, то в нижнем окне «Selected Udisk device information» будут отображены ее параметры VID&PID.
Узнать VID и PID флешки бывает нужно по нескольким причинам. Например, если вы столкнулись с проблемой когда USB флешка перестала определяться или пишет что диск защищен от записи, то ее можно попробовать восстановить с помощью специальной утилиты, которая проводит низкоуровневое форматирование, но для этого нужно узнать VID и PID флешки, чтобы правильно подобрать утилиту. Еще к примеру, если у вас есть устройство, к которому вы не можете найти драйвер, но зная VID и PID вы сможете найти нужный драйвер. Достаточно ввести эти данные в поисковик.
В этой статье мы рассмотрим 2 способа, с помощью которых можно узнать ВИД и ПИД флешки, а именно:
- Через программу CheckUDisk
- Через диспетчер устройств
Программа для определения vid pid флешки
Для быстрого определения VID и PID флешки, потребуется программа CheckUDisk . Скачиваем ее по ссылке ниже, она бесплатная.
Программа находится в zip архиве, распаковываем ее и запускаем. После запуска программы, вы увидите главное окно программы CheckUDisk. Внизу окна нужно поставить галочку, напротив All USB Device.
Если флешка установлена, то в окне Connected UDisk device должна появится ваша флешка, которую можно найти по своему названию.
Для того чтобы узнать ВИД и ПИД флешки, нужно кликнуть по ней левой кнопкой мыши один раз и в поле «Selected Udisk device information», которое находится ниже появится информация.
Как видно на рисунке выше, мы выбрали флешку silicon-power . ниже видим ее параметры, VID 13 , PID 5200 .
Вот так просто можно узнать VID и PID usb флешки с помощью программы.
Узнаем VID и PID через диспетчер устройств
Если с помощью программы CheckUDisk вам не удалось узнать VID и PID, то это можно сделать через диспетчер устройств.
Для этого заходим в диспетчер устройств. Сделать это можно следующим образом
- Кликаем правой кнопкой мыши по иконке «Мой компьютер» на рабочем столе или в меню «Пуск»
- В появившемся контекстном меню нажимаем «Диспетчер устройств»
Появится окно, в котором отображены все устройства системы, которые разбиты на разделы. В нашем случае нас интересует VID и PID флешки, поэтому раскрываем вкладку под названием «Дисковые устройства», именно там будет отображена установленная флешка в компьютер.
Нажимаем правой кнопкой мыши по нужному устройству и в появившемся контекстном меню нажимаем «Свойства».
Нажимаем Свойства
Появится следующее окно, в котором нам нужно переключиться на вкладку «Сведения». В выпадающем списке выбираем «Родитель». И в поле ниже вы сможете увидеть VID и PID этого устройства.