1. 程式人生 > >解決ubuntu下U盤變成只讀的問題

解決ubuntu下U盤變成只讀的問題

    最近頻繁出現U盤變成只讀的問題,開始還以為是我的U盤質量不好(展會上的禮品),平時我很少用U盤,都是通過網路傳來傳去,使用ubuntu的5年多來從來都沒有出現過這樣的問題。
    可是頭兩天拷貝一個檔案,第一次出現拷貝完拿到別人的機器上無法讀出那個拷貝檔案,其他的檔案照常讀寫,我開始以為是別人的xp有病毒,後來到我的ubuntu下面也無法讀寫,我就認為是U盤壞掉了(2年左右),扔到一邊,又買了一個新U盤,以備拷貝使用。
    今天給女兒考一個檔案,興沖沖回到家,結果無法讀出,非常掃興,於是查了一下文件,發現幾種可能性:
  • xp下的病毒影響(有個帖子提到重新格式化U盤解決)
  • linux的故障誤造成只讀(
    現象及辦法
 排查步驟:
  • 檢視掛載的格式是否正確

$mount
/dev/sdc1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/sdc6 on /home type ext4 (rw)
/dev/sda1 on /home/bl/dbf type ext3 (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
/dev/sdb1 on /media/3AAA-893C type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush)


藍色部分是U盤掛載項,屬性看著沒有什麼異常
$sudo mount -o remount,rw /dev/sdb1
仍未解決問題
  • fsck檢查U盤資料

$sudo umount /media/3AAA-893C/
$sudo fsck /dev/sdb1

fsck from util-linux-ng 2.17.2
dosfsck 3.0.7, 24 Dec 2009, FAT32, LFN
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
  65:01/00
1) Copy original to backup
2) Copy backup to original
3) No action
? 2
Reclaimed 153 unused clusters (5013504 bytes).
Free cluster summary wrong (242445 vs. really 242751)
1) Correct
2) Don't correct
? 1
Leaving file system unchanged.
/dev/sdb1: 49 files, 1474/244225 clusters

發現磁碟錯誤,修復後U盤能夠正常使用,找出頭兩天壞的U盤,用同樣的辦法也發現了磁碟錯誤,修復後解決問題。

總結:
    原來使用一直沒有出現問題,最近出現問題都是我的vmware虛擬機器和ubuntu Host主機之間交叉使用U盤造成的現象,懷疑vmware player 3.1.0 build-261024 和ubuntu 10.04之間有相容問題(用360查毒未發現xp虛擬機器有病毒,不排除病毒影響可能,但另一個U盤未發現引導區部分有錯誤)