在 LINUX 中:使用 dd 將 2TB HDD 上的縮小分區傳輸到 500GB SSD
一個源 HDA(2TB 機械 HDD)上有 5 個分區 (GPT),用於佔用 2TB HDA 的全部容量。
源驅動器上的作業系統是Windows 10。
由於大部分“數據”分區是未使用的儲存空間,並且佔用了 1.5TB 的驅動器容量,因此使用 gparted 將其縮小到大約 350GB,並使用“按鈕恢復”分區(在源 HDA 上方)向下移動以與數據分區連續。
源 HDA 的最終狀態是 5 個分區在 2TB HDA 上佔用不到 400GB,驅動器上的多餘儲存空間為未分配空間。
建議的目標設備是三星 500GB SDD,目前處於未分配狀態(未定義分區且未將引導結構寫入驅動器)。
假設:
我可以使用 dd(bs=1M,未指定計數參數)直接從源設備寫入目標設備,因為源設備上的聚合分區大小小於目標設備的容量;並且在目標設備上產生的未分配空間中只有一個異常情況,傳輸後。
通過將“按鈕恢復”分區重新定位到驅動器空間的上端,並擴大數據分區以填充目標設備上未分配空間的剩餘部分,使用 gparted 來解決目標設備的這個異常未分配區域應該可以工作並且給我一個可啟動的設備。
問題:
除非我被其他人(如家庭成員)逼到角落,否則我不會修補 Windows 系統,所以我在處理這種情況時沒有太多的直覺;那麼,在我浪費時間做這件事之前,有人能明白為什麼這會產生一個不可啟動的目標 SSD 嗎?
# # # # # 更新 # # # # #
好的….我正在跟進這件事——只是為了讓其他人知道在這種特殊情況下最終是什麼:
Partition arrangement on the source HDD: Partition FS Label Size Flags /dev/sdg1 ntfs Recovery 600 MiB hidden, diag /dev/sdg2 fat32 ESP 300 MiB boot, esp /dev/sdg3 unknown 128 MiB msftres /dev/sdg4 NTFS User Data Space 350 GiB msftdata /dev/sdg5 NTFS Push Button Reset 16.61 GiB hidden, diag Unallocated -- -- 1.5 TiB -- Partition arrangement on the target SSD: Partition FS Label Size Flags /dev/sdh1 ntfs Recovery 600 MiB hidden, diag /dev/sdh2 fat32 ESP 300 MiB boot, esp /dev/sdh3 unknown 128 MiB msftres /dev/sdh4 NTFS User Data Space 448.15 GiB msftdata /dev/sdh5 NTFS Push Button Reset 16.61 GiB hidden, diag
花費了大量時間嘗試各種方法來解決手頭的問題,但結果並不令人滿意。
由於分配的時間即將到期,安裝的作業系統恢復工具用於創建“恢復”媒體,並對安裝在主機系統中的 SSD 執行作業系統恢復。
兩個驅動器都連接到基於 Debian 8.5 的電腦上,partclone_0.2.73-2+b1 (partclone.ntfs) 用於將使用者數據分區從源 HDD 寫入目標 SSD。(/dev/sdg4 到 /dev/sdh4)
雖然首選與 Windows 無關的解決方案,但此方法生成的可引導目標 SSD 具有完整的所有原始使用者數據,並且避免了分區表之間的不匹配。
有關 partclone 的資訊可以在以下位置找到:
https://packages.debian.org/jessie/admin/partclone
好的….按照 Kusalananda 的建議,我已經分享了在這種情況下對我有用的東西,作為對我原來文章的更新,並且將避免重複我在這個空間中輸入的內容。
看起來,如果無法隨時訪問或創建、恢復媒體的方式不可用,則上面詳述的方法將不容易實施。所以這種方法的效用是不言而喻的;但它確實解決了手頭的問題。