1. 程式人生 > >linux命令--使用fsck修復檔案系統

linux命令--使用fsck修復檔案系統

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

使用fsck修復檔案系統錯誤

 

1、問題描述

伺服器maint_samba  

由於伺服器maint_samba (debian作業系統)沒有正常關機,在重新啟動過程中/dev/sdb1出現檔案系統錯誤,需要手動使用fsck進行掃描和修復。出現如下情況:

…...

Checking file systems ...fsck 1.41.3(12-OCT-2008)

/dev/sdb1 contains a file system with errors check forced

/dev/sdb1: |==========                                          百分數%

……

/dev/sdb1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY (i.e.,without -a or -p options)

fsck died with exit status4

……

……/var/log/fsck/fsck  ---fsck報錯日誌的存放位置

……

Warning

……

Press enter for maintenance

(or type Control-D to continue): --- Ctrl+d繼續啟動伺服器。

2、手動fsck修復

2.1 fsck簡介

fsck不僅可以對檔案系統進行掃描,還能修正檔案系統的一些問題。值得注意的是fsck 掃描檔案系統時一定要在單使用者模式、修復模式或把裝置umount後進行

警告:如果掃描執行中的系統,會造成系統檔案損壞。

檔案系統掃描工具有 fsck,fsck.ext2,fsck.jfs,fsck.msdos,fsck.vfat,fsck.ext3,fsck.reiserfs(reiserfsck)。其中fsck 預設支援檔案系統ext2,如果想支援ext3檔案系統的掃描,應該加-j 引數。最好是根據不同的檔案系統來呼叫不同的掃描工具,比如ext3的檔案系統使用fsck.ext3,ext2檔案系統使用fsck.etx2等。

/dev/sdb1是ext3的檔案系統,只介紹fsck.ext3

fsck.ext3

[語法]

fsck.ext3[必要引數][選擇引數][裝置代號]

[功能]

fsck.ext3 命令:

針對ext3型檔案系統進行檢測

[執行許可權]

超級使用者普通使用者

 [引數]

必要引數

 -a 非互交模式,自動修復

 -c 檢查是否存在有損壞的區塊。

 -C<反敘述器> fsck.ext3命令會把全部的執行過程,都交由其逆向敘述,便於監控程式

 -d 詳細顯示命令執行過程

 -f 強制進行檢查

 -F 檢查檔案系統之前,先清理該儲存裝置塊區內的資料

 -l<損壞區塊檔案> 把檔案中所列出的損壞區塊,加入標記

 -L<損壞區塊檔案> 清除所有損壞標誌,重新標記

 -n 非互動模式,把欲檢查的檔案系統設成只讀

 -P<數字>  設定fsck.ext2命令所能處理的inode大小為多少

 -r 互動模式

 -R 忽略目錄

 -s 順序檢查

 -S 效果和指定“-s”引數類似

 -t  顯示fsck.ext2命令的時序資訊。

 -v 顯示詳細的處理過程

 -y 關閉互動模式

選擇引數

 -b<分割槽第一個磁區地址>  指定分割槽的第一個磁區的起始地址/Super Block

 -B<區塊大小>  設定該分割槽每個區塊的大小

 -I設定欲檢查的檔案系統,其inode緩衝區的區塊數目

 -V顯示版本資訊

 [參考範例]

範例1: 檢測磁碟

[[email protected] test]# fsck.ext3 /dev/fd0

範例2: 檢測磁碟並顯示時序資訊

[[email protected] test]# fsck.ext3 -ft /dev/fd0

2.2 伺服器maint_samba使用fsck.ext3對檔案系統進行修復過程

2.2.1檢視fsck報錯的日誌

fileserver:~# ls -l /var/log/fsck/

total 8

-rw-r----- 1 root adm 190 2011-06-09 10:03 checkfs

-rw-r----- 1 root adm 192 2011-06-09 10:03 checkroot

這兩個檔案中會出現fsck的報錯資訊。

fileserver:~# more /var/log/fsck/checkfs

fileserver:~# more /var/log/fsck/checkroot

2.2.2檢視當前的執行級別:

fsck.ext3掃描檔案系統時一定要在單使用者模式、修復模式或把裝置umount後進行如果掃描執行中的系統,會造成系統檔案損壞。

選擇在單使用者模式下執行

# runlevel  ---檢視執行級別

fileserver:~# runlevel

N 2

#init 1  --單使用者模式(1 S),在轉換成單使用者模式時可能會需要輸入root密碼。

fileserver:~# init 1

2.2.3使用fsck.ext3對檔案系統進行掃描、修復

fileserver:~# fsck.ext3  -y /dev/sdb1  ---開始進入掃描、修正檔案系統

注意紅色方框,該位置需要輸入yes

fsck.ext3開始進入掃描、修正檔案系統,這個過程時間比較長,中間有數次停頓的過程,只需等待即可,千萬不要以為宕機而重啟伺服器。

fsck.ext3掃描、修正完檔案系統後,根據提示可能需要重啟系統。如果沒有提示重啟系統,也需要reboot來重啟系統。

fileserver:~# reboot  ---重啟系統

在重啟系統的過程中,fsck會對檔案系統進行掃描,如下:

fsck掃描完以後,會啟動到系統的登入介面,不需要進行任何干涉。

 

再次重新啟動系統,系統可以正常啟動。

 

至此伺服器maint_samba使用fsck修復檔案系統完成。


           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述