Використовуйте це замість:
sudo dd if=install57.fs of=/dev/sdc conv=fsync
Це викликає fsync()
після кожного write()
системного дзвінка. Це змушує dd
нічого не кешувати. Перегляньте цю частину сторінки сторінки 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)).
Це поведінка ядер за замовчуванням. Ядра Linux керують кешами запису та читання таким чином: Коли write()
видається syscall, дані швидко записуються в кеш, і процес завершеного записом надсилається в процес. Коли буфер потрібен або коли на шині є вільний час, дані записуються з кеша на жорсткий диск.
/dev/sdc
, що це фактичний пристрій у вашій системі, і ви не пишете у файл/dev/sdc
? Робітьls --color /dev
-/dev/sdc
має бути жовтим, якщо це пристрій.