Tại sao Windows không hiển thị tùy chọn Eject của người dùng cho một số thiết bị lưu trữ USB?


48

Trong Windows, thông thường bạn có thể "nhả" thiết bị lưu trữ USB trước khi rút phích cắm vật lý để tránh hỏng dữ liệu.

Tuy nhiên, đối với một số thiết bị, Windows không cung cấp tùy chọn "đẩy". Tôi đã thấy điều này thường xuyên nhất với một số điện thoại thông minh.

Tại sao lại thế này?



3
Tôi không chắc đây là bản sao. Đây là một câu hỏi rộng hơn bao gồm nhiều loại thiết bị có thể được kết nối với máy tính, và không chỉ là một ổ cứng ngoài cụ thể.
bwDraco

Câu trả lời:


69

Có lẽ bởi vì phương thức được sử dụng để truyền tệp sang điện thoại ( MTP chứ không phải USB Mass Storage ) đặt trách nhiệm về tính toàn vẹn của dữ liệu và hệ thống tệp trên thiết bị nhận dữ liệu, trong trường hợp điện thoại di động cũng được cho là thông minh và tự năng lượng hoặc có pin dự phòng.

Các thiết bị lưu trữ dung lượng lớn USB thường là thẻ nhớ câm hoặc ổ cứng, các thiết bị MTP như điện thoại, máy ảnh và các thiết bị tương tự thường là những thiết bị thông minh hợp lý xử lý lưu trữ cá nhân. Như vậy, việc chuyển tập tin có thể xảy ra trong một hệ tư tưởng ngang hàng chứ không phải là một máy khách thông minh-máy chủ-câm. Sau khi dữ liệu được "gửi" đến điện thoại, tùy thuộc vào hệ điều hành và hệ thống tệp của điện thoại để đảm bảo lưu trữ đúng tệp.

Nếu quá trình truyền tệp bị gián đoạn và do đó được chuyển một phần thì điện thoại có thể quyết định có giải phóng bất kỳ dung lượng được phân bổ nào không hoặc hiển thị những gì đã được chuyển trên cơ sở từng trường hợp. Tôi nghi ngờ hầu hết các giao dịch bị gián đoạn sẽ chỉ đơn giản là bỏ dữ liệu không đầy đủ và giải phóng mọi khối được phân bổ. Toàn vẹn hệ thống tập tin được quản lý tích cực bởi điện thoại.

Do việc chuyển đổi như vậy xảy ra hoặc không xảy ra và thực hiện việc đẩy phần mềm là không cần thiết, lý do duy nhất để có nó là để người sử dụng máy tính có thể có được cảm giác ấm áp "Tôi đã hoàn thành". USB chắc chắn không cần nó từ góc độ phần cứng và khá hài lòng với các thiết bị cắm nóng.

Từ trang Wikipedia MTP:

Một lý do chính cho việc sử dụng MTP chứ không phải là, ví dụ, lớp thiết bị lưu trữ khối USB (MSC) là vì cái sau hoạt động ở mức độ chi tiết của khối thiết bị lưu trữ khối (thường là trong khối FAT), chứ không phải ở khối mức tập tin logic. Nói cách khác, lớp lưu trữ dung lượng lớn USB được thiết kế để cung cấp cho máy tính chủ quyền truy cập không phân biệt vào bộ lưu trữ khối lớn, chẳng hạn như flash nhỏ gọn, thay vì hệ thống tệp, có thể được chia sẻ an toàn với thiết bị đích(ngoại trừ các tệp cụ thể mà máy chủ có thể đang sửa đổi / truy cập). Do đó, trong thực tế, khi máy tính chủ USB đã gắn phân vùng MSC, nó sẽ kiểm soát tuyệt đối việc lưu trữ, sau đó thiết bị có thể không được sửa đổi một cách an toàn mà không có nguy cơ bị hỏng dữ liệu cho đến khi máy tính chủ bị ngắt kết nối. Hơn nữa, vì máy tính chủ có toàn quyền kiểm soát thiết bị lưu trữ được kết nối, có nguy cơ máy tính chủ có thể làm hỏng hệ thống tệp, định dạng lại thành hệ thống tệp không được thiết bị USB hỗ trợ hoặc sửa đổi theo cách khác thiết bị USB không thể hoàn toàn hiểu được nó.


3
Ổ cứng USB không có tùy chọn này và chúng là bộ lưu trữ lớn, không phải MTP.
Julian Tue

16
@ Alex.S Tôi đã sử dụng một số ổ cứng USB và tất cả chúng đều có chức năng đẩy. Trong trường hợp họ có thể không thì tôi hy vọng rằng bộ điều khiển USB cho ổ đĩa đang quảng cáo nó dưới dạng đĩa "cố định" thay vì có thể tháo rời và là cố ý, không bao giờ được gỡ bỏ trong khi HĐH đang chạy vì bất kỳ lý do gì, hoặc đó là một cấu hình sai về phía nhà sản xuất. Câu hỏi chỉ định điện thoại, vì vậy tôi đã trả lời từ quan điểm đó, vì đó là tình huống tôi biết về một lý do cụ thể, tức là các tệp không được chuyển theo cùng một phương thức.
Mokubai

2
Câu trả lời rất nhiều thông tin, cảm ơn bạn đã dành thời gian @Mokubai. Tôi hầu như chỉ thấy vấn đề này với điện thoại thông minh. Tuy nhiên, tôi đã gặp phải vấn đề này một lần với ổ USB.
Michael

Và đây chỉ là một lợi thế thứ cấp của MTP. Ưu điểm chính là hệ thống tập tin có thể được sử dụng đồng thời bởi cả hai thiết bị. Các điện thoại cũ chỉ hỗ trợ giao thức lưu trữ dung lượng lớn USB phải ngắt kết nối hệ thống tệp trước khi có thể truy cập qua USB.
kasperd

1
Để thêm một chút, một số máy nghe nhạc MP4 và máy ảnh kỹ thuật số sử dụng MTP để kết nối với PC. Đây không phải là một giao thức mới, vì một số người có thể nghĩ vì nó có trong các thiết bị Android và như vậy.
Ismael Miguel

18

Tóm lược

Đây cuối cùng là vấn đề liệu thiết bị sử dụng MSC hay MTP / PTP. Theo quy định, các thiết bị lưu trữ chuyên dụng như ổ đĩa flash và ổ cứng ngoài sử dụng MSC, trong khi điện thoại thông minh và các thiết bị khác cần duy trì quyền truy cập vào dữ liệu trong khi kết nối với máy tính hoặc yêu cầu kiểm soát dữ liệu được truyền sẽ sử dụng MTP. Nhiều máy ảnh sử dụng PTP, một tập hợp con của MTP.

Nếu thiết bị sử dụng MSC, bạn sẽ cần phải đẩy thiết bị ra khỏi máy tính trước khi bạn có thể gỡ bỏ thiết bị. Nếu nó sử dụng MTP hoặc PTP, thì không cần phải phóng.


Chi tiết kỹ thuật

Các Storage Class Thánh lễ (MSC) cho phép các máy tính để giao tiếp với ổ đĩa theo cách tương tự nó làm với một ổ đĩa cứng nội bộ hay SSD, làm cho nó nhanh hơn so với các giao thức khác để chuyển dữ liệu. Đây là những gì các thiết bị lưu trữ chuyên dụng như ổ flash USB và ổ cứng ngoài sử dụng. Tuy nhiên, nó yêu cầu cấp độ khốitruy cập vào phương tiện lưu trữ cơ bản và điều đó có nghĩa là quyền truy cập độc quyền vào thiết bị. Do đó, MSC không ổn đối với các thiết bị thông minh vì chúng cần có khả năng truy cập nội dung của hệ thống tệp trong khi máy tính đang sử dụng. Một điện thoại thông minh thực sự cần phải tắt hệ điều hành của nó trước khi nó có thể cấp quyền truy cập cấp độ khối cho máy tính. Một quy trình rườm rà và một quy trình sẽ ngăn bạn chạy các ứng dụng hoặc sử dụng thiết bị trong khi kết nối. Trách nhiệm của máy tính là đảm bảo rằng dữ liệu đã được truyền hoàn toàn, vì vậy bạn cần thông báo cho máy tính biết rằng bạn đã hoàn thành bằng cách đẩy nó ra.

Giao thức truyền phương tiện (MTP) , là thứ mà hầu hết các thiết bị thông minh sử dụng, liên quan đến cấp độ tệptruy cập và thiết bị, không phải máy tính chủ, chịu trách nhiệm quản lý dữ liệu. Điện thoại thông minh sử dụng MTP vì chúng cần có khả năng truy cập dữ liệu trong khi thiết bị được kết nối với máy tính. MTP cũng cho phép thiết bị kiểm soát hoặc giới hạn dữ liệu nào có thể được chuyển; một số phương tiện truyền thông kỹ thuật số / máy nghe nhạc MP3 (chủ yếu là cũ) sử dụng MTP để thực thi bảo vệ bản sao (DRM) trên các tệp được truyền hoặc để đảm bảo rằng các tệp phương tiện được truyền tương thích với thiết bị. Vì MTP chỉ đơn giản là trình bày cấu trúc tệp / thư mục phân cấp, máy tính không cần phải lo lắng về hệ thống tệp hoặc cách thiết bị lưu trữ dữ liệu. Trong mọi trường hợp, với MTP, không cần lệnh đẩy rõ ràng; một khi thiết bị báo cho hệ thống biết rằng quá trình chuyển hoàn tất (hộp thoại tiến trình đã đóng), bạn có thể xóa thiết bị mà không cần đẩy nó ra một cách rõ ràng.

MTP là một siêu giao thức của Giao thức truyền hình ảnh (PTP) , ban đầu được thiết kế cho các máy ảnh giao tiếp với máy tính. Nhiều máy ảnh vẫn sử dụng PTP, nhưng một số hỗ trợ MSC và một số cho phép lựa chọn giữa MSC và PTP. Hơn nữa, một số máy ảnh hỗ trợ in trực tiếp thông qua một giao thức được gọi là PictBridge , yêu cầu PTP. Cũng như MTP, PTP không yêu cầu lệnh đẩy. Việc một máy ảnh có thể sử dụng MSC, PTP hay cả hai tùy thuộc vào cách máy ảnh xử lý bộ lưu trữ của nó trong khi kết nối với máy tính.

Lưu ý rằng nếu bạn tháo thẻ nhớ ra khỏi máy ảnh và lắp thẻ vào khe cắm thẻ SD hoặc đầu đọc phương tiện khác trên máy tính của bạn, đó sẽ là thiết bị MSC và bạn sẽ cần phải đẩy nó ra khi bạn chuyển xong ảnh.


7
Và đừng để ai nói với bạn rằng điều đó không quan trọng; Tôi đã cảnh báo người yêu cũ của tôi trong nhiều tuần để ngừng lấy chìa khóa USB của cô ấy. Kết quả là vẫn không ngừng thực hiện ngay cả sau khi mất hai ngày làm việc trên bảng tính (kết quả là sao lưu! Gees!)
Cuộc đua Lightness với Monica

1
@LightnessRacesinOrbit sau đó đảm bảo rằng loại bỏ nhanh được bật cho cô ấy - nó sẽ làm chậm ổ đĩa nhưng làm cho nó không phải rút thanh usb
Baldrickk

3
@Baldrickk Oh cô ấy đã qua lâu rồi ^ _ ^
Cuộc đua nhẹ nhàng với Monica

6

Thiết kế cũng liên quan đến cách các thiết bị được cung cấp năng lượng.

Trường hợp cả hai thiết bị đều có nguồn năng lượng riêng, ví dụ máy tính và điện thoại thông minh, có đủ không gian để thực hiện xử lý thích hợp các gián đoạn chuyển hoặc bất kỳ lỗi nào khác. Thiết kế dựa vào nguồn điện liên tục có sẵn và đó là yếu tố ổn định cho phép làm cho các yếu tố khác (giao tiếp) có khả năng chịu lỗi. Nếu không có nó, trong trường hợp đặc biệt, ví dụ nếu pin bị ngắt đột ngột khỏi điện thoại thông minh hoặc PC bị tắt nguồn, các thiết bị này và hệ thống của chúng thực sự không có khả năng chống lỗi nhiều hơn ổ USB câm. ( chkdskbất cứ ai?) Những thiết bị chịu lỗi chỉ dựa vào đủ thời gian để giải quyết một cách duyên dáng các vấn đề dự kiến.

Nhưng các thiết bị được cung cấp từ máy chủ của chúng có thời gian nhỏ để không có bất kỳ phản ứng nào đối với việc ngắt kết nối khỏi nguồn điện của chúng. Và lưu trữ một hệ thống tệp trong một thiết bị như vậy có nghĩa là không chỉ phục vụ các yêu cầu của người dùng, mà còn có sẵn để đọc và ghi nền được thực hiện bởi các quá trình nền của máy chủ mà người dùng không biết. Người dùng không bao giờ biết nếu giao tiếp đang xảy ra tại thời điểm hiện tại. Vì vậy, phải được cung cấp một cách báo hiệu rõ ràng về ý định tắt nguồn (và đó là lệnh Eject) mà chủ nhà phải ngừng hoạt động. Việc ngắt điện đột ngột sau đó được chờ đợi mà không có rủi ro. Vì vậy, sự kiện "Eject" là một cách đơn giản để bắt đầu hoàn thiện hợp lý trong khi chúng ta vẫn có thể dựa vào hoạt động liên tục. Và chất bây giờ không khác với trường hợp trên: quyền lực được cấptrong tất cả các hành động cần thiết. Khi kết thúc, máy chủ báo hiệu trở lại (vì đó là người dùng điều khiển vật lý bị gián đoạn điện năng) mà giờ đây an toàn để đột ngột ngắt nguồn điện của thiết bị mà không gặp rủi ro.

Vì vậy, chúng tôi thấy rằng một trong những yếu tố thúc đẩy thiết kế quan trọng nhất là liệu thiết bị có khả năng chạy tự động để có thời gian xử lý các lỗi hay không. Nếu không, quyết định rõ ràng trước phải được yêu cầu - bằng lệnh Eject.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.