1. 程式人生 > >(轉)解決Ubuntu自動掛載U盤/SD Card變成只讀問題

(轉)解決Ubuntu自動掛載U盤/SD Card變成只讀問題

忘了從什麼時候開始我的那個512M的SD卡在ubuntu下一掛載就是隻讀的了,使用root帳戶更改許可權都不好使,嘗試了好多辦法也沒解決,後來買了個U盤就不再用SD卡了,這件事也就忘記了。

今天突然應急使用這個卡,使用讀卡器掛載發現依舊是隻讀,換用本本內建的讀卡器,也是一樣。沒辦法了,google一通,看了看ubuntu的中文論壇,發現有人也遇到了同樣的問題,但是沒有人給出可行的解決方案。只好看看英文的網站了,果然找到了辦法,原文在這https://bugs.launchpad.net/ubuntu/+bug/228608。

產生這個問題的原因是SD卡的檔案系統損壞,作業系統為了防止進一步毀壞檔案系統,而將其設定成了只讀。檢查檔案系統的方法如下:

在沒掛載SD卡的時候在shell中輸入:tail -f /var/log/syslog,檢視動態日誌檔案。

然後插入SD卡,可以看到日誌檔案的變化,大致如下:

Apr 5 00:24:59 sagi-laptop kernel: [ 1048.660202] FAT: Filesystempanic (dev sdb1)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.660214] invalid access toFAT (entry 0x0000b30e)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.660218] File system hasbeen set read-only
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.676591] FAT: Filesystempanic (dev sdb1)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.676603] invalid access toFAT (entry 0x0000d0c9)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.678906] FAT: Filesystempanic (dev sdb1)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.678916] invalid access toFAT (entry 0x00008522)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.695071] FAT: Filesystempanic (dev sdb1)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.695081] invalid access toFAT (entry 0x0000e673)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.719951] FAT: Filesystempanic (dev sdb1)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.719965] invalid access toFAT (entry 0x0000d751)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.818747] FAT: Filesystempanic (dev sdb1)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.818764] fat_get_cluster:invalid cluster chain (i_pos 0)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.818929] FAT: Filesystempanic (dev sdb1)
Apr 5 00:24:59 sagi-laptop kernel: [ 1048.818931] invalid access toFAT (entry 0x0000bab9)

可以大致看出是/dev/sdb1也就是usb檔案系統出錯的訊息。
OK,接下來開始修復它:

首先解除安裝裝置,然後輸入:sudo dosfsck -v -a /dev/sdb1,檢查並修復檔案系統。
一長串輸出大概如下:

dosfsck 2.11 (12 Mar 2005)
dosfsck 2.11, 12 Mar 2005, FAT32, LFN
Checking we can access the last sector of the filesystem
Boot sector contents:
System ID " "
Media byte 0xf8 (hard disk)
512 bytes per logical sector
16384 bytes per cluster
1 reserved sector
First FAT starts at byte 512 (sector 1)
2 FATs, 16 bit entries
62976 bytes per FAT (= 123 sectors)
Root directory starts at byte 126464 (sector 247)
512 root directory entries
Data area starts at byte 142848 (sector 279)
31312 data clusters (513015808 bytes)
63 sectors/track, 16 heads
233 hidden sectors
1002263 sectors total
/DcOo CS1.6.rar and
/Music
share clusters.
Truncating second to 180387840 bytes.
Reclaiming unconnected clusters.
Reclaimed 10723 unused clusters (175685632 bytes) in 1 chain.
Performing changes.
/dev/sdb1: 166 files, 25779/31312 clusters

說明已經檢查完畢,重新插上SD卡試試吧,應該已經可以寫入了。