搜尋
首頁電腦教學電腦知識使用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刪除
Zlib1.dll缺少或找不到錯誤?用簡單的動作修復 -  MinitoolZlib1.dll缺少或找不到錯誤?用簡單的動作修復 - MinitoolApr 16, 2025 am 12:52 AM

什麼是zlib1.dll?有些人遇到“ zlib1.dll丟失”錯誤或zlib1.dll試圖打開包含zlib1.dll的應用程序時找不到錯誤。為了解決這些相關錯誤,PHP.CN網站上的這篇文章可以為您提供一些我

Autofill在Excel中不起作用嗎?這是修復程序! -  MinitoolAutofill在Excel中不起作用嗎?這是修復程序! - MinitoolApr 16, 2025 am 12:51 AM

你們中有些人可能會發現自動填充沒有在Excel中工作。您能提出任何解決方案嗎?如果沒有,那麼您就會到達正確的位置。 PHP.CN網站上的這篇文章將為您提供6種方法來解決Excel Autofill無法正常工作的方法。

Windows 7 Starter Edition:這是什麼?如何下載? -  MinitoolWindows 7 Starter Edition:這是什麼?如何下載? - MinitoolApr 16, 2025 am 12:50 AM

什麼是Windows 7 Starter版本? Windows 7 Starter版的局限性是什麼?如何獲得Windows 7首發版ISO?來自PHP.CN的這篇文章為您提供了有關Windows 7 Starter Edition的詳細信息。

使用此頂部指南在Windows中以其他用戶的方式運行應用程序使用此頂部指南在Windows中以其他用戶的方式運行應用程序Apr 16, 2025 am 12:49 AM

運行應用程序時,您是否通過登錄目前然後登錄另一個應用程序來更改帳戶感到困擾? PHP.CN收集了一些有效的方法來幫助您在Windows 10和Windows 11中作為其他用戶運行應用程序。

修復:Dropbox下載您的文件有錯誤修復:Dropbox下載您的文件有錯誤Apr 16, 2025 am 12:48 AM

您是否患有“ Dropbox下載文件的錯誤下載您的文件”錯誤?現在閱讀PHP.CN發表的這篇文章,以獲取有關此問題的一些有用解決方案。

修復所選文件的5種方法未在文件資源管理器中突出顯示-Minitool修復所選文件的5種方法未在文件資源管理器中突出顯示-MinitoolApr 16, 2025 am 12:47 AM

您是否對“所選文件在文件資源管理器中未突出顯示”的問題感到困擾?您知道如何解決嗎?如果沒有,您可以在PHP.CN上閱讀此帖子,以獲取幾個可行解決方案,以使所選文件在文件資源管理器中可見。

修復任務欄中缺少語言欄 - 經過驗證的指南修復任務欄中缺少語言欄 - 經過驗證的指南Apr 16, 2025 am 12:46 AM

如果您使用多語言,語言欄是必不可少的。您可以通過從任務欄調整設置來更改輸入語言。但是,當您打開計算機時,語言條可能有一天會消失。如何修復語言欄丟失

如何將外部驅動器連接到Android手機或平板電腦? -  Minitool如何將外部驅動器連接到Android手機或平板電腦? - MinitoolApr 16, 2025 am 12:45 AM

是否想使用外部驅動器來擴展手機的存儲空間?可以這樣做。此php.cn帖子向您展示瞭如何將外部驅動器連接到手機的指南。此外,如果您需要從外部驅動器中恢復數據,則可以嘗試PHP

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用