首頁 運維 安全 linux系統資料復原的方法是什麼

linux系統資料復原的方法是什麼

May 14, 2023 pm 01:49 PM
linux

工具: hexedit、fdisk

下文內容操作皆在root環境下完成。

hexedit:

linux系統資料復原的方法是什麼

在linux上,常常會使用hexedit來修改程式的16進位程式碼。而fdisk這裡就不介紹了。

現在我們走進磁碟的世界,看看磁碟它對資料做點什麼吧。

首先,在終端機下使用root權限,來執行下指令:

Command: fdisk -l

linux系統資料復原的方法是什麼

/dev/sdb1是今天的主角,從圖片很清楚地看到一些相關數據,例如磁碟的size,、sector、I/O size等等。

linux系統資料復原的方法是什麼

磁碟格式為ext4,而非MS上的vfat32和NTFS格式,在文章的最後貼上FAT32的圖片。

***步驟:

執行fdisk,使用專家模式,來備份Partition table。

linux系統資料復原的方法是什麼

ext4的partition table非常簡單,一般備份partition table為ext4.img。備份是為了避免資料恢復中被破壞。

第二步:

首先在target sdb1上執行剪切的命令操作,把sdb1上的檔案移到電腦硬碟上,執行完成後,使用hexedit 來開啟sdb1。

剪下的檔名:usb.png

Command : hexedit -s /dev/sdb1

linux系統資料復原的方法是什麼

圖片中可以看到檔案名稱和它所在的sector, 是不是發現了圖片的裝置是sdc1?由於磁碟的自動掛載發生了dev的改變,而資料是不會隨著磁碟的dev變化而變化的。這裡已經找到了檔案名稱的所在,接下來,需要找到檔案header。

如何找到檔案頭呢?可以利用hexedit進行hex search,如果要著ASCII,可以按下TAB切換到ASCII區域。

linux系統資料復原的方法是什麼

檔案的大小決定了檔案在磁碟中所佔用的sector 數,1 sector==512 bytes。在圖中,顯示了檔案header offset和sector。

提取hex值,寫入檔案。

linux系統資料復原的方法是什麼

恢復後的圖片:

linux系統資料復原的方法是什麼

#上看著很簡單吧,它只是單一檔案的剪下操作與資料恢復。這裡提醒下各位:磁碟中保存的數據,不是刪除了可以恢復,被剪切掉的數據一樣可恢復。

下面我們來看看從磁碟刪除資料後,如何來操作呢?

在磁碟上執行delete指令來刪除一個名為1.gif的檔案,操作如下:

linux系統資料復原的方法是什麼
linux系統資料復原的方法是什麼
linux系統資料復原的方法是什麼

圖片可以看到檔案header到檔案end的sector 的變化,header sector: 264056 , end sector: 264057,檔案大小在1K, 圖片很小。

建立個新文件,然後再執行delete操作,看看磁碟資料變化。

linux系統資料復原的方法是什麼
linux系統資料復原的方法是什麼
linux系統資料復原的方法是什麼

#檔案header sector : 264056, end sector: 264061 , ***次執行刪除的檔案header sector: 264056 ,end sector : 264057, 這樣可以看到***次刪除的資料被覆掉,而保留了第二此刪除的資料。

這裡操作是對磁碟單一檔案進行資料復原和其磁碟中的資料變更進行論證。接下來我們來看看雙文件的操作。

linux系統資料復原的方法是什麼

磁碟中存在兩個不同類型的檔案。

檔名:partition.zip

檔名:cab.ico

linux系統資料復原的方法是什麼
linux系統資料復原的方法是什麼

***個檔案的header secotor:264056,end sector:264058

linux系統資料復原的方法是什麼

linux系統資料復原的方法是什麼

第二個檔案header sector:264064,end sector:264076。發現***個檔案的end sector與第二個檔案的header sector相差多個sector,那麼中間的差值是什麼呢?

linux系統資料復原的方法是什麼

可以看到中間的差值全部以00填充。到這裡我們來總結下這次在linux上的實作操作:

ext4 file system

執行剪貼

file name : usb.png sector 67120

#file header : sector 264064 file end: sector 264076

執行刪除

file name : 1.gif sector 67112 (覆蓋)

file header: start : sector 26405#file66 end: sector 264057 (覆蓋)

file name: 56.jpg sector 67112

file header:start: sector 264056 end: sector 264061

當單一檔案時,執行##當單一檔案時,執行#刪除時,覆蓋上一次被刪除的資料。

儲存檔案

(1) file name : partition.zip sector 67112

##(1) file name : partition.zip sector 67112

file header: start sector 264056 end sector 264058

(2) file name : cab.ico sector 67112

file header: start sector 264064 end sector: 264068

#ector

linux系統資料復原的方法是什麼
linux系統資料復原的方法是什麼
446 ##儲存區:與刪除區共存
linux系統資料復原的方法是什麼儲存區: 當單一檔案時,儲存檔案會覆寫刪除區資料。
###資料恢復:當多檔案時,執行刪除時,刪除區保留資料hex,如果建立新檔案資料時,將覆蓋被刪除資料hex。 ######附圖:######FAT32磁碟格式圖:##############################

以上是linux系統資料復原的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1658
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

vscode終端命令不能用 vscode終端命令不能用 Apr 15, 2025 pm 10:03 PM

VS Code 終端命令無法使用的原因及解決辦法:未安裝必要的工具(Windows:WSL;macOS:Xcode 命令行工具)路徑配置錯誤(添加可執行文件到 PATH 環境變量中)權限問題(以管理員身份運行 VS Code)防火牆或代理限制(檢查設置,解除限制)終端設置不正確(啟用使用外部終端)VS Code 安裝損壞(重新安裝或更新)終端配置不兼容(嘗試不同的終端類型或命令)特定環境變量缺失(設置必要的環境變量)

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

vscode上一步下一步快捷鍵 vscode上一步下一步快捷鍵 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

See all articles