
EXT4 FS/記憶卡出現問題,經過 fsck 後,所有檔案都被放入「lost+found」中。
問題:如何從遺失+找到的檔案中還原舊的檔案名稱/層次結構?或者說這是不可能的?不包括從備份恢復。
答案1
您無法找到文件的原始名稱和位置,/lost+found
因為那是什麼lost+found
意思:它是fsck
放置無法附加到目錄樹中任何位置的文件片段的地方。如果位置已知,fsck
就會將文件留在原來的位置。
理論上可能fsck
只有部分信息,例如文件名,但沒有目錄位置,但典型的文件系統不會發生這種情況。
您也許能夠在文件本身中找到線索。這file
命令至少會告訴您它是什麼類型的檔案(如果它識別它)。有些文件內部包含附加資訊;例如 JPEG 和 TIFF 影像可能包含EXIF數據,MP3 檔案可能包含ID3標籤, ETC。
答案2
上次我不得不這樣做——很多年前——你必須根據文件內容進行猜測。我懷疑今天是否有更好的方法。
「文件」程式可以在這裡提供幫助,因為它可以讓您了解資料的類型,因此您可以使用它來適當地查看文件。
答案3
就我而言,讀取期間出現 I/O 錯誤。運行後e2fsck
我發現我的大部分文件都在lost+found
子資料夾中,並且大多數文件(和文件名)是好的。
所以去lost+found
,跑
find | less
看看是否能找到您的文件。祝你好運!
答案4
檔案名稱和層次結構沒有,但使用檔案可以幫助您恢復一些內容。我使用 Joe 編輯器,如果啟用的話,它有矩形選擇。所以我可以執行“ls > ques”,然後搜尋替換將其轉換為語句列表,例如“file“#133024”> 133024.txt”。我將其作為 sh 腳本運行,然後我可以執行“grep PDF *.txt > pdflist”。在 mc 檢視器中開啟該檔案並在另一個終端中開啟另一個 mc 後,我查看了 pdflist.txt 並將所有 PDF 移至其自己的目錄中。您可以對 ASCII 文字檔案及其標識的任何其他檔案執行相同的操作。
還有一些奇怪的驚喜,例如「#410423:gzip 壓縮資料是「x264_git.tar」」。您也可以「cat *.txt > filelist」來取得一個檔案中的所有描述。