File-Copy

FAT/FAT32/VFAT 文件系統上的文件順序

  • February 18, 2020

我有幾個音頻設備(汽車收音機、攜帶式收音機、MP3 播放器),它們使用 SD 卡和帶有 FAT 文件系統的 USB 記憶棒。由於這些設備的智能有限,它們不會按名稱對 FAT FS 上的文件名進行排序,而只是按照它們被複製到 SD 卡的順序播放它們。

在 MS DOS 和 MS Windows 中,這不是問題。使用一個簡單的實用程序按字母順序對文件進行排序,然後按該順序複製它們就可以了。但是,在 Linux 上,從 ext4 文件系統複製的文件不會以與讀取和複製它們的順序相同的順序在 FAT FS 上結束,大概是因為有一種緩衝機制可以提高效率,但不會過於擔心文件最終在目標設備上的物理順序。

我也嘗試在 Virtual Box VM 中使用 Windows,但最終文件的寫入順序與從 Linux 文件系統中讀取的順序不同。

有沒有辦法(除了手動複製它們並等待所有寫入緩衝區被刷新)來確保文件按照從 ext4 文件系統中讀取的順序最終出現在 FAT SD 目標上?

記得很久以前就問過這個(歡迎大家搜尋)。我對未來很長一段時間的猜測是:使用選項安裝設備sync(刪除緩衝),對列表進行排序以確保它們按順序複製。

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