使用帶有 USB 外殼的 ddrescue 的後續問題
我無法恢復我最初提出問題的其他帳戶,所以我希望我可以在這裡提出一些後續問題
我正在尋找使用 ddrescue 複製我用來啟動的故障驅動器,以恢復我擁有的所有應用程序/設置等。我打算在 ubuntu live usb 上執行 ddrescue,將故障驅動器連接到電腦的 SATA 介面,然後通過 USB 外殼將所有內容複製到新驅動器
從@Kamil Maciorowski 的回答來看,似乎存在一些微妙的問題,但是 USB 外殼可能會報告錯誤的物理扇區大小。如果在我通過 USB 外殼寫入新磁碟時發生這種情況,那麼我可能無法從它啟動,因為
副本中的分區表與目標磁碟使用的邏輯扇區大小不對應。
如果是這種情況,建議不要將故障驅動器直接複製到新驅動器上,而是將故障驅動器複製到新驅動器分區中的映像文件中。如果我這樣做,那麼即使目標磁碟的邏輯扇區大小與分區表中列出的不同,我仍然可以掛載映像文件
我的問題是
- 如果要複製到映像文件,在掛載映像後,是否可以創建一個新的可引導分區並將映像文件寫入其中,以便從分區啟動?(因此,如果我直接寫入磁碟,則可以解決分區表的問題)。或者,有什麼方法可以啟動圖像文件?
- 有沒有辦法檢查/進行測試以查看 USB 外殼是否有報告錯誤物理扇區大小的怪癖?
- 如果我在啟動時通過 SATA 電纜連接源磁碟,如何在啟動時保持源磁碟解除安裝
- 對與 ddrescue 一起使用的集群大小有什麼建議嗎?
- 還提到如果我要直接複製到目標驅動器(而不是複製到圖像文件),那麼我可能需要在之後修復他的輔助 GPT
如果是 GPT,那麼您將需要修復輔助 GPT。來自源磁碟的輔助 GPT 副本現在位於目標磁碟中間的某個位置;通常它應該在最後。並且可能在 /dev/sdc 中有一個舊的輔助 GPT,與副本無關。
僅當目標硬碟驅動器不是全新的並且恰好上面已經有輔助 GPT 時才會發生這種情況嗎?如果我使用的是新購買的目標驅動器,我不必擔心嗎?
關於輔助 GPT:是的,即使新驅動器尚未包含現有 GPT,問題仍然存在,除非新驅動器與源驅動器具有完全相同的大小,這不太可能。輔助 GPT 必須位於驅動器的末尾,如果您將源驅動器的映像複製到較大目標驅動器的開頭,包括輔助 GPT,它不會在驅動器的末尾結束.
創建圖像文件是解決不同邏輯扇區大小問題的一種方法。這是另一個想法:在開始複製之前,使用 fdisk 或 gdisk 在目標設備上重新創建分區表。您不必製作精確的副本,只需製作一個與您要複製的分區大小相同的分區即可,並且磁碟上的位置(起始扇區)也無關緊要。然後,無需複制整個磁碟,只需將源分區內的數據複製到目標分區即可。
例如,假設源磁碟是
/dev/sda
,您要複製的分區是/dev/sda1
. 如果機箱中的目標磁碟是/dev/sdb
,則創建一個分區表和一個/dev/sdb1
與 具有相同大小的分區/dev/sda1
。然後,與其嘗試從/dev/sda
to複製,不如從to/dev/sdb
複製。/dev/sda1``/dev/sdb1
編輯:此解決方案消除了輔助 GPT 的問題,您無需處理圖像文件。然而,邏輯扇區大小不匹配的潛在問題仍然存在。分區表的結構取決於扇區大小。如果不匹配,則在從機櫃中取出時無法使用在機櫃中分區的磁碟,反之亦然。您可以在機箱中對磁碟進行分區,並將文件複製到分區(包括上述映像文件),但磁碟在機箱外不可用,除非重新分區。
您可以使用檢查磁碟的扇區大小
sudo blkid /dev/XXX -o NAME,LOG-SEC
。