2015-06-05

Ubuntu 用 ntfsundelete 指令救回檔案

嗯 ... 阿舍不是錯殺檔案,而是殺了之後,就後悔了,阿舍在 Windows 上刪了幾個放在一個 NTFS 的外接硬碟上的檔案後,發現,還是會用到,所以,就需要想辦法把它們給救回來,本來,阿舍想在 Windows 上找看看有沒有工具可用,但是,找到的,大多是試用軟體,阿舍不是很想用,然後,就想說,Ubuntu 可讀寫 NTFS 磁區,不知道有沒有工具可以用來救回刪掉的檔案哩 ? ...



結果,一找就找到 ntfsundelete 這個程式 (Ubuntu 上應該是有預載,不用自己再安裝了),於是,阿舍就很高興的照 Man Page 的說明來跑跑看,然後,這個 ntfsundelete 程式就告訴阿舍說,這個磁碟要先在 Windows 上的命令列跑過下面這一行指令後才能用 ntfsundelete 程式來救回檔案,所以,阿舍只好再回去 Windows 來執行這個 chkdsk 指令囉 !

# 請切換到那個顆外接硬的磁碟代碼後再執行下面的指令
$ chkdsk /f

如果你的外接硬碟插到 Windows 的時候,會出現來問你要不要掃描和修復的話,就會需要執行上面這一行指令囉 ! 執行好之後,就可以把這顆硬碟插回 Ubuntu 來準備救檔哩 ! 插好之後,請先執行下面這一行指令來找出這顆外接硬碟的代碼,一般是像是 /dev/sdb1 這樣磁碟名稱,請把它記下來,然後,要把它 umount 掉,但不拔除,這樣 ntfsundelete 才能對它進行操作哩 !

$ df

接下來,就開始進入救回檔案的動作了,如果你和阿舍一樣,要救回的檔案的很大,然後,電腦上的硬碟空間可能不夠的話,那就需要先再插一顆外接硬碟或 USB 隨身碟來放救回的檔案,建議不要把救回的檔案放回原硬碟,這樣有機會會蓋掉你正在救的檔案,然後,就會救不回來了哩 ! 下面是阿舍自己救檔的操作步驟,提供參考囉 !

# 找出已刪除的檔案清單並儲存
$ sudo ntfsundelete /dev/sdb1 > files.txt

# 打開上個步驟產生的 files.txt 來尋找要救回的檔案是否存在,如果在 files.txt 中有找到檔案名稱,通常表示有機會救回

$ vi files.txt
# 下面指令是以阿舍要要救回一個檔名叫做 arthurtoday.img 的檔案並存到 /media/arthurtoday/HT1TB 這個外掛硬碟的根目錄
$ sudo ntfsundelete /dev/sdb1 -u -m arthurtoday.img -d /media/arthurtoday/HT1TB

# -u 選項表示要救回檔案
# -m 選項用來指定要救回檔案的檔名,可用像 *.img 這種格式來救回所有的 .img 檔
# -d 選項用來指定救回的檔案的存放位置

上面的最後一行指令執行後,如果檔案是可以救回的,就會開始把檔案搬到指定的硬碟去,檔案如果不大,一下就會結束,出果有出現成功的訊息,就算是救回成功了哩 ! 阿舍運氣不錯,刪掉的幾個檔案都有成功的救回來,所以,阿舍覺得這個 ntfsundelete 還不錯用哩 !

另外,阿舍還想到一個 ntfsundelete 可以用到的功能,就是用來確定檔案是不是有被刪除亁淨,如果你刪了一個檔案,然後,不想有被救回的機會,可以在蓋完檔案後,用這個 ntfsundelete 來掃一下,如果在產出的檔案中找的到檔名的話,那就大概可以被救回來,就表示沒有蓋成功哩 ! ...



推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁