Почему Windows не показывает опцию «извлечь» для некоторых USB-накопителей?

48

В Windows вы обычно можете «извлечь» USB-накопитель, прежде чем физически отключить его, чтобы избежать повреждения данных.

Однако для некоторых устройств Windows не предоставляет опцию «извлечь». Я видел это чаще всего на некоторых смартфонах.

Почему это?

Майкл
источник
5
Возможная копия Windows 10: нет опции извлечения внешнего
жесткого диска
3
Я не уверен, что это дубликат. Это более широкий вопрос, охватывающий множество устройств, которые могут быть подключены к компьютеру, а не только конкретный внешний жесткий диск.
bwDraco

Ответы:

69

Вероятно, потому что метод, который используется для передачи файлов на телефоны ( MTP, а не USB Mass Storage ), возлагает ответственность за целостность данных и файловой системы на устройство, принимающее данные, которое в случае с мобильными телефонами также считается интеллектуальным и самостоятельным. -сила или иметь резервную батарею.

Запоминающие устройства USB, как правило, представляют собой тупые карты памяти или жесткие диски, а устройства MTP, такие как телефоны, камеры и аналогичные устройства, обычно представляют собой достаточно интеллектуальные устройства, которые сами управляют их хранением. Таким образом, передача файлов может происходить в идеологии peer-to-peer, а не в smart-host-dumb-client. После того, как данные «отправлены» на телефон, это зависит от операционной системы телефона и методов файловой системы, чтобы обеспечить правильное хранение файла.

Если передача файла прервана и, таким образом, частично передана, телефон может решить, освободить ли выделенное место или показать, что было передано в каждом конкретном случае. Я подозреваю, что большинство прерванных передач просто отбросит неполные данные и освободит все выделенные блоки. Целостность файловой системы активно управляется телефоном.

Поскольку такая передача либо происходит, либо не происходит, и удаление программного обеспечения не является необходимым, единственная причина, по которой он выполняется, заключается в том, чтобы человек, использующий компьютер, мог получить ощущение теплого сияния "Я сделал". USB, безусловно, не нужен с аппаратной точки зрения и вполне доволен подключением устройств к сети.

Со страницы Википедии MTP:

Основная причина использования MTP, а не, например, класса запоминающих устройств USB (MSC), заключается в том, что последний работает на гранулярности блока запоминающих устройств (обычно на практике это блок FAT), а не на логический уровень файла. Другими словами, класс запоминающего устройства USB предназначен для предоставления хост-компьютеру недифференцированного доступа к массовому запоминающему устройству, например компактной флэш-памяти, а не к файловой системе, которая может безопасно использоваться совместно с целевым устройством.(за исключением определенных файлов, которые могут быть изменены / доступны для хоста). Таким образом, на практике, когда хост-компьютер USB смонтировал раздел MSC, он принимает на себя абсолютный контроль над хранилищем, которое затем не может быть безопасно изменено устройством без риска повреждения данных до тех пор, пока хост-компьютер не разорвет соединение. Кроме того, поскольку хост-компьютер имеет полный контроль над подключенным устройством хранения, существует риск того, что хост-компьютер может повредить файловую систему, переформатировать ее в файловую систему, не поддерживаемую устройством USB , или иным образом изменить ее таким образом. что устройство USB не может полностью понять это.

Мокубай
источник
3
У жестких дисков USB нет этой опции, и они являются запоминающими устройствами, а не MTP.
Йоханнес Вторник
16
@ Alex.S Я использовал несколько жестких дисков USB, и все они имели функцию извлечения. В тех случаях, когда это может не произойти, я ожидаю, что контроллер USB для накопителя рекламирует его как «фиксированный» диск, а не как съемный, и является либо намеренным, что его никогда не следует удалять во время работы ОС по какой-либо причине, или это была неправильная конфигурация со стороны производителя. На вопрос задавались телефоны, поэтому я ответил с этой точки зрения, так как это была ситуация, о которой я знал по определенной причине, то есть, что файлы не передаются одним и тем же способом.
Мокубай
2
Очень информативный ответ, спасибо за ваше время @Mokubai. Я в основном только видел эту проблему со смартфонами. Тем не менее, я однажды столкнулся с этой проблемой с флэш-накопителем USB.
Майкл
И это только вторичное преимущество MTP. Основным преимуществом является то, что файловая система может использоваться обоими устройствами одновременно. Более старые телефоны, которые поддерживали только протокол USB-накопителя, должны были размонтировать файловую систему, прежде чем к ней можно было получить доступ через USB.
Касперд
1
Чтобы добавить немного, некоторые проигрыватели MP4 и цифровые камеры используют MTP для подключения к ПК. Это не новый протокол, как некоторые могут подумать, поскольку он поставляется на устройствах Android и подобных устройствах.
Исмаэль Мигель
18

Резюме

В конечном счете, это вопрос того, использует ли устройство MSC или MTP / PTP. Как правило, выделенные устройства хранения, такие как флэш-диски и внешние жесткие диски, используют MSC, в то время как смартфоны и другие устройства, которым необходимо поддерживать доступ к данным при подключении к компьютеру или требовать контроля над передаваемыми данными, будут использовать MTP. Многие камеры используют PTP, подмножество MTP.

Если устройство использует MSC, вам необходимо извлечь его из компьютера, прежде чем вы сможете удалить его. Если он использует MTP или PTP, выброс не требуется.


Технические подробности

Класс Mass Storage Class (MSC) позволяет компьютеру обмениваться данными с диском почти так же, как с внутренним жестким диском или твердотельным накопителем, что делает его более быстрым, чем другие протоколы для передачи данных. Это то, что используют специальные устройства хранения, такие как USB-накопители и внешние жесткие диски. Тем не менее, это требует уровня блокадоступ к базовому носителю, а это означает эксклюзивный доступ к устройству. В результате MSC не подходит для интеллектуальных устройств, потому что они должны иметь возможность доступа к содержимому файловой системы, пока компьютер ее использует. Смартфон фактически должен был бы закрыть свою ОС, прежде чем он сможет предоставить доступ к компьютеру на уровне блоков - громоздкая процедура, которая помешает вам запускать приложения или иным образом использовать устройство, пока оно подключено. Компьютер несет ответственность за то, чтобы данные были полностью переданы, поэтому вам нужно сообщить компьютеру, что вы сделали, удалив его.

Протокол передачи мультимедиа (MTP) , который используется большинством интеллектуальных устройств, включает файловый уровеньдоступ, и устройство, а не хост-компьютер, отвечает за управление данными. Смартфоны используют MTP, потому что они должны иметь возможность доступа к данным, когда устройство подключено к компьютеру. MTP также позволяет устройству контролировать или ограничивать передачу данных; некоторые (в основном старые) цифровые мультимедийные / MP3-плееры используют MTP для обеспечения защиты от копирования (DRM) переданных файлов или для обеспечения совместимости передаваемых мультимедийных файлов с устройством. Поскольку MTP просто представляет иерархическую структуру файлов / папок, компьютеру не нужно беспокоиться о файловой системе или о том, как устройство хранит данные. В любом случае, с MTP нет необходимости в явной команде eject; как только устройство сообщит системе, что передача завершена (диалоговое окно выполнения закрыто), вы можете удалить устройство, не извлекая его явно.

MTP - это расширенный набор протокола передачи изображений (PTP) , который изначально был разработан для камер, обменивающихся данными с компьютерами. Многие камеры по-прежнему используют PTP, но некоторые поддерживают MSC, а некоторые позволяют выбирать между MSC и PTP. Кроме того, некоторые камеры поддерживают прямую печать через протокол, известный как PictBridge , для которого требуется PTP. Как и в случае с MTP, PTP не требует команды eject. Возможность использования камерой MSC, PTP или того и другого зависит от того, как камера обрабатывает свое хранилище при подключении к компьютеру.

Обратите внимание, что если вы извлечете карту памяти из камеры и вставите ее в слот для карт памяти SD или в другое устройство чтения мультимедиа на своем компьютере, это будет устройство MSC, и вам придется извлечь ее, когда вы закончите передачу изображений.

bwDraco
источник
7
И не позволяйте никому говорить вам, что это не имеет значения; Я несколько недель предупреждала свою бывшую, чтобы она перестала дергать USB-ключи. Все еще не прекращал делать это даже после потери двухдневной работы с таблицей в результате (также резервное копирование! Оу!)
Легкость Гонки с Моникой
1
@LightnessRacesinOrbit затем убедитесь, что для нее включено быстрое удаление - это замедлит работу накопителя, но сделает так, чтобы ей не пришлось извлекать флешку
Baldrickk
3
@Baldrickk О, она давно ушла ^ _ ^
Гонки
6

Дизайн также связан с тем, как устройства питаются.

Там, где оба устройства имеют собственный источник энергии, например компьютер и смартфон, имеется достаточно места для правильной обработки прерываний передачи или любого другого сбоя. Конструкция опирается на постоянно доступную мощность, и это стабильный фактор, который позволяет сделать другой фактор (коммуникационный) отказоустойчивым. Без этого, в исключительном случае, например, если аккумулятор внезапно извлекается из смартфона или ПК принудительно отключается, эти устройства и их системы на самом деле не более устойчивы к ошибкам, чем неработающие USB-накопители. ( chkdskкто-нибудь?) Эти отказоустойчивые устройства просто полагаются на достаточно времени, чтобы изящно решить ожидаемые проблемы.

Но устройства, работающие от их хоста, практически не имеют времени на любую реакцию на отключение от их питания. А размещение файловой системы в таком устройстве означает не только обслуживание пользовательских запросов, но также доступность для фоновых операций чтения и записи, выполняемых фоновыми процессами хоста, неизвестными пользователю. Пользователь никогда не знает, происходит ли общение в данный момент. Таким образом, должен быть предусмотрен явный способ сигнализации о намерении выключения (и это та команда Eject), при которой хост должен прекратить выполнение каких-либо операций. Внезапное отключение питания ожидается без риска. Таким образом, событие «Извлечение» - это простой способ начать надлежащее завершение, в то время как мы все еще можем рассчитывать на непрерывную работу. И вещество теперь ничем не отличается от приведенного выше случая: власть предоставленаво время всех необходимых действий. Когда закончите, хост посылает сигнал назад (потому что это пользователь, который физически контролирует прерывание питания), что теперь безопасно внезапно отключить питание устройства без риска.

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

miroxlav
источник