如何解決FAT文件系統出現readonly的問題

環境

openwrt系統中開啓samba服務器, 插入usb設備,分區爲vfat格式
在windows中反覆刪除、讀寫u盤

問題

反覆讀寫後會出現文件系統只讀的問題
串口日誌如下:

[ 1456.424000] FAT-fs (sda1): error, fat_free_clusters: deleting FAT entry beyond EOF
[ 1456.440000] FAT-fs (sda1): Filesystem has been set read-only

原因分析

通過分析日誌和內核代碼,當檢測到文件系統異常時,會進行錯誤處理,默認是remount readonly, 也就是當文件系統錯誤時,重新掛載文件系統,這樣導致只讀

問題解決

文件系統報錯無法避免,只能通過mount參數規避,防止出現readonly問題
在掛載參數中修改errors處理
可以通過在文檔中查看參數定義

linux-kernel/Documentation/filesystems/vfat.txt

errors取值: panic|continue|remount-ro (默認是rmount-ro)

mount時將參數指定爲continue即可
如mount -t vfat /dev/sda /mnt/sda -o errors=continue

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章