Linux

使用 dd 將 ISO 映像寫入 USB 快閃記憶體驅動器時,我怎麼知道我可以移除記憶棒?

  • September 13, 2021

使用 將 ISO 映像寫入 USB 快閃記憶體驅動器時dd,我怎麼知道我可以移除記憶棒?顯然,我會等到命令完成並返回終端提示符。但即便如此,設備可能仍因記憶體/緩衝區而忙碌。因為我正在寫入設備本身,所以沒有安裝任何東西,所以我也沒有打電話umount,也看不到設備是否仍然忙。

我見過dd ... && sync幾次。但是,在所有媒體的緩衝區都被寫入之前,這不會阻塞嗎?不僅是我使用的一個快閃記憶體驅動器dd。因此,如果我有很多其他寫入過程,那不會阻塞嗎?

會尋求幫助的conv=論據嗎?dd但是conv=sync, conv=fsync, conv=fdatasync, …中的哪一個?

有 和 的簡短描述fsyncfdatasync在.man dd``info dd

如果我不想使用單獨的和全域的sync,我會使用conv=fsyncindd因為它會在完成之前同時寫入數據和元數據。來自info dd

‘fdatasync’
     Synchronize output data just before finishing.  This forces a
     physical write of output data.

‘fsync’
     Synchronize output data and metadata just before finishing.
     This forces a physical write of output data and metadata.

命令dd完成後,執行sudo eject /dev/sd[drive letter]. 完成後,您可以自由刪除它。數據將被同步。

引用自:https://unix.stackexchange.com/questions/668687