fsck解決Linux資料丟失問題

2021-05-21 15:08:01 字數 2268 閱讀 2111

1

、檔案系統:ext2 ext3 reiserfs xfs等

2、範圍:提示檔案系統需要fsck時,未執行或fsck執行完成

[症狀]

1、無法mount分割槽;

2、大量檔案、目錄丟失,根目錄下生成/lost found資料夾,裡面有大量#******類的檔案和目錄;

3、fsck很快報錯完成;

4、fsck執行時,有大量提示,如修改節點、清0節點等操作

[應急方案]

1、如遇提示fsck時,請小心。如果可能,請盡快斷開系統,umount所有分割槽。

2、必需執行fsck時,先做準備工作,方法一:可事先用dd命令將所涉及到的分割槽輸出到另外的存

儲體上(最好不要在出錯的儲存體本身上做dd) 命令大致結構可如:dd if=/dev/sda0

of=/dev/sdb0 ……

3、必需執行fsck時,先做準備工作,方法二:將整個linux儲存體掛載到虛擬機器環境,將linux存

儲體設為nonpersisten模式,再執行,執行過後,如果資料完好,應盡快通過ftp等方式拷貝出

來。4、必需執行fsck時,先做準備工作,方法三:將整個linux儲存體掛載到其他系統上(如windows),

做好映象後再做fsck.

5、如上面幾種方式均因條件等原因無法實施,必須執行時,可小心觀察fsck的執行提示(關掉-a)

如果發現有提示節點錯誤需更正或清0、節點描述檔案大小不正確等資訊,應停止執行fsck.

6、因恢復需要參考很多資訊,因盡可能保持系統不工作狀態,至少不得再次mount分割槽(即便不做

任何讀寫操作,也會因系統的工作原理不斷降低資料恢復的可能性,增加資料恢復的難度)

7、尋求專業資料恢復公司幫助。

對磁碟進行映象的方案:

1、可用相同或大於源盤容量的硬碟做為目標盤,將源盤全部扇區方式clone到目標盤。

2、可將源盤完全以扇區方式輸出檔案到某大容量儲存空間(如大容量硬碟、nas、san、das等)

輸入root密碼登入後採用:fsck -t ext3 -r /usr/local 修復

fsck

的命令的幾個使用方法

指令:fsck

使用許可權 : 超級使用者

使用方式 :fsck [-sacvrp] [-t fstype] [–] [fsck-options] filesys […]

參  數:

-a 自動修復檔案系統,不詢問任何問題。

-a 依照/etc/fstab配置檔案的內容,檢查檔案內所列的全部檔案系統。

-n 不執行指令,僅列出實際執行會進行的動作。

-p 當搭配"-a"引數使用時,則會同時檢查所有的檔案系統。

-r 採用互動模式,在執行修復時詢問問題,讓使用者得以確認並決定處理方式。

-r 當搭配"-a"引數使用時,則會略過/目錄的檔案系統不予檢查。

-s 依序執行檢查作業,而非同時執行。

-t《檔案系統型別》 指定要檢查的檔案系統型別。

-t 執行fsck指令時,不顯示標題資訊。

-v 顯示指令執行過程。

例子:

檢查msdos 檔案系統的/dev/hda5 是否正常,如果有異常便自動修復:

fsck -t msdos -a /dev/hda5

注意:此指令可與/etc/fstab 相互參考操作來加以了解。

執行fsck命令後產生的檔案有什麼用?

當執行fsck命令時,fsck命令如果發現存在孤立的檔案或目錄,這些孤立的檔案或目錄對於系統管理員或使用者來說,無法訪問到它,因為它與它的上級目錄失去了關聯,如果使用者允許fsck重新把它們找回來的話,fsck命令就會把這些孤立的檔案或目錄放在檔案系統的/lost+found目錄下,並用各自的i-node號來命名,以便使用者查詢自己需要的檔案。lost+found目錄通過它的英文含義我們都可以知道,它是乙個失物認領處。

因此當某個使用者發現自己丟失了某個檔案,可以在執行fsck之後到/lost+found目錄下去查詢,這時通過檔名已無法辨認出檔案的作用,只能用file之類的命令來確定檔案的型別,如果是資料檔案,可以用more或vi命令來檢視,如果是二進位制檔案,可以用dbx命令來除錯或者試著執行它(注意它可能是乙個具有破壞性的程式),知道檔案或目錄的作用之後,可以對其進行改名。

如果使用者不允許fsck把這些孤立的檔案或目錄找回來,那麼fsck命令就會破壞這些檔案或目錄,徹底丟失這些檔案或目錄,使用者或系統管理員永遠也無法找回它們。

執行e2fsck 或fsck 前請先umount partition,否則有機會令檔案系統毀損。如果需要對根目錄(/) 進行檢查及修復,便需要進入singal user mode 執行。

解決linux中flash掉電丟失資料問題

我在乙個嵌入式linux專案中提供了乙個配置介面用來更改機器的引數,我將引數以檔案形式儲存在flash中。現在發現乙個問題,如果更改了引數,然後用reboot熱重啟,則引數已經被更改,但如果斷電則發現引數並沒有被修改,而且檔案甚至可能被清空。經過排查,原因是linux中並沒有立即在flash進行資料...

解決linux中flash掉電丟失資料問題

我在乙個嵌入式linux專案中提供了乙個配置介面用來更改機器的引數,我將引數以檔案形式儲存在flash中。現在發現乙個問題,如果更改了引數,然後用reboot熱重啟,則引數已經被更改,但如果斷電則發現引數並沒有被修改,而且檔案甚至可能被清空。經過排查,原因是linux中並沒有立即在flash進行資料...

解決redis在linux重啟就資料丟失問題

在linux系統中,redis本來是有資料的,但在linux系統重啟後,redis中的資料全部丟失。經過幾次測試都一樣,只有在linux系統重啟才會丟失,redis重啟應該是沒有問題的。這個問題只在linux系統才存在,在windows系統是沒有問題的。二 解決方案 在linux系統設定乙個引數 v...