首頁 電腦教學 電腦知識 使用ddrescue在Linux上恢復數據

使用ddrescue在Linux上恢復數據

Mar 20, 2024 pm 01:37 PM
工具 數據 回覆

DDREASE是一種用於從檔案或區塊裝置(如硬碟、SSD、RAM磁碟、CD、DVD和USB儲存裝置)復原資料的工具。它將資料從一個區塊設備複製到另一個區塊設備,留下損壞的資料區塊,只移動好的資料區塊。 ddreasue是一種強大的恢復工具,完全自動化,因為它在恢復操作期間不需要任何干擾。此外,由於有了ddasue地圖文件,它可以隨時停止和恢復。 DDREASE的其他主要功能如下:

  • 它不會覆蓋恢復的數據,但會在迭代恢復的情況下填補空白。但是,如果指示工具明確執行此操作,則可以將其截斷。
  • 將資料從多個檔案或區塊還原到單一檔案。
  • 支援多種類型的設備接口,如SATA、ATA、SCSI、MFM驅動器、軟碟和SD卡。

在這篇指南中,我將深入研究這款強大的資料復原工具,探討其安裝步驟以及如何利用它來還原區塊裝置或分割區。

  • 安裝ddrescue
  • 了解基礎知識
  • 重要的考慮因素
  • 使用DDREASE
  • 修復損壞的區塊
  • 將圖像檔案還原到新區塊
  • 將資料塊恢復到另一個資料塊
  • 恢復特定的資料從已儲存的影像檔案
  • 進階功能
  • ddrescue如何工作
  • 結論

請注意:在本指南中,我使用的是Linux發行版(Ubuntu 22.04)。 Ddreasure實用程式的安裝步驟可能會因發行版而異,但適用於所有Linux發行版的指引是通用的。

安裝ddrescue

#要在Linux上安裝ddrescue,尤其是Ubuntu及其版本或基於Debian的發行版,請使用:用途:

sudo apt install gddrescue

要在REHL、Fedora和CentOS上安裝它,首先啟用ETEL(Extra Packages for Enterprise Linux)。

sudo yum install epel—release

上面的指令適用於各自發行版的較新版本。

然後執行以下命令以安裝ddreasue:

sudo yum install ddrescue

對於Arch—Linux和Manjaro等基於Arch—Linux發行版,請使用下面給出的命令安裝ddrescue恢復實用程式。

sudo pacman—S ddrescue

因為我使用的是Ubuntu 22.04,所以我會使用APT套件管理器來安裝它。

了解基礎學

在使用ddreasue工具恢復資料之前,我建議不熟悉恢復過程的使用者了解Linux的一些命名約定。

Linux將區塊(裝置)識別為文件,並將它們放在/dev目錄中。要列出/dev目錄中的文件,請使用ls/dev指令。

硬碟(儲存區塊)以sd和字母表表示;在多個儲存裝置的情況下,檔案將表示為/dev/sda、/dev/sdb等。

如果儲存裝置有分割區,則它們將由具有對應磁碟機檔案名稱的數字表示,例如/dev/sda1、/dev/sda2等等。

要列出系統中的所有區塊和其他連接的設備,請使用list block lsblk指令:

lsblk

使用ddrescue在Linux上恢復數據

#ddrescue指令可以恢復整個區塊(包含MBR和分割區)或分割區。另一方面,如果您只需要從特定分區恢復特定的文件,那麼最好恢復分區而不是整個區塊。

重要的考慮因素

#在使用ddue實用程式之前,應該先考慮一些非常關鍵的問題:

  • 請勿嘗試復原已載入的資料區塊,該資料區塊甚至不應處於唯讀模式。
  • 請勿嘗試修正出現I/O錯誤的資料塊。
  • 系統可以在重新啟動時變更輸入和輸出裝置名稱。在開始複製程序之前,請確保設備名稱正確。
  • 如果使用單獨的區塊作為輸出設備,則設備上的所有資料都將被覆蓋。

使用ddrescue

#安裝ddrescue實用程式並了解命名約定後,下一步是識別故障磁碟並使用ddrescue工具進行復原。

修復損壞的區塊

第一個範例將包含恢復整個區塊的過程。首先,使用lsblk指令列出區塊:

lsblk—o Name,Size,FSTYPE

—o標誌用於指定命令應輸出哪種類型的資訊(欄位)。我已經提到了名稱、大小和FSTYPE或檔案系統類型。

使用ddrescue在Linux上恢復數據

#現在,您可以確定目標區塊、分割區和位置,以儲存已拯救的映像檔。

另一個需要注意的重要事情是,在Linux上,區塊名稱在引導時是動態分配的,在重新引導後,區塊的名稱可能會改變。所以,在記下區塊名稱時要小心。

現在,使用下面的語法將區塊作為映像檔進行拯救,並在根目錄中使用日誌檔案。

sudo ddrescue—d—rX/dev/[block][path/name]. img [logfile_name]. log

注意:將映像檔的[block]、[path/name]和[logfile_name]對應替換為首選名稱。

在本例中,我正在使用映像檔名recovery.img還原根目錄中的/dev/sda。日誌檔案(也稱為映射檔案)是必要的,如果要隨時恢復復原。

Sudo dd救援-d-r2/dev/sda2恢復.img恢復.log

在上述指令中使用了兩個重要標誌。

D —間接 用來告訴工具直接存取磁碟而忽略核心快取
RX -重試-通過 在用於告訴工具重試壞扇區X次

執行上述指令時,您會注意到文件瀏覽器中出現兩個文件,名稱分別為recovery. img和recovery.log。

使用ddrescue在Linux上恢復數據

#恢復時間取決於輸入區塊的大小和損壞。如果要恢復大型資料塊,我建議使用日誌文件,因為該過程可能需要幾個小時甚至幾天的時間才能完成。

上述指令的輸出如下:

使用ddrescue在Linux上恢復數據

#在輸出映像中,ipos是輸入檔案的輸入位置,從那裡開始複製,opos是輸出檔案上寫入資料的輸出位置。

非嘗試是區塊的大小沒有等待嘗試。獲救者表示成功恢復的區塊的大小。被拯救的pct表示成功恢復了資料的百分比。術語,非修剪,非報廢,壞扇區和壞區域是不言自明的。但是,讀取錯誤術語以數字表示失敗的讀取嘗試。

運行時間顯示工具完成過程所花費的時間,而剩餘時間則是完成恢復過程所剩餘的時間。上面的輸出顯示剩餘時間為0,因為進程已經完成,請在下面的未完成進程的圖像中讀取輸出。

使用ddrescue在Linux上恢復數據

#讓我們看看在日誌文件中得到了什麼;要打開生成的日誌文件,請使用vim recovery.log命令。

使用ddrescue在Linux上恢復數據

#current_status是 ,表示進程結束,而current_pos是區塊上的位置。

目前狀態清單請見下表:

複製
* 修剪
/ 報廢
重試
F 填滿指定的區塊
G 產生日誌檔
該過程完成

在此下方,日誌檔案以下面列出的字元形式顯示先前解救的區塊的狀態:

區塊未試用
* 未修剪的故障區塊
/ 未報廢的失效區塊
壞扇區失敗資料塊
完成區塊

將圖像檔案還原到新區塊

#一旦你完成了恢復過程,並有圖像檔案.您現在可能希望它從損壞的驅動器移動到新的驅動器。要將映像檔移至新區塊,首先,將區塊連接到系統,然後使用lsblk指令來識別區塊名稱。

假設它是/dev/sdb,使用以下命令將映像複製到一個新區塊。

sudo ddrescue—f recovery. img/dev/sdb logfile.log

#如果有任何數據,則使用—f標誌覆寫新區塊。請記住,日誌檔案的名稱必須不同,以使其與先前儲存的日誌檔案保持分離。

上面的操作也可以使用dd來完成,dd是用來複製檔案的另一個強大指令。

sudo dd if = recovery. img of =/dev/sdb

在進行還原之前,請記住,新區塊必須足夠大,以保留整個復原的區塊;例如,如果復原區塊為5GB,則新區塊應大於5GB。

如果恢復的映像檔呈現了許多錯誤,那麼可以在一定程度上使用Linux上的fsck指令來修復它們。在Windows上,您可以使用CHKDSK或SFC指令來執行此操作。但是,復原取決於損壞的檔案產生的錯誤數量。

現在,復原過程和修復工作已經完成。另一件需要注意的重要事情是,您可以直接在另一個區塊上恢復損壞的區塊,而不是建立映像文件,然後將其複製到新區塊。好的,在接下來的一節中,我將詳細介紹這個過程。

將資料區塊還原到另一個資料區塊

要將區塊直接還原到新區塊,首先將區塊連接到系統,然後再次使用lsblk指令來識別區塊名稱。錯誤的區塊名稱可能會打亂整個過程,您可能會遺失資料。

在識別出來源區塊和目標區塊後,使用以下命令還原該區塊:

sudo ddrescue—d—f—r2/dev/[source]/dev/[destination] backup.log

假設/dev/sdb是目標區塊,所以要將/dev/sda目錄複製到新區塊,請使用用途:

Sudo ddue-d-f-r2/dev/sda/dev/sdb backup.log

在嘗試此程序之前,請參閱前面幾節中提到的關鍵注意事項。

恢復特定的資料從已儲存的映像檔

在許多情況下,資料復原的目的是從損壞的磁碟機中找到特定的檔案。要存取特定文件,您需要裝載映像文件。在Linux上,可以使用mount指令來探索復原的映像檔。

在掛載映像檔之前,先建立一個要提取映像檔內容的資料夾或目錄。

mkdir Recovery Mount

#接下來,使用以下命令掛載映像檔:

sudo mount—o loop recovery. img~/Recovery Mount

—o標誌指示選項,而循環選項用於將映像檔視為區塊裝置。

您現在可以存取圖像檔案的內容,如下面的螢幕截圖所示。

使用ddrescue在Linux上恢復數據

#要卸載區塊,請使用umount指令。

SUDO卸載~/恢復裝載

進階功能

要從特定點開始恢復,請使用—i標誌或—input—position。它應該以位元組為單位,預設為0位元組。這是很重要的,從一個特定的點恢復複製。例如,如果要從10 GB點開始複製過程,請使用下列命令。

sudo ddrescue—i10GiB/dev/sda imagefile. img logfile.log

為了定義輸入裝置的最大大小,將會使用—s標誌。 —s表示大小,也可以用作—size,單位為位元組。如果該工具無法識別輸入檔案的大小,請使用此選項來指定它。

Sudo ddreasure-s10GiB/dev/sda Imagefile.img日誌檔.log

—ask選項非常方便,因為它會在開始複製過程之前提示輸入和輸出區塊的確認。如前所述,系統動態地為區塊分配名稱,並且在重新啟動時更改名稱。在這種情況下,這個選項可能是有用的。

sudo ddrescue——ask/dev/sda imagefile. img logfile.log

#此外,下文列出了一些其他替代方法:

—R —反向 反轉複製的方向
—q —相當 取消所有輸出訊息
—V —冗長 更詳細地說,所有輸出訊息
—p -預先分配 為輸出檔案預先分配儲存空間
—P -資料預覽 最新讀取資料的顯示行預設為3行

ddrescue如何運作

#DDREASE使用了一個強大的恢復演算法,該演算法分為四個階段:

1.複製

2.修剪

3.刮

4.重試

ddrescue演算法的執行如下圖所示。

使用ddrescue在Linux上恢復數據

#結論

ddrescue是一個強大的復原工具,用於透過複製資料從損壞或故障磁碟機復原資料到另一個磁碟機。在預設套件管理器的幫助下,它可以毫不費力地安裝在任何Linux發行版上。在使用本指南中提到的這個工具之前,請注意重要的注意事項。複製資料的過程很簡單,卸載驅動器,並使用ddrescue命令與來源驅動器名稱和目標驅動器名稱。不要忘記使用日誌文件,因為它變得非常有用,恢復過程。

以上是使用ddrescue在Linux上恢復數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

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)

LayerZero、StarkNet、ZK生態預熱:空投紅利還能持續多久? LayerZero、StarkNet、ZK生態預熱:空投紅利還能持續多久? Jul 16, 2025 am 10:06 AM

空投紅利的持續時間不確定,但LayerZero、StarkNet和ZK生態仍具長期價值。 1. LayerZero通過輕量級協議實現跨鏈互操作性;2. StarkNet基於ZK-STARKs技術提供高效低成本的以太坊L2擴展方案;3. ZK生態(如zkSync、Scroll等)拓展零知識證明在擴容與隱私保護的應用;4. 參與方式包括使用橋接工具、交互DApps、參與測試網、質押資產等,旨在提前體驗下一代區塊鏈基礎設施並爭取潛在空投機會。

鏈上資金流向大曝光:聰明錢正在下注哪些新代幣? 鏈上資金流向大曝光:聰明錢正在下注哪些新代幣? Jul 16, 2025 am 10:15 AM

普通投資者可通過追踪“聰明錢”發現潛力代幣,其為高盈利地址,關注其動向能提供領先指標。 1.使用Nansen、Arkham Intelligence等工具分析鏈上數據,查看聰明錢的買入與持倉情況;2.通過Dune Analytics獲取社區創建的儀表板,監測資金流向;3.關注Lookonchain等平台獲取實時情報。近期聰明錢正佈局再質押與LRT賽道、DePIN項目、模塊化生態及RWA協議,如某LRT協議獲大量早期存款,某DePIN項目被持續積累,某遊戲公鏈獲產業金庫支持,某RWA協議吸引機構入場

比特幣、Chainlink、RWA共振上漲:加密市場進入機構邏輯? 比特幣、Chainlink、RWA共振上漲:加密市場進入機構邏輯? Jul 16, 2025 am 10:03 AM

比特幣、Chainlink與RWA的聯動上漲標誌著加密市場正轉向機構敘事主導。比特幣作為機構配置的宏觀對沖資產,為市場提供穩定基礎;Chainlink通過預言機和跨鏈技術成為連接現實與數字世界的關鍵橋樑;RWA則為傳統資本入場提供合規路徑。三者共同構建了機構入場的完整邏輯閉環:1)配置BTC穩定資產負債表;2)通過RWA拓展鏈上資產管理;3)依賴Chainlink建設底層基礎設施,預示市場進入由真實需求驅動的新階段。

加密貨幣行情網站有哪些 虛擬貨幣行情網址推薦 加密貨幣行情網站有哪些 虛擬貨幣行情網址推薦 Jul 17, 2025 pm 09:30 PM

在瞬息萬變的虛擬貨幣市場中,及時準確的市場行情數據至關重要。免費行情網站為投資者提供了一個便捷的途徑,能夠實時了解各種數字資產的價格波動、交易量、市值變化等關鍵信息。這些平台通常聚合了來自多個交易所的數據,用戶無需在各個交易所之間切換,即可獲得全面的市場概覽,這對於普通投資者而言,極大地降低了獲取信息的門檻。

鏈上資金流向變化:新資金正湧入哪些賽道? 鏈上資金流向變化:新資金正湧入哪些賽道? Jul 16, 2025 am 09:42 AM

當前最受新資金青睞的賽道包括再質押生態、AI與Crypto融合、比特幣生態系統復興和DePIN。 1)以EigenLayer為代表的再質押協議提升了資本效率,吸納大量長期資本;2)AI與區塊鏈結合催生去中心化算力及數據項目如Render、Akash、Fetch.ai等;3)比特幣生態通過Ordinals、BRC-20和Runes協議擴展應用場景,激活沉寂資金;4)DePIN通過代幣激勵構建現實基礎設施,吸引產業資本關注。

比特幣價格走勢APP有哪些 比特幣今日行情價格APP前五名盤點 比特幣價格走勢APP有哪些 比特幣今日行情價格APP前五名盤點 Jul 16, 2025 am 09:18 AM

想實時掌握比特幣價格變動,應選擇功能全面且適合自身需求的行情應用。本文推薦五款頂尖應用:1.Binance提供數十種技術指標和強大繪圖工具,適合中高級用戶;2.CoinMarketCap收錄數万種數字資產信息,適合需要宏觀數據的用戶;3.OK通過“信任分數”評估平台可信度,適合注重基本面的投資者;4.非小號擁有完善中文資訊體系,適合國內用戶;5.MyToken集成多種核心功能,適合追求效率的用戶。建議根據個人需求試用2至3款以做出最佳投資決策。

比特幣價格行情查看軟件app 實時查看免費行情網站 比特幣價格行情查看軟件app 實時查看免費行情網站 Jul 17, 2025 pm 06:45 PM

本文推薦了6款主流的比特幣價格行情查看工具。 1. 幣安(Binance)提供實時準確的數據及豐富的交易功能,適合各類用戶;2. 歐易(OKX)界面友好、圖表完善,適合技術分析用戶;3. 火幣(HTX)數據穩定可靠,操作簡潔直觀;4. Gate.io幣種豐富,適合同時追踪大量山寨幣的用戶;5. TradingView聚合多交易所數據,具備強大的圖表和技術分析功能;6. CoinMarketCap提供市場整體表現數據,適合了解比特幣宏觀行情。

如何設置止損止盈?加密貨幣交易風控實戰技巧 如何設置止損止盈?加密貨幣交易風控實戰技巧 Jul 17, 2025 pm 07:09 PM

加密貨幣交易中,止損和止盈是風險控制的核心工具。 1. 止損用於在價格下跌至預設點位時自動賣出,防止虧損擴大;2. 止盈用於在價格上漲至目標點位時自動賣出,鎖定利潤;3. 設置止損可採用技術支撐位法、固定百分比法或波動率參考法;4. 設定止盈可依據風險回報比法或關鍵阻力位法;5. 高級技巧包括移動止損和分批止盈,以動態保護利潤並平衡風險,從而實現長期穩定的交易表現。

See all articles