Как отключить эмуляцию sd карты
Сменный USB накопитель как жесткий диск в Windows
RMB бит и USB носители
ОС семейства Windows распознают USB флешки как съемные/извлекаемые (removable) устройства из-за наличия на каждом устройстве специального битового дескриптора RMB (removable media bit). Если при опросе подключенного устройства через функцию StorageDeviceProperty, система определяет, что RMB=1, она делает вывод, что подключенное устройство является сменным накопителем. Таким образом, чтобы с точки зрения системы преобразовать USB-флеку в жесткий диск, достаточно модифицировать этот дескриптор. Это можно сделать напрямую (что довольно рискованно из-за отличий в аппаратных реализациях конкретных устройств, да и не всегда возможно), либо косвенно, подменив ответ USB устройства с помощью специального драйвера, позволяющего отфильтровать информацию в ответе устройства.
Подключим в любой свободный порт компьютера USB флешку, затем откроем диспетчер управления дисков (diskmgmt.msc) и удостоверимся, что ее тип определяется в системе как Removable (Съемное устройство).
Также тип устройства можно посмотреть на вкладке Volumes в свойствах диска (как мы видим и тут Type: Removable).
Или с помощью команды diskpart:
В этой статье мы рассмотрим два способа смены RMB бита на USB флешке – с помощью использования фильтр-драйвера Hitachi (изменения вносятся только на уровне драйверв конкретного компьютера) и смена бита в прошивке контроллера с помощью утилиты BootIt от Lexar (более универсальный способ, но есть ряд ограничений и применим не ко всем моделям флешек и SD карт). Хотя оба этих способа довольно старые и изначально я тестировал их в Windows 7, они продолжают быть актуальными и одинаково хорошо работают и в современной Windows 10.
Утилита Lexar BootIt
Недавно мне на глаза попалась довольно интересная утилита – Lexar BootIt. Это бесплатная портабельная программа, которая может сменить RMB съемного накопителя, сделав съемное USB-устройство фиксированным (или наоборот). Несмотря на то, что утилита Lexar BootIt разработана для устройств Lexar (Micron, Crucial), она может работать и с флешками других производителей. Утилита BootIt поддерживает все версии Windows, начиная с Windows XP и заканчивая Windows 10.
Скачать BootIt можно на сайте Lexar (lexar_usb_tool) или с нашего сайта (BootIt_usb_rmb.zip).
Переподключите устройство и с помощью диспетчера устройств убедитесь, что его тип сменился с Removable на Basic.
В том случае, если утилита BootIt не помогла сменить RMB бит на съемном накопителе, попробуйте воспользоваться следующим способом, основанном на фильтр драйвере Hitachi Microdrive
Фильтр-драйвер для флешек Hitachi Microdrive
Архивы с драйвером Hitachi Microdrive:
Необходимо скачать версию драйвера для вашей системы в соответствии с ее разрядностью. Оба архива имеют одинаковую структуру и состоят из двух файлов:
Следующий этап – идентификация кода устройства нашей флешки. Для этого в свойствах диска на вкладке 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: создавать разделы, указывать активный раздел, создавать динамические диски, устанавливать ПО, которое не работает с флешек и т.д.
Как удалить драйвер Hitachi Microdrive
Чтобы удалить драйвер Hitachi Microdrive, откройте свойства диска и на вкладке драйвер нажмите кнопку Update Driver – система сама установит родной драйвер.
Нужно понимать, что это решение будет работать только на той системе, на которой установлен соответствующий драйвер.
Оптимизируем SD-карту
Ну что, дорогой читатель, тебя тоже задрали обещания высоких скоростей SD и microSD, однако на деле в твоем уютненьком Linux или Android или вообще на Windows всё, скажем так несколько медленнее, чем заявлено производителем.
Немного теории
Несмотря на то, что карта в системе видится, как “диск”, данные при записи на флеш пишутся немного по-другому.
Запись организована так называемыми erase-блоками или просто блоками. Блоки имеют определенный размер, в зависимости от размера твоих… флешек.
Для того, чтобы провести запись на диск, приходится стирать не определенный набор секторов, как на диске, а целый блок. Точнее, он не “стирается” физически, а лишь помечается стёртым.
Трансляция из “секторов и дорожек” выполняется “на лету” контроллером и операционной системой.
Рецепт нулевой-самый простой случай
Если не нужна какая-то специфическая файловая система на SD, постарайся НЕ форматировать её ни в кард-ридере, ни в устройстве. Просто купи, вставь и пользуйся. Кстати никто не запрещает даже обратиться с претензией к продавцу в случае проблем.
Рецепт первый-если ты всё-таки отформатировал карту
Такое, конечно, бывает. И часто. Скорее всего ты нажал кнопочку “очистить карту” или вообще отформатировал её в Windows штатными средствами.
Что произошло
Ты снёс вендоровский FAT (от производителя) и создал новый. Но он создался не совсем там, где был. Таким образом, “стройная система” была нарушена и теперь при записи фоточки любимого кота или себя любимого оно пишется не в один блок, а в два.
Как лечить
Достаточно пнуть кнопку “Option”.
И перевести из режима “OFF” в “ON”.
После этой процедуры ситуация должна улучшиться.
Рецепт второй-оптимизируем для Linux (простой путь)
Покемоны вроде Raspberry Pi, Orange Pi, и прочие дроиды в массе своей грузятся с microSD, поэтому эта тема весьма актуальна.
Внимание, некоторое операции разрушают данные на вашей SD карте, так что сделайте с неё образ на всякий случай или любой другой бэкап, который осилите
Перед этим нужно произвести некоторые замеры.
Я лично пользовался дешевой карточкой 10го класса от Silicon Power на 32ГБ. После оптимизации выросла скорость (не особо правда), НО резко уменьшилось latency при работе с кучей мелких файлов, что, в свою очередь помогло стабильности системы.
В замерах нам поможет утилита flashbench, известная ещё со времен утопического проекта OLPC.
align 8589934592 pre 1.59ms on 2.01ms post 1.63ms diff 399µs
align 4294967296 pre 1.58ms on 2.01ms post 1.63ms diff 408µs
align 2147483648 pre 1.59ms on 2.06ms post 1.69ms diff 426µs
align 1073741824 pre 1.64ms on 2.09ms post 1.67ms diff 435µs
align 536870912 pre 1.55ms on 1.97ms post 1.59ms diff 397µs
align 268435456 pre 1.58ms on 1.99ms post 1.6ms diff 396µs
align 134217728 pre 1.63ms on 2.04ms post 1.67ms diff 389µs
align 67108864 pre 1.54ms on 1.95ms post 1.58ms diff 387µs
align 33554432 pre 1.62ms on 2.06ms post 1.64ms diff 428µs
align 16777216 pre 1.72ms on 2.13ms post 1.7ms diff 420µs
align 8388608 pre 1.69ms on 2.11ms post 1.7ms diff 411µs
align 4194304 pre 1.68ms on 2.15ms post 1.76ms diff 432µs
align 2097152 pre 1.65ms on 2.02ms post 1.69ms diff 354µs
align 1048576 pre 1.67ms on 2.04ms post 1.69ms diff 355µs
align 524288 pre 1.72ms on 2.08ms post 1.72ms diff 361µs
align 262144 pre 1.64ms on 2.04ms post 1.68ms diff 378µs
align 131072 pre 1.59ms on 1.96ms post 1.61ms diff 367µs
align 65536 pre 1.6ms on 1.98ms post 1.62ms diff 365µs
align 32768 pre 1.61ms on 2.02ms post 1.64ms diff 397µs
align 16384 pre 1.61ms on 1.99ms post 1.68ms diff 347µs
align 8192 pre 1.69ms on 2.04ms post 1.71ms diff 335µs
align 4096 pre 1.62ms on 2ms post 1.63ms diff 371µs
align 2048 pre 1.65ms on 1.66ms post 1.65ms diff 7.25µs
Утилита пытается работать с блоками разного размера и замеряет скорость работы, точнее время.
В этом потоке сознания нас будут интересовать точки с максимальным “выбросом”. Городская легенда (а точнее Gentoo Wiki) гласит, что по ним можно определить такие параметры, как:
Судя по картине, получаем такое:
Allocation group = 1GB Erase block = 4M Multiplane = 32K Page = 4K
На ваших SD цифры могут различаться, но принцип ясен.
Расчет параметров для утилиты fdisk, чтобы партиция попала в нужное место:
`Диск /dev/sde: 31.1 Гб, 31104958464 байт
255 головок, 63 секторов/треков, 3781 цилиндров, всего 60751872 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x000cb560
Устр-во Загр Начало Конец Блоки Id Система
Команда (m для справки): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e расширенный
Select (default p): p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-60751871, по умолчанию 2048): 8192`
На самом деле, похоже, это ключевой момент для ускорения работы. Следующий рецепт конечно тоже добавляет “скорости”, но не так драматично.
В этом случае нам нужно создавать партицию на расстоянии кратном erase-block. Так, если у вас свободное место начинается с 66 мегабайта, то создавать нужно соответственно на 68ом.
Рецепт третий-оптимизируем для Linux (путь истинного красноглазика)
Чтож, формула проста (смотри результаты предыдущего рецепта):
filesystem block = page stride = multi-plane access / page stripe-width = erase block / page
В нашем случае команда:
По ощущениям предыдущий рецепт увеличивает скорость работы, а этот уменьшает тот самый latency.
Что ещё подправить в системе
Очевидно, оптимизацию swap, если он имеется в наличии.
echo 0 > /proc/sys/vm/swappiness
нужно прописать в rc.local ну или что там у вас. После этого свап будет “в работе”, только если исчерпается физический RAM.
Drive scheduler
Это механизм, который отвечает за алгоритм обращения к диску. По умолчанию он скорее всего стоит в режиме cfq, что соответствует обычному HDD. Для microSD или SSD рекомендуется сменить значение на noop или deadline. Я использую noop.
Посмотреть текущий scheduler:
В нашем случае нужно дать команду (и записать её в тот же rc.local)
Да, не забываем поменять значения в <> на реальные.
Какие ваши доказательства??
“Один большой файл”
sync; rm testing; sync; time ( dd if=/dev/zero of=testing bs=16k count=10000; sync)
“Много маленьких файлов”
Использование карты памяти /sdcard/ приложениями в Android
Друзья, поклонники зеленых роботов, разработчики приложений, просто пользователи:
как Вы используете карту памяти /sdcard/ в Вашем Android-девайсе?
Рассмотрим, для начала данный вопрос на примере большинства рядовых пользователей устройства под управлением ОС Андроид:
Как и многие, я устанавливаю приложения на карту памяти — для экономии места в самом телефоне, но сами приложения, их кеши и т.д. — все это сохраняется прямо в корень карты памяти, в итоге я получаю на карте полную «кашу»:
огромное количество папок и т.д. среди которых достаточно неудобно (как через ФМ так и при подключении к ПК) искать нужные мне файлы, папки и т.д. Понятно, что можно обойтись костылями и, например, добавить мои папки в «избранное» в том же ФМ и т.д., но вопрос в другом.
Почему изначально большинство приложений устанавливаются на карту памяти так:
или на худой конец — есть же скрытая системная
/sdcard/.android_secure
(понятно, что туда не всегда есть доступ и т.д., но все таки)
В итоге: что же получает юзер?
Среднестатистический юзер устанавливает достаточно много приложений и, зачастую, для экономии места, перемещает их на карту памяти. Все хорошо, но до того момента, когда нам вдруг понадобилось найти свой собственные документы на карте памяти, тут мы подключаем девайс с ПК в режиме карты памяти или же через ФМ самого смартфона заходим сюда: /sdcard/
И что же мы видим?
Да вот что:
habrastorage.org/storage1/e5deae9f/54a3c20b/8ba76329/55414a1a.jpg
Напрашивается, закономерный вопрос: почему так?
Насколько я понимаю, причины две:
1) это сама компания google, точнее ее политика в отношении это аспекта, то есть действия разработчиков программ никак тут не ограничены (тем же условием опубликования программы на market’e и т.д.)
2) разработчики программ, которые пишут софт, зачастую, создающий массу папок в корне /sdcard/
Ну и для любопытства ради воспользуемся любимым поиском:
habrahabr.ru/blogs/android_development/111868
Например тут указан некий Стандарт разработки приложений под Android
из которого четко следует:
Корневой каталог для всех файлов пользователя, кроме временных:
/sdcard/название проекта/, например /sdcard/TalentMania/
Каталог для музыки:
/sdcard/название проекта/sound/, например /sdcard/TalentMania/sound/
Каталог для MIDI:
/sdcard/название проекта/midi/, например /sdcard/TalentMania/midi/
Каталог для графики:
/sdcard/название проекта/img/, например /sdcard/TalentMania/img/
Подкаталоги для файлов различных активити:
/sdcard/название проекта/img/название активити/, например /sdcard/TalentMania/img/guitar/
И т.д.
Никаких претензий я разработчикам или вообще кому либо не предъявляю.
Просто хочу задать два вопроса:
1) Почему так? Почему все «сваливается» в корень карты памяти?
2) Одному мне это чертовски неудобно?
Спасибо за внимание!
PS: а пока юзеры выдают просто шедевральные методы облегчения использвания карты памяти:
открываешь карту памяти и создаешь
_Видео
_Документы
_Музыка
_Прочее
|-Карты
|-и т.д.
_Фото
как результат, то что мне нужно, хотя бы всегда сверху
как в телефоне
так и на ПК
Почему смартфон не видит карту памяти и что с этим делать
Содержание
Содержание
Смартфон перестал видеть привычную карту памяти или не хочет работать с новой? Выдает ошибки вроде «SD‑карта не работает», «SD‑карта не поддерживается»? Чаще всего проблема решается самостоятельно и быстро. Вот, что делать, если смартфон не видит карту памяти.
Неправильная установка
Если вы устанавливаете новую карту памяти, убедитесь, что она зашла в подпружиненный слот до конца. Должен раздаться легкий щелчок, и SD-карта должна быть полностью «утоплена» внутрь.
Если же лоток съемный, устанавливаем карту памяти согласно миниатюрной схеме, указанной на самом лотке. Промахнуться не получится — карта займет положение как на скриншоте ниже, по-другому она просто не встанет. После этого смартфон должен сразу же увидеть накопитель. Если этого не произошло, перезагрузите девайс.
Программный сбой
В очень редких случаях ПО смартфона может глючить и не видеть SD-карту при подключении, либо в процессе использования выдать ошибку, что карта отключена. Рецепт от этой болезни одинаковый: вытаскиваем накопитель, переподключаем его, перезагружаем гаджет.
Иногда помогает обновление прошивки устройства.
Зайдите в настройки смартфона в «Система». Выберите пункт «Беспроводное обновление». Обновите устройство до актуальной версии.
Не поддерживается файловая система
Если карта памяти раньше использовалась в связке с ПК или смартфоном с другой ОС, то девайс может не распознать накопитель. Чтобы избавиться от проблемы, отформатируйте SD-карту в нужный формат.
Помните: форматирование уничтожает с накопителя все данные, поэтому заблаговременно скопируйте их на ПК или в облако.
Если первый способ не сработал, отформатировать накопитель можно из меню Recovery. На разных моделях данный режим включается по-разному, но чаще всего нужно:
Если форматирование со смартфона по каким-то причинам невозможно, то «обнулите» карту памяти, используя компьютер. Для этого:
Также можно отформатировать накопитель сторонними программами, например, SD Card Formatter, которые как раз для этого и предназначены.
Отсутствие разрешений
В последних версиях ОС Android в целях безопасности многие приложения требуют предоставить им дополнительные права, в том числе, и на использование памяти устройства. Если права не предоставить, то, например, приложение «Камера» не будет видеть SD-карту, хотя, в целом, накопитель в настройках смартфона отображаться будет. Чтобы исправить проблему:
Карта несовместима со смартфоном
Большинство SD-карт совместимы с любыми устройствами, включая смартфоны, планшеты и т. д. Но в очень редких случаях можно столкнуться с несовместимостью карты памяти и конкретного мобильного устройства. Чаще всего это происходит с накопителями большой емкости, например, 256 ГБ.
Бюджетные смартфоны могут иметь ограничения на работу с такими объемными SD-картами. Чтобы исключить проблему, заранее изучите спецификации вашего смартфона и убедитесь, поддерживает ли он накопители такого объема.
Окислились контакты
Если накопитель хранился в условиях повышенной влажности, или ваш смартфоном попал под дождь, контакты карты памяти могли окислиться.
Чтобы справиться с проблемой, достаточно вынуть накопитель и потереть контакты (желтые полоски) обычным ластиком. Также можно протереть контакты ватной палочкой, смоченной в спирте.
Карта просто сломана
Никакая электроника не застрахована от поломок. Поэтому, если вы испробовали все предыдущие шаги и не добились успеха, возможно SD-карта просто неисправна. Для проверки установите ее в другой девайс (ПК/смартфон). Если результат будет тот же, возможно, накопитель «умер».
Восстанавливать его в специализированных сервисах экономически невыгодно, да и не всегда возможно. Проще приобрести новый, более надежный.
Неисправное гнездо установки карты памяти
Если смартфон технически поддерживает ваш накопитель, и он без проблем функционирует в других устройствах, то, возможно, есть проблемы в гнезде установки накопителя. Чтобы это проверить, вставьте в гаджет другой накопитель. Если девайс не увидит и его, то имеет смысл отнести телефон на диагностику в сервисный центр.

















