linux系統資料復原的方法是什麼
工具: hexedit、fdisk
下文內容操作皆在root環境下完成。
hexedit:
在linux上,常常會使用hexedit來修改程式的16進位程式碼。而fdisk這裡就不介紹了。
現在我們走進磁碟的世界,看看磁碟它對資料做點什麼吧。
首先,在終端機下使用root權限,來執行下指令:
Command: fdisk -l

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

磁碟格式為ext4,而非MS上的vfat32和NTFS格式,在文章的最後貼上FAT32的圖片。
***步驟:
執行fdisk,使用專家模式,來備份Partition table。

ext4的partition table非常簡單,一般備份partition table為ext4.img。備份是為了避免資料恢復中被破壞。
第二步:
首先在target sdb1上執行剪切的命令操作,把sdb1上的檔案移到電腦硬碟上,執行完成後,使用hexedit 來開啟sdb1。
剪下的檔名:usb.png
Command : hexedit -s /dev/sdb1

圖片中可以看到檔案名稱和它所在的sector, 是不是發現了圖片的裝置是sdc1?由於磁碟的自動掛載發生了dev的改變,而資料是不會隨著磁碟的dev變化而變化的。這裡已經找到了檔案名稱的所在,接下來,需要找到檔案header。
如何找到檔案頭呢?可以利用hexedit進行hex search,如果要著ASCII,可以按下TAB切換到ASCII區域。

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

恢復後的圖片:

#上看著很簡單吧,它只是單一檔案的剪下操作與資料恢復。這裡提醒下各位:磁碟中保存的數據,不是刪除了可以恢復,被剪切掉的數據一樣可恢復。
下面我們來看看從磁碟刪除資料後,如何來操作呢?
在磁碟上執行delete指令來刪除一個名為1.gif的檔案,操作如下:



圖片可以看到檔案header到檔案end的sector 的變化,header sector: 264056 , end sector: 264057,檔案大小在1K, 圖片很小。
建立個新文件,然後再執行delete操作,看看磁碟資料變化。



#檔案header sector : 264056, end sector: 264061 , ***次執行刪除的檔案header sector: 264056 ,end sector : 264057, 這樣可以看到***次刪除的資料被覆掉,而保留了第二此刪除的資料。
這裡操作是對磁碟單一檔案進行資料復原和其磁碟中的資料變更進行論證。接下來我們來看看雙文件的操作。

磁碟中存在兩個不同類型的檔案。
檔名:partition.zip
檔名:cab.ico


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

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

可以看到中間的差值全部以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系統資料復原的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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