Sử dụng cái này thay thế:
sudo dd if=install57.fs of=/dev/sdc conv=fsync
Điều này gọi fsync()
sau mỗi write()
cuộc gọi hệ thống. Điều này buộc dd
không lưu trữ bất cứ điều gì. Xem phần này của trang chủ của fsync ( man 2 fsync
):
fsync() transfers ("flushes") all modified in-core data of (i.e., modified buffer cache
pages for) the file referred to by the file descriptor fd to the disk device (or other
permanent storage device) where that file resides. The call blocks until the device reports
that the transfer has completed. It also flushes metadata information associated with the
file (see stat(2)).
Đây là hành vi mặc định của hạt nhân. Các hạt nhân Linux quản lý các bộ đệm ghi và đọc như thế này: Khi tòa nhà write()
được phát hành, dữ liệu sẽ nhanh chóng được ghi vào bộ đệm và trạng thái hoàn thành ghi được gửi đến quá trình. Khi bộ đệm là cần thiết hoặc khi có thời gian rảnh trên xe buýt, dữ liệu được ghi từ bộ đệm vào đĩa cứng.
/dev/sdc
là một thiết bị thực tế trên hệ thống của bạn và bạn không ghi vào tệp/dev/sdc
? Làm mộtls --color /dev
-/dev/sdc
nên có màu vàng nếu đó là một thiết bị.