使用ddrescue在Linux上恢復數據
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指令可以恢復整個區塊(包含MBR和分割區)或分割區。另一方面,如果您只需要從特定分區恢復特定的文件,那麼最好恢復分區而不是整個區塊。
重要的考慮因素
#在使用ddue實用程式之前,應該先考慮一些非常關鍵的問題:
- 請勿嘗試復原已載入的資料區塊,該資料區塊甚至不應處於唯讀模式。
- 請勿嘗試修正出現I/O錯誤的資料塊。
- 系統可以在重新啟動時變更輸入和輸出裝置名稱。在開始複製程序之前,請確保設備名稱正確。
- 如果使用單獨的區塊作為輸出設備,則設備上的所有資料都將被覆蓋。
使用ddrescue
#安裝ddrescue實用程式並了解命名約定後,下一步是識別故障磁碟並使用ddrescue工具進行復原。
修復損壞的區塊
第一個範例將包含恢復整個區塊的過程。首先,使用lsblk指令列出區塊:
lsblk—o Name,Size,FSTYPE
—o標誌用於指定命令應輸出哪種類型的資訊(欄位)。我已經提到了名稱、大小和FSTYPE或檔案系統類型。
#現在,您可以確定目標區塊、分割區和位置,以儲存已拯救的映像檔。
另一個需要注意的重要事情是,在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。
#恢復時間取決於輸入區塊的大小和損壞。如果要恢復大型資料塊,我建議使用日誌文件,因為該過程可能需要幾個小時甚至幾天的時間才能完成。
上述指令的輸出如下:
#在輸出映像中,ipos是輸入檔案的輸入位置,從那裡開始複製,opos是輸出檔案上寫入資料的輸出位置。
非嘗試是區塊的大小沒有等待嘗試。獲救者表示成功恢復的區塊的大小。被拯救的pct表示成功恢復了資料的百分比。術語,非修剪,非報廢,壞扇區和壞區域是不言自明的。但是,讀取錯誤術語以數字表示失敗的讀取嘗試。
運行時間顯示工具完成過程所花費的時間,而剩餘時間則是完成恢復過程所剩餘的時間。上面的輸出顯示剩餘時間為0,因為進程已經完成,請在下面的未完成進程的圖像中讀取輸出。
#讓我們看看在日誌文件中得到了什麼;要打開生成的日誌文件,請使用vim recovery.log命令。
#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標誌指示選項,而循環選項用於將映像檔視為區塊裝置。
您現在可以存取圖像檔案的內容,如下面的螢幕截圖所示。
#要卸載區塊,請使用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命令與來源驅動器名稱和目標驅動器名稱。不要忘記使用日誌文件,因為它變得非常有用,恢復過程。
以上是使用ddrescue在Linux上恢復數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

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

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

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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