2010年6月20日 星期日

使用fsck,來檢測斷電引起freebsd文件系統錯誤

1.首先先開機進入 Single Mode 
2.接下來進去後先按一下 Enter ,以我的系統為例,輸入下列指令

# mount -a
# df

/dev/da0s1a   10154158      70668   9271158     1%    /
devfs                1          1         0   100%    /dev
/dev/da1s1d 2055518950 1106617646 784459788    59%    /home
/dev/da0s1e   10154158    1037240   8304586    11%    /tmp
/dev/da0s1f   80729226   30448924  43821964    41%    /usr
/dev/da0s1d   81245672     800846  73945174     1%    /var
3.先確認有哪些目錄後,就一個一個 umont 做 fsck 修復的動作,修復完再 mount 回來
# umount /home
# fsck -y /home
# mount /home
若一開始連 / 都 mount 不起來的話,記得要先 fsck 根目錄才行唷!
參考來源:http://bojack.pixnet.net/blog/post/20082824

==========================
補充些fsck的用法:
對文件系統進行檢查,並對損害的文件系統進行修復。
fsck的語法如下:
fsck (-F fstype) (-v) (-m) (-special.)
fsck (-F fstype) (-v) (-y|Y|n|N)
(-o fstype options) (special.)
其中:
-F fstype : 說明被檢查的文件系統的類型
-v : 返回完成的命令行,但不運行
-y|Y: 對所有問題均回答Yes
-n|N: 對所有問題均回答No
-m: 對文件系統進行檢查,不修覆文件系統,
如果文件系統經檢查後是可安裝的,則顯示
ufs fsck : sanity check : /dev/rdsk/c0t0d0s0 okay.
-o: 文件系統類型選項,選項由逗號分隔,
最常用的選項有兩個:
P: 整理(preen)模式
F: 強制檢查模式,此選項忽略文件系統狀態標誌。
1) 移去一個沒有相關文件的目錄入口 答Yes或Y來刪除該目錄入口
2) 重連接一個已分配但不能訪問的文件
對fsck的」RECONNECT?」回答Yes,即把該I節點連接到lost+found目錄下,文件名即是I節點號
3) 連接數調整 回答Yes或Y來改正連接數
4) 自由塊表不一致 回答Yes或Y來修正超級塊
對於fsck詢問的問題大多數情況下都可以用Yes來回答,所以在實際應用時,可以用」 -y」選項來執行該命令
對硬盤進行檢查和修復。