Gunakan ini sebagai gantinya:
sudo dd if=install57.fs of=/dev/sdc conv=fsync
Ini panggilan fsync()
setelah setiap write()
panggilan sistem. Ini memaksa dd
untuk tidak melakukan cache apa pun. Lihat bagian ini dari halaman manual 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)).
Ini adalah perilaku default kernel. Kernel Linux mengelola cache tulis dan baca seperti ini: Ketika write()
syscall dikeluarkan, data dengan cepat ditulis ke cache dan status selesai menulis dikirim ke proses. Ketika buffer diperlukan atau ketika ada waktu luang di bus, data ditulis dari cache ke hard disk.
/dev/sdc
perangkat yang sebenarnya di sistem Anda dan Anda tidak menulis ke file/dev/sdc
? Lakukanls --color /dev
-/dev/sdc
harus berwarna kuning jika itu perangkat.