Win7+Ubuntu雙系統結構下,Ubuntu克隆至新硬碟,啟動成功 Linux下檢視硬碟UUID和修改硬碟UUID(轉)
- 前言梗概:
750GB 機械硬碟下安裝 Win7 和 Ubuntu雙系統,之前Win7單獨重灌後,將grub引導覆蓋;利用EasyBCD恢復Ubuntu啟動。
最近發現之前Ubuntu分配空間太小,想將其安裝到一個大一點的SSD(固態硬碟)上。
Ubuntu情況如下,
- /dev/sdb8為swap分割槽
- /dev/sdb9 為/boot分割槽
- /dev/sdb10為/ 分割槽
- /dev/sdb11為/home分割槽
所以,任務是將4個分割槽克隆到更大的SSD硬碟。
1、新硬碟分割槽
使用原有系統GParted對分別分配4個分割槽,且保證空間大小均比原有空間大。
2、克隆CloneZilla
克隆常見方法有:dd命令和再生龍 (CloneZilla)。這裡採用CloneZilla方法。
下載地址:http://www.clonezilla.org/downloads.php,
ubuntu系統,我下載了 alternative stable - 20180812-bionic 版本。利用UltraISO製作成U盤啟動盤。
操作文件比較詳細:http://www.clonezilla.org/clonezilla-live-doc.php
按照文件操作,使用Device To Device 選項,依次將4個分割槽複製到新硬碟對應的4個分割槽(此處危險:請看清楚 源分割槽和目標分割槽,否則後果自負。
源分割槽在前,目標分割槽在後;......經過4次 ,克隆完成。
3.修改uuid
這時,原有系統UUID和grub均複製到新硬碟,此時系統處於三系統(win7+ubuntu12.04+ubuntu12.04)雙硬碟結構(機械硬碟+SSD固態),如果UUID相同是沒法識別新硬碟的分割槽的。
使用命令,建立分割槽新的uuid
sudo uuidgen | xargs tune2fs /dev/sda5 -U
詳細參照:https://www.cnblogs.com/EasonJim/p/7471681.html(Linux下檢視硬碟UUID和修改硬碟UUID(轉))
修改 /etc/fstab 和 /boot/grub/grub.cfg中uuid的新分割槽的uuid。
4.引導和啟動
啟動遭遇失敗:
1、直接無法啟動,grub Error 15; 網上說原因是 grub沒有找不到 grub.cfg。
1、使用ubuntu live cd 進行恢復grub ,啟動仍然是grub>命令。
2、出現解決Grub Rescue: invalid arch independent ELF magic問題;發現是下載Ubunt系統中預設 是grub-efi-amd64 庫,而我是BIOS引導,因此先移除之。
sudo apt-get remove grub-efi-amd64 #移除grub-efi
sudo apt-get install grub-pc #安裝普通grub
但是結果仍然不能登入。
重要軟體登場:
super Grub2 disk 是極好的引導工具,只適用於BIOS引導,EFI引導的請移步。
下載地址:https://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/
仍然利用UltraISO製作 U盤;
注意:刻盤時預設方式是RAW,這個不要修改為HDD+什麼的,否則U盤很可能不能啟動成功。
此時U盤不能正常讀取,會提示“格式化” ,可以忽略。
【U盤恢復】: 當用完之後,採用HDD+模式再寫一次,windows自帶格式化即可。
5、永久性儲存啟動引導——待完善
啟動super Grub2 disk。它會自動掃描全盤的引導配置,列出所有的引導選單,這時發現之前熟悉的ubuntu選單,點選進入看到久違的熟悉面容。(此處欣喜不已,連幹三杯,爽歪歪!!)。
- 為了儲存永久性啟動引導,參考:https://blog.csdn.net/bensnake/article/details/39480271
mkconfig
,從 Linux 命令提示符生成一個新的 grub.cfg 檔案:grub-mkconfig -o /boot/grub/grub.cfg
如果您的問題是 GRUB 僅顯示了一個
grub>
提示符或完全未啟動,那麼您必須將 GRUB 重新安裝到您硬碟上:grub-install /dev/sda
但是最終未能成功,從SSD載入登入系統,提示grub>.
- grub原理待研究,應該是stage1、stage1_5、stage2,應該是stage1_5出了問題。
歡迎指正和補充。。。