Câu hỏi Thẻ nhớ USB bị “hỏng” sau khi sao chép các tập tin


Tôi đã cài đặt trên cả hai máy tính của mình Ubuntu 13.10 và Windows 8 và gần đây nhận thấy rằng trong khi một tệp lớn được sao chép với 5-6 MB mỗi giây trên Windows 8 được chuyển với tối đa 80 MB mỗi giây trên Ubuntu 13.10.

Những gì tôi đang làm là tải xuống phim, thu thập chúng trên USB dính và xem chúng trên TV của tôi. Vì vậy, vì tốc độ trên Ubuntu là tốt hơn, thích làm phần tải xuống và sao chép bằng cách sử dụng nó.

Vấn đề là cho đến nay, tôi đã không sao chép thành công bất cứ điều gì. Tôi đang sử dụng ba USB gậy được định dạng là NTFS và tất cả các hoạt động sao chép đều giảm.

Thứ nhất, các tập tin được chuyển nhưng khi tôi đẩy / tiêm USB một lần nữa, tôi nhận được lỗi sau:

Lỗi gắn / dev / sdb1 tại / media / gotqn / Joro: Dòng lệnh `mount -t   "ntfs" -o   "uhelper = udisks2, nodev, nosuid, uid = 1000, gid = 1000, dmask = 0077, fmask = 0177"   "/ dev / sdb1" "/ media / gotqn / Joro" 'đã thoát với trạng thái thoát khác 0:   $ MFTMirr không khớp với $ MFT (bản ghi 0). Không thể kết nối '/ dev / sdb1':   Lỗi đầu vào / đầu ra NTFS không phù hợp hoặc có phần cứng   lỗi, hoặc là phần cứng SoftRAID / FakeRAID. Trong trường hợp đầu tiên chạy   chkdsk / f trên Windows sau đó khởi động lại vào Windows hai lần. Việc sử dụng   / f tham số là rất quan trọng! Nếu thiết bị là SoftRAID / FakeRAID   sau đó kích hoạt nó lần đầu tiên và gắn một thiết bị khác theo   / dev / mapper / directory, (ví dụ: / dev / mapper / nvidia_eahaabcc1). Xin vui lòng   xem tài liệu 'dmraid' để biết thêm chi tiết.

Trước tiên tôi đã nghĩ rằng có thể có điều gì đó với USB tự dán, vì vậy tôi đã định dạng chúng bằng gparted đến NTFS một lần nữa nhưng không có gì thay đổi.

Khi tôi định dạng các que trên Windows 8 và sao chép các tập tin, mọi thứ đều ổn.

Làm thế nào để sửa lỗi này?


1
2018-01-19 15:04


gốc


@arhimed Tôi nghĩ rằng bạn có thể viết đó như một câu trả lời. 80Mb / giây là không thể trên USB2.0 và cũng rất không chắc chắn trên USB3 cho một pendrive. Câu hỏi duy nhất là nếu gotqn đang đẩy ổ đĩa của bạn một cách chính xác (thì đây là một lỗi) hoặc anh ta chỉ kéo nó ra (sau đó đây là lỗi người dùng). - falconer
@falconer điều này có vẻ là một lỗi người dùng, bởi vì tôi đã đẩy ra USB kể từ khi hệ thống cho tôi biết các tập tin được sao chép (nhưng chúng không được). - gotqn
Tôi nghĩ rằng vấn đề này có liên quan đến hệ thống tập tin NTFS. Bởi vì đối với tôi ổ đĩa được định dạng chất béo của tôi được tự động hóa với flush tùy chọn, nhưng NTFS của bạn thì không. Chỉ cần thử một HDD bên ngoài NTFS và nó thực sự không tự động với flush. Vì vậy, tôi nghĩ rằng bạn chỉ cần định dạng ổ đĩa của bạn để FAT32. Dù sao FAT32 là tùy chọn bình thường cho pendrives, thậm chí không Microsoft khuyến cáo NTFS cho pendrives / thẻ nhớ. (Có thể bạn bị giới hạn bởi khả năng hệ thống tệp FAT32 (ví dụ: kích thước tệp tối đa) và đó là lý do tại sao bạn cần NTFS?) Hoặc có thể bạn có thể tinh chỉnh udisks để tự động hóa các ổ đĩa của bạn flush. - falconer


Các câu trả lời:


Như @falconer đã chỉ ra, 80MB / giây là không thể trên USB2.0 và cũng rất không chắc chắn trên USB3 cho một pendrive.

Lý do tốc độ nhanh như vậy có lẽ là viết cache. Trong khi hộp thoại Copy cho bạn thấy 80MB / s, tốc độ ghi thực sự là 5-6MB / s và hệ điều hành lưu vào bộ nhớ đệm mọi thứ và ghi lại sau. Vì vậy, ngay cả bản sao báo cáo Dialog về các tập tin được sao chép, chúng thực sự không.

Hệ điều hành vẫn viết trên đĩa và nếu bạn nhấn Unmount tùy chọn trên ổ đĩa nó sẽ cho bạn biết rằng có các hoạt động với ổ đĩa và bạn cần phải chờ đợi. Sau một vài phút (hoặc nhiều hơn nếu tập tin là những người lớn) nó thực sự kết thúc ghi dữ liệu trên ổ đĩa và làm cho pendrive không hoạt động. Hơn bạn có thể đẩy ổ đĩa và mở các tập tin trên PC hoặc TV khác.

Có hai câu hỏi về bài đăng có thể giúp bạn tắt tính năng ghi bộ nhớ cache: Làm thế nào để tắt bộ nhớ đệm cho thiết bị USB khi ghi vào nó?https://superuser.com/questions/526248/turn-off-write-cache-on-all-usb-external-drives-debian-ubuntu-linux

Tôi đã sử dụng thứ hai cho vấn đề của mình và nó đã giúp tôi. Tôi chỉ có một ổ đĩa cứng trong máy tính xách tay của tôi (/ dev / sda), vì vậy bất kỳ ổ đĩa khác có thể tháo rời. Ngoài ra tôi có 2 cổng USB để tôi có thể kết nối 2 ổ đĩa ngoài tối đa (/ dev / sdb và / dev / sdc) vì vậy tôi đã thêm vào /etc/hdparm.conf

/dev/sdb {
        write_cache = off
}
/dev/sdc {
        write_cache = off
}

2
2018-01-19 16:43



Tôi cố gắng vô hiệu hóa nó, nhưng tốc độ vẫn như cũ. Khi tôi đưa vào USB các gparted hiển thị nó dưới dạng /dev/sdb, nhưng khi tôi chạy sudo fdisk -l nó được hiển thị như /dev/sdb1. Tôi đã nhập cả hai trường hợp vào /etc/hdparam.conf nhưng không có gì thay đổi. Tôi có nên khởi động lại Ubuntu hoặc làm gì khác? - gotqn