
我有一個 Ubuntu 盒子,目前在舊的 500GB HDD 上運行。
當我拿到一個 240GB SSD 並且 HDD 僅被部分使用(使用了 10%)時,我決定將 HDD 克隆到 SSD。
由於 HDD 比 SSD 大,我對其進行了碎片整理,並將其資料分割區大小調整為 240GB 以下。此後系統仍然正常工作並啟動。
由於 SSD 位於 100% Windows 機器上,因此它有一個MBR
分割表,我用分割表替換了它gpt
。然後我建立了兩個與 HDD 中的分割區大小相同的分割區。
然後我使用另一個 Ubuntu 可啟動 USB 啟動 PC 並發出以下兩個dd
命令:
sudo dd if=/dev/sda1 of=/dev/sdd1 status=progress
sudo dd if=/dev/sda2 of=/dev/sdd2 status=progress
一切都很順利,沒有錯誤,但最後電腦拒絕從 SDD 啟動。
分割區 /dev/sdd2 似乎已正確克隆,因為當我從 /dev/sda 或可啟動 USB 啟動時可以掛載它。但我注意到 /dev/sda2 中的已使用空間比 /dev/sdd2 中的已使用空間大。我懷疑這是由於從它啟動而產生的任何臨時文件和設備造成的。
我嘗試在沒有連接任何其他磁碟的情況下從 SSD 啟動,但我得到的只是當 PC 啟動時,它會直接進入 BIOS/EFI 選單。
知道為什麼我的 SSD 拒絕啟動嗎?
答案1
最近,我將雙啟動(Windows 10 + Ubuntu 20.04)從 HDD 複製到新的 M.2 NVMe SSD 後遇到了 Ubuntu 無法啟動的問題。 Windows 啟動正常,但 Ubuntu 只顯示 Grub shell。
正如這裡和其他一些論壇所推薦的那樣,我使用了Ubuntu Boot-Info 工具,該工具顯示問題是,在克隆過程中,GRUB 安裝在分區1 中,而不是我的Ubuntu 安裝所在的分區7 中。所以我使用了 Ubuntu 開機修復工具,將 GRUB 重新安裝到了正確的分割區中,瞧!
答案2
由於目標磁碟比原始磁碟小,因此需要複製各個分割區來複製原始磁碟。然而,經過幾條評論後,我最終意識到複製單一分割區不會複製引導記錄。
為了解決這個問題,我最終使用了應用程式啟動修復(help.ubuntu.com/community/Boot-Repair)