Theo thông số kỹ thuật 'Microsoft FAT32', các ổ đĩa FAT32 sẽ bị xóa cờ 'sạch' (ClnShutBit) khi được gắn và đặt khi ngắt kết nối / đẩy ra.
Thật vậy, đây là hành vi trên Linux & amp; Mac OS X - việc gắn / đọc thiết bị USB FAT32 đánh dấu nó là 'bẩn' và ngắt kết nối nó đánh dấu là 'sạch'. Nếu thiết bị được gỡ bỏ mà không ngắt kết nối / đẩy ra, cờ vẫn bị xóa (không sạch / bẩn).
Nếu ổ USB bị gắn cờ 'bẩn' được đưa vào Windows 10, nó sẽ bật lên một thông báo cho người dùng nói rằng "Có thể có vấn đề ..." và nhắc nhở về Quét & amp; Sửa chữa. Điều này đúng về mặt kỹ thuật - có thể có một vấn đề, nhưng cũng có thể không (ví dụ: nếu ghi vào ổ đĩa đã được xóa hoàn toàn trước khi xóa thủ công). Windows không dính vào 'thông số' - nó dường như đánh dấu các ổ USB sạch ngay cả khi được gắn để chúng không nhận được lời nhắc này nếu chúng được gỡ bỏ và chèn lại thủ công (có lẽ nó đánh dấu bẩn trước các thao tác ghi và Làm sạch sau khi hoàn thành? - Tôi không biết).
Làm cách nào tôi có thể buộc cờ này sạch trên Linux?
(xin vui lòng, không có câu trả lời về lý do tại sao không làm điều đó vv)
Các Wikipedia Thiết kế hệ thống tập tin FAT nói về các mục đặc biệt trong một FAT và có một tài liệu Microsoft nổi xung quanh các InterWeb có tên "Thông số kỹ thuật Microsoft" (Thông số FAT32 (Đóng góp SDA) .pdf) nói về ClnShutBitMask.
Tuy nhiên, tôi không rõ làm thế nào để tìm thấy nó. Nếu tôi gắn một ổ USB FAT32 (trên Linux) dưới dạng chỉ đọc, sao chép nội dung vào tệp bằng dd, sau đó gắn lại dưới dạng đọc và ghi lại, các byte giống nhau.
ví dụ. Báo cáo df ổ USB 8GB là trên / dev / sdd1
sudo mount -o remount,ro /media/user/USB/
sudo dd if=/dev/sdd of=/tmp/usbbytes-ro bs=1024 count=8388608
sudo mount -o remount,rw /media/user/USB/
sudo dd if=/dev/sdd of=/tmp/usbbytes-rw bs=1024 count=8388608
cmp -l /tmp/usbbytes-ro /tmp/usbbytes-rw
Báo cáo không có gì khác nhau. Tài chính
sudo file -s /dev/sdd
/dev/sdd: DOS/MBR boot sector; partition 1 : ID=0xc, active, start-CHS (0x0,32,33), end-CHS (0x3d3,48,29), startsector 2048, 15728640 sectors
sudo file -s /dev/sdd1
/dev/sdd1: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "SYSLINUX", sectors/cluster 8, Media descriptor 0xf8, sectors/track 62, heads 248, hidden sectors 2048, sectors 15728640 (volumes > 32 MB), FAT (32 bit), sectors/FAT 15336, reserved 0x1, serial number 0x98d03da8, label: "USB "
Có ý kiến gì không?
. ; sửa lỗi 'trên Windows)
Cảm ơn!