Что делать, если флешка пишет «Вставьте диск в устройство»

19.11.2020 0

Одна из распространенных проблем с USB накопителями (также может произойти и с картой памяти) — вы подключаете флешку к компьютеру или ноутбуку, а Windows пишет «Вставьте диск в устройство» или «Вставьте диск в устройство съемный диск». Происходит это непосредственно при подключении флешки или попытке открыть её в проводнике, если она уже подключена.

В этой инструкции — подробно о возможных причинах того, что флешка ведет себя таким образом, а сообщение Windows просит вставить диск, хотя съемный накопитель уже подключен и о способах исправить ситуацию, которые должны подойти для Windows 10, 8 и Windows 7.

О причинах

Всякий раз люди спрашивают о причинах. Объясняя тем, что “ничего не кидали, не били, оно само”. Я же обычно говорю, что её время пришло. Ну в самом деле, тут конкретно сказать невозможно. Проблема явно не в файловой системе от того, что флешку “внезапно выдернули”, проблема где-то глубже. На уровне контроллера.

И вот ко мне обратились с именно такой неисправностью и просьбой восстановить именно данные. Судьба самого флеш-накопителя уже не интересовала, важны были несколько файлов с неё.



Программный сбой в работе флешки

Когда описанный выше вариант не помогает решить проблему с ошибкой «Вставьте диск в устройство», можно прибегнуть к специализированным программам, направленным на восстановление внешних накопителей. Подобных приложений огромное множество, и их принцип действия примерно одинаковый. Приложения позволяют отформатировать накопитель на низком уровне, что эффективнее, нежели обычное форматирование штатными средствами Windows. Для этого подойдут такие программы как: USB Disk Storage Format Tool, HDD Low Level Format Tool и ряд других.

Стоит отметить, что некоторые производители флешек, например компания Transcend выпускают свои собственные утилиты для форматирования накопителя на низком уровне. Первым делом, перед тем как качать стороннее приложение, зайдите на сайт производителя флешки и поищите на нем официальную программу для форматирования на низком уровне.

(418 голос., средний: 4,56 из 5)

    Похожие записи

  • Ошибка «Вне диапазона» при запуске игры
  • Ошибка 1608: Не удается запустить дочернюю службу

Решение

Сразу говорю, решение подойдёт не каждому ввиду особых условий. Но если у вас, как и у меня, есть знакомые с нужным арсеналом, можно попробовать. Об арсенале я писал в одной из предыдущих статей.

Как восстановить данные с флешки если неисправен контроллер

Сегодня будет практика. Да, этот инструмент PC3000 Flash. Откройте ссылку выше в новом окне, посмотрите на эту аппаратуру, она заслуживает внимания.

Диагностика проблемы

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

Для того, чтобы открыть Управление дисками в Windows 8/10, кликните правой кнопкой мыши на меню Пуск и выберите «Управление дисками». В Windows 7, нажмите комбинацию клавиш Windows + R чтобы открыть диалоговое окно «Выполнить» и введите в нём команду diskmgmt.msc.

Проверьте список дисков в окне Управление дисками и найдите USB диск, который не определяется. Он должен отображаться здесь, даже в случае его отсутствия в папке «Этот компьютер», и совпадать по размеру. Иногда он определяется как «Съёмное устройство», но не всегда.

Если вы не видите ваш диск или флешку даже в Управлении дисками, то попробуйте сделать следующее:

  • Включите диск, если есть такая функция. Некоторые внешние жесткие диски имеют отдельный кабель питания или включаются с помощью отдельной, предназначенной для этого клавиши.
  • Подключите устройство к другому USB порту. Отключите флешку от данного USB порта и подключите к другому. Возможно один из USB портов вашего компьютера вышел из строя.
  • Подключите устройство к компьютеру без USB-хаба. Если флешка подключена к компьютеру через удлинитель или USB-хаб, попробуйте отключить её от него и подключить к компьютеру напрямую. Возможно причина именно в хабе.
  • Попробуйте другой компьютер. Подключите флешку к USB порту другого компьютера, и посмотрите определяется ли она им. Если устройство также не определяется другим компьютером, то скорее всего проблема именно в нём.

Этапы восстановления информации

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

Разбираем флешку

Мне было проще – владелец флешки был не против ухудшения внешнего вида, поэтому я просто сломал корпус гвоздодёром. Чаще всего приходится аккуратно разделять половинки корпуса и отжимать защёлки. Должно получиться что-то вроде этого:

Хотя попадались затянутые в термоусадку, а могут быть и вовсе залитые компаундом. Тут как повезёт. Чаще всего они голые. Да и количество микросхем памяти может быть больше, чем 1. С двух сторон. Здесь лучше ярким фломастером подписать на поверхности чипа порядок. Первый – с той же стороны, что и контроллер, второй – с обратной.

Контроллер – это такой маленькая квадратная микросхема, со всех сторон окруженная ножками. Будет на других фото.

Выпаиваем микросхему памяти

Как делаю я – зажимаю флешку в “третью руку” – специальный зажим. Слегка подогреваю феном микросхему памяти до состояния “очень-преочень тёплая”, затем капаю флюсом под один ряд контактов, например ближайший ко мне. И начинаю феном фокусировать горячий воздух на этом ряду.

Когда флюс начинает закипать и парить, поддеваю лезвием целую сторону и начинаю расклинивать. Как правило, вся сторона выводов тут же отлипает. Здесь важно продолжать прогревать, чтобы не оторвать какой-нибудь контакт вместе с дорожкой. Аналогично повторяю с другой стороной.

Флюс здесь совершенно необходим – тепло равномернее распределяется, контакты получаются чистые и неслипшиеся. И вот, чип у нас. Остужаем и протираем от остатков флюса. Если планируете устанавливать чип обратно, можно подготовить конактные площадки на флешке – убрать лишний припой, пока горячая.

На всякий случай перепишем наименование контроллера – мне повезло, попался Alcor AU6990, это довольно распространённый чип с несложным (как правило) транслятором.

А это я тренировался. Все флешки успешно считаны

Считываем дамп памяти с чипа

Устанавливаем чип памяти в PC3000 Flash считыватель.

Дальше работает в специальной утилите. Надо сказать, что чип устанавливается с некоторым люфтом. И пока он наконец нормально сможет читаться, приходится его вытаскивать, подчищать, смещать, зажимать заново и т.д., может уйти некоторое количество времени. Для установки чипа есть специальная метка, по направлению которой нужно ориентировать ключ на чипе. В случае, если перепутаете – утилита определяет и ругается, так что спалить чип вряд-ли получится.

Итак, запускаем утилиту, устанавливаем количество микросхем памяти (в нашем случае 1) и видим следующее:

Микросхема неизвестная. Читаем идентификатор микросхемы. Как я уже писал, это может получиться не с первого раза. Но когда наконец получится (я в вас верю!), то получим примерно следующее:

Теперь осталось считать дамп памяти с этой микросхемы и дальше работать уже с ним, сам чип можно будет устанавливать обратно (на самом деле я бы пока не спешил, если данные считаются не очень хорошо – возможно придётся перечитывать ещё раз на пониженной скорости, но у меня такого ещё не было).

Скорость чтения не ахти какая… Но бывает и меньше.

Итак, дамп памяти считан. Проблема в том, что структура памяти в микросхемах NAND принципиально отличается от структуры хранения данных на жёстком диске. Если образ диска можно просто подмонтировать к системе и работать с ним, как с виртуальным диском, то тут так не получится.

Как примонтировать образы, снятые dd в Windows

Производим корркетировку ECC

ECC – Error Correction Code – в общих чертах это специальные коды для устранения небольших ошибок кодирования информации, типа контрольные суммы или информация для восстановления. Чипы памяти весьма ненадёжная структура и то и дело биты начинают врать. Благодаря этим (ECC) кодам мы даже не замечаем сбоев.

После считывания дампа мы можем создать специальную структуру под названием “Граф преобразований”, где в виде конструктора можем проводить различные операции со считанными данными, комбинируя функции различным образом друг с другом. И на любом этапе можем посмотреть, как выглядят наши данные, пока не получим приемлемый результат.

Дело в том, что для уменьшения неравномерности износа ячеек памяти, запись в них ведётся по особым алгоритмам, поэтому “распутывать” этот клубок без контроллера (который знает этот алгоритм) нам придётся самим.

Выбираем опцию “Автоопределение типа ECC”.

Если нам повезло, то увидим нечто такое:

И после утвердительного ответа:

И длинный прогресс-бар внизу… Можно отправиться попить чай, поскольку процесс весьма продолжителен. Но приятно, когда большинство строк зелёные (много и красных бывает). На данном этапе корректируются страницы памяти с учётом ECC.

Определение алгоритма кодирования

Здесь возможны несколько путей решения.

  • У нас есть модель контроллера (AU6990), можем сразу выбрать его в качестве транслятора, останется только экспериментально подбирать преобразования;
  • У нас есть модель контроллера и чипа памяти, может пойти в “систему решений” от разработчиков PC3000Flash и получить готовые алгоритмы преобразований, если кто-то уже вычислял для этой связки чипа и контроллера, самый лёгкий вариант. В системе тысячи решений, насколько я успел заметить;
  • Автоматическое определение алгоритма. Как повезёт.
  • Автоматика выглядит вот так:

    Затем программа автоматически тестирует различные варианты преобразований и ищет характерные структуры (подозреваю, что корректный MBR), если информация корректна, то принимаются подобранные алгоритмы для всех остальных страниц памяти (но не всегда это работает корректно). Например, вот после ряда преобразований удалось нормально прочитать начало тома:

    Вот тут я писал про структуру файловой системы FAT, здорово помогает разобраться.

    Исследование файловых систем. FAT. Глава 1.

    Итак, продолжим автоматический подбор транслятора. Вот на скрине ниже видно. В голубом столбце у нас – вероятности (в %) применения того или иного транслятора, а внизу – лог.

    По логу видно, что обнаружены признаки использования транслятора AU6980 (тепло, но мимо), но информация не подтвердилась. А вот дальше – всё получилось! Транслятор AU6990 определён успешно и информация подтверждена. Вероятность 100%.

    Но это ещё не всё. Теперь нужно добавить в граф некоторые преобразования. Сейчас я покажу, какие предварительные преобразования здесь вообще есть – их множество:

    Как видите – огромное количество. У большинства из них есть ещё дополнительные параметры, в частности размеры страниц, количество блоков, смещения и т.д. Не запутаться в них – уже подвиг.

    А вот так выглядит система поиска готовых решений:

    В правой части окна – форма поиска. Затем будут выданы различные варианты, предложенные пользователями (вероятно, у них получилось по данным преобразованиям выполнить задачу и они их загрузили в общий банк). Вот я рамкой и стрелкой выделил решение для конкретно моего чипа.

    Для предварительной подготовки нужно изменить формат страницы. В граф преобразований добавим соответствующую функцию и зададим рекомендуемые параметры. А параметры можно открыть нажав на красный листочек. Увидим это:

    Данные можно скопировать.

    В графе преобразований укажем изменение формата страницы:

    Готово. Теперь применим алгоритм транслятора со следующими параметрами (отличается от дефолтных):

    Поиск файловой системы

    После формирования транслятора (предположим, что мы с первого раза подобрали все верные параметры, что случается не так часто), нам нужно просканировать полученный том на предмет наличия файловых систем:

    Флешка малого объёма 99% была отформатирована в FAT16/FAT32, поэтому ограничимся следующим фильтром.

    Произведём анализ данных раздела. Обнаружены следы присутствия двух файловых систем, со смещения 8192 и 12 496.

    Одна из них оказалась искомой – файлы пошли на ура:

    Бывают ситуации, когда напротив файлов красные индикаторы, это означает чаще всего, что неправильно выполнены преобразования или задача недовыполнена. Для мелких файлов проблем обычно нет, они целиком вмещаются в страницу. Крупные же файлы “рвутся” на части, и части эти стыкуются неправильно. Поэтому приходится работать дальше.

    Ну чтож, моя задача на этом выполнена, я скопировал все файлы на оптический диск, чип памяти припаял обратно (весьма грубо, флешку в утиль), ну и для надёжности отпаял питающий контакт от разъема, чтобы не воткнули случайно в порт и не попалили что-нибудь, т.к. несколько дорожек у меня слиплось в момент пайки, а разделять было лень. Будут разбирать если – увидят.

    Если понравилось – Ставьте лайк! Присылайте флешки, рассмотрим подробно! Есть задумка смонтировать видео, пишите, если интересно!

    Фильтр-драйвер для флешек 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) код экземпляра устройства.

    В нашем примере это будет:

    Предположим, мы планируем установить драйвер на 64 битной системе. С помощью любого тестового редактора открываем на редактирование файл cfadisk.inf. Нас интересуют разделы cfadisk_device и cfadisk_device.NTamd64.

    Меняем значение DiskTS64GCF400______________________________20101008 на код нашего устройства.

    Если драйвер устанавливается на 32 битной системе, нужно скачать советующий архив, распаковать его и открыть на редактирование файл cfadisk.inf. Найдем раздел [cfadisk_device]:

    Затем изменим данные в последней строке, указав код экземпляра нашей флешки, т.е. в нашем примере получим:

    Установка драйвера Hitachi Microdrive вместо родного драйвера USB накопителя

    Осталось заменить драйвер, используемый USB флеш накопителем.

    Откроем вкладку Drivers и нажмем кнопку Update Drivers.

    Укажем папку к каталогу, в который распакован скачанный архив с драйвером Hitachi:

    Выберем новый драйвер.

    Игнорируем предупреждение об отсутствующей цифровой подписи драйвера.

    Для отключения проверки цифровой подписи драйвера, выполните команды:

    bcdedit.exe /set nointegritychecks ON bcdedit.exe /set TESTSIGNING ON

    Перезагрузите компьютер и попытайтесь опять установить драйвер.

    Осталось перезагрузить компьютер и, открыв диспетчер дисков, удостоверится, что ваша флешка стала определяться как обычный жесткий диск (Type: Basic), а в качестве драйвера используется драйвер Hitachi.

    Открыв проводник, можно также убедиться, что иконка флешки поменялась она стала отображаться как жесткий диск обычный диск.

    Теперь с этой флешкой можно работать как с обычным HDD: создавать разделы, указывать активный раздел, создавать динамические диски, устанавливать ПО, которое не работает с флешек и т.д.