Dlaczego system Windows nie wyświetla opcji „wysuwania” w przypadku niektórych urządzeń pamięci USB?

48

W systemie Windows można zwykle „wysunąć” urządzenie pamięci USB przed fizycznym odłączeniem go, aby uniknąć uszkodzenia danych.

Jednak w przypadku niektórych urządzeń system Windows nie zapewnia opcji „wysuwania”. Widziałem to najczęściej z niektórymi smartfonami.

Dlaczego to?

Michael
źródło
5
Możliwy duplikat systemu Windows 10: Brak opcji wysuwania zewnętrznego dysku
twardego
3
Nie jestem pewien, czy to duplikat. Jest to szersze pytanie dotyczące różnych urządzeń, które można podłączyć do komputera, a nie tylko konkretnego zewnętrznego dysku twardego.
bwDraco,

Odpowiedzi:

69

Prawdopodobnie dlatego, że metoda używana do przesyłania plików do telefonu ( MTP zamiast pamięci masowej USB ) nakłada ciężar danych i integralność systemu plików na urządzenie odbierające dane, co w przypadku telefonów komórkowych również uważa się za inteligentne i samodzielne - zasilany lub mieć z powrotem baterię.

Urządzenia pamięci masowej USB to zwykle głupie karty pamięci lub dyski twarde, urządzenia MTP , takie jak telefony, aparaty fotograficzne i podobne są ogólnie rozsądnie inteligentnymi urządzeniami, które osobiście zajmują się ich przechowywaniem. W związku z tym transfer plików może odbywać się w ideologii peer-to-peer, a nie w trybie smart-host-głupi-klient. Gdy dane zostaną „przesłane” do telefonu, zależy to od systemu operacyjnego telefonu i metod systemu plików, aby zapewnić prawidłowe przechowywanie pliku.

Jeśli przesyłanie pliku zostanie przerwane, a tym samym częściowo przesłane, telefon może zdecydować, czy zwolnić przydzielone miejsce, czy pokazać, co zostało przeniesione w poszczególnych przypadkach. Podejrzewam, że większość przerwanych transferów po prostu usuwa niekompletne dane i uwalnia wszelkie przydzielone bloki. Integralność systemu plików jest aktywnie zarządzana przez telefon.

Ponieważ takie przeniesienie albo się zdarza, albo tak się nie dzieje, a wysuwanie oprogramowania jest niepotrzebne, jedynym powodem, aby to zrobić, jest to, aby osoba korzystająca z komputera mogła uzyskać ciepłe, lśniące uczucie „gotowe”. USB z pewnością nie potrzebuje go z perspektywy sprzętowej i jest całkiem zadowolony z urządzeń podłączanych podczas pracy.

Ze strony Wikipedii MTP:

Głównym powodem używania MTP zamiast, na przykład, klasy urządzenia pamięci masowej USB (MSC) jest to, że ta ostatnia działa na poziomie szczegółowości bloku urządzenia pamięci masowej (zwykle w praktyce bloku FAT), a nie na poziom pliku logicznego. Innymi słowy, klasa pamięci masowej USB została zaprojektowana w celu zapewnienia komputerowi hostowi niezróżnicowanego dostępu do pamięci masowej, takiej jak Compact Flash, a nie do systemu plików, który może być bezpiecznie współdzielony z urządzeniem docelowym(z wyjątkiem określonych plików, które host może modyfikować / uzyskiwać dostęp). W praktyce zatem, gdy komputer-host USB podłącza partycję MSC, przejmuje absolutną kontrolę nad pamięcią, która może nie zostać bezpiecznie zmodyfikowana przez urządzenie bez ryzyka uszkodzenia danych, dopóki komputer-host nie zerwie połączenia. Ponadto, ponieważ komputer hosta ma pełną kontrolę nad podłączonym urządzeniem pamięci masowej, istnieje ryzyko, że komputer hosta może uszkodzić system plików, sformatować go w systemie plików nieobsługiwanym przez urządzenie USB lub w inny sposób zmodyfikować w taki sposób że urządzenie USB nie może go całkowicie zrozumieć.

Mokubai
źródło
3
Dyski twarde USB nie mają tej opcji i stanowią pamięć masową, a nie MTP.
Johannes Wt
16
@ Alex.S Użyłem kilku dysków twardych USB i wszystkie miały funkcję wysuwania. W przypadkach, w których mogą nie być, spodziewam się, że kontroler USB dla napędu reklamuje go jako „stały” dysk, a nie jako dysk wymienny i jest albo celowy, że nigdy nie należy go usuwać, gdy system operacyjny działa z jakiegokolwiek powodu, lub była to błędna konfiguracja ze strony producenta. Pytanie dotyczyło telefonów, więc odpowiedziałem z tej perspektywy, ponieważ znałem sytuację z konkretnego powodu, tzn. Że pliki nie są przesyłane tą samą metodą.
Mokubai
2
Bardzo pouczająca odpowiedź, dziękuję za poświęcony czas @Mokubai. W większości widziałem ten problem tylko ze smartfonami. Jednak raz spotkałem ten problem z dyskiem USB.
Michael,
A to tylko druga zaleta MTP. Główną zaletą jest to, że system plików może być używany przez oba urządzenia jednocześnie. Starsze telefony obsługujące tylko protokół pamięci masowej USB musiały odmontować system plików, zanim będzie można uzyskać do niego dostęp przez USB.
kasperd
1
Aby dodać trochę, niektóre odtwarzacze MP4 i aparaty cyfrowe używają protokołu MTP do łączenia się z komputerem. To nie jest nowy protokół, jak niektórzy mogą sądzić, ponieważ pochodzi z urządzeń z Androidem i tym podobnych.
Ismael Miguel,
18

Podsumowanie

Jest to ostatecznie kwestia tego, czy urządzenie korzysta z MSC czy MTP / PTP. Z reguły dedykowane urządzenia pamięci masowej, takie jak dyski flash i zewnętrzne dyski twarde, używają MSC, natomiast smartfony i inne urządzenia, które muszą utrzymywać dostęp do danych po podłączeniu do komputera lub wymagają kontroli nad przesyłanymi danymi, będą korzystać z MTP. Wiele kamer korzysta z PTP, podzbioru MTP.

Jeśli urządzenie korzysta z MSC, musisz je wysunąć z komputera, zanim będziesz mógł je usunąć. Jeśli używa MTP lub PTP, wysuwanie nie jest wymagane.


Szczegóły techniczne

Mass Storage Class (MSC) umożliwia komputerowi komunikację z napędem w taki sam sposób byłoby w wewnętrzny dysk twardy lub SSD, co czyni go szybciej niż inne protokoły przesyłania danych. Tego właśnie używają dedykowane urządzenia pamięci masowej, takie jak dyski flash USB i zewnętrzne dyski twarde. Wymaga to jednak poziomu blokudostęp do podstawowych nośników pamięci, a to oznacza wyłączny dostęp do urządzenia. W rezultacie MSC nie jest odpowiedni dla urządzeń inteligentnych, ponieważ muszą mieć dostęp do zawartości systemu plików, gdy komputer go używa. Smartfon musiałby skutecznie zamknąć swój system operacyjny, zanim będzie mógł przyznać komputerowi dostęp na poziomie bloków - uciążliwa procedura i taka, która uniemożliwiłaby uruchamianie aplikacji lub korzystanie w inny sposób z urządzenia, gdy jest ono podłączone. Obowiązkiem komputera jest upewnienie się, że dane zostały całkowicie przesłane, więc musisz powiedzieć komputerowi, że wykonałeś to, wysuwając je.

Media Transfer Protocol (MTP) , który jest używany przez większość inteligentnych urządzeń, obejmuje poziom plikówdostęp, a urządzenie, a nie komputer hosta, jest odpowiedzialne za zarządzanie danymi. Smartfony używają MTP, ponieważ muszą mieć dostęp do danych, gdy urządzenie jest podłączone do komputera. MTP pozwala również urządzeniu kontrolować lub ograniczać ilość przesyłanych danych; niektóre (głównie starsze) odtwarzacze multimediów cyfrowych / MP3 używają protokołu MTP w celu wymuszenia ochrony przed kopiowaniem (DRM) w przesyłanych plikach lub w celu zapewnienia zgodności przesyłanych plików multimedialnych z urządzeniem. Ponieważ MTP po prostu przedstawia hierarchiczną strukturę plików / folderów, komputer nie musi się martwić o system plików lub sposób przechowywania danych przez urządzenie. W każdym razie w przypadku MTP nie jest konieczne jawne polecenie wysuwania; gdy urządzenie poinformuje system o zakończeniu przesyłania (okno dialogowe postępu zostało zamknięte), możesz je usunąć bez jawnego wysuwania.

MTP jest nadzbiorem protokołu Picture Transfer Protocol (PTP) , który został pierwotnie zaprojektowany dla kamer komunikujących się z komputerami. Wiele kamer nadal korzysta z PTP, ale niektóre obsługują MSC, a niektóre umożliwiają wybór między MSC i PTP. Ponadto niektóre aparaty obsługują bezpośrednie drukowanie za pośrednictwem protokołu znanego jako PictBridge , który wymaga PTP. Podobnie jak w przypadku MTP, PTP nie wymaga polecenia wysuwania. To, czy kamera może korzystać z MSC, PTP lub obu, zależy od tego, jak kamera obsługuje pamięć, gdy jest podłączona do komputera.

Pamiętaj, że jeśli wyjmiesz kartę pamięci z aparatu i włożysz ją do gniazda karty SD lub innego czytnika multimediów w komputerze, będzie to urządzenie MSC i będziesz musiał ją wysunąć po zakończeniu przesyłania zdjęć.

bwDraco
źródło
7
I nie pozwól nikomu powiedzieć, że to nie ma znaczenia; Ostrzegałem mojego byłego od tygodni, aby przestał szarpać za klucze USB. Nadal nie przestałem tego robić, nawet po tym, jak straciłem dwudniową pracę nad arkuszem kalkulacyjnym (także tworzenie kopii zapasowych! Gees!)
Lekkość ściga się z Monicą
1
@LightnessRacesinOrbit, a następnie upewnij się, że jest włączone szybkie usuwanie - spowolni dysk, ale sprawi, że nie będzie musiała wysuwać pamięci USB
Baldrickk
3
@Baldrickk Oh, ona już dawno minęła _ _ ^
Lekkość ściga się z Moniką
6

Projekt dotyczy również sposobu zasilania urządzeń.

Tam, gdzie oba urządzenia mają własne źródło energii, na przykład komputer i smartfon, jest wystarczająco dużo miejsca na wdrożenie odpowiedniej obsługi przerw w przesyłaniu lub innych awarii. Konstrukcja opiera się na stale dostępnej mocy i jest to stabilny współczynnik, który pozwala uczynić drugi czynnik (komunikacyjnym) odpornym na uszkodzenia. Bez niego w wyjątkowych przypadkach, na przykład, jeśli nagle bateria zostanie wyjęta ze smartfona lub komputer zostanie siłą wyłączony, te urządzenia i ich systemy nie są bardziej odporne na błędy niż głupie dyski USB. ( chkdskktoś?) Te odporne na uszkodzenia urządzenia polegają tylko na wystarczającej ilości czasu, aby z wdziękiem rozwiązać oczekiwane problemy.

Ale urządzenia zasilane z hosta mają mało czasu na reakcję na odłączenie od zasilania. A hostowanie systemu plików na takim urządzeniu oznacza nie tylko obsługę żądań użytkowników, ale także dostępność odczytów i zapisów w tle wykonywanych przez procesy w tle hosta nieznane użytkownikowi. Użytkownik nigdy nie wie, czy komunikacja odbywa się w danym momencie. Należy więc podać wyraźny sposób zasygnalizowania zamiaru wyłączenia (i jest to polecenie Eject), na którym host musi zaprzestać jakichkolwiek operacji. Nagłe odłączenie zasilania jest wtedy oczekiwane bez ryzyka. Zdarzenie „Wysuń” to prosty sposób na rozpoczęcie właściwej finalizacji, podczas gdy nadal możemy polegać na ciągłym działaniu. A substancja nie różni się teraz od powyższego przypadku: moc jest przyznawanapodczas wszystkich niezbędnych działań. Po zakończeniu host wysyła sygnał zwrotny (ponieważ to użytkownik fizycznie kontroluje przerwy w zasilaniu), że teraz można bezpiecznie przerwać zasilanie urządzenia bez ryzyka.

Widzimy więc, że jednym z najważniejszych czynników decydujących o projekcie jest to, czy urządzenie może działać autonomicznie, aby mieć czas na obsługę awarii, czy nie. Jeśli nie, należy zażądać wcześniejszej wyraźnej finalizacji - za pomocą polecenia Eject.

miroxlav
źródło