1. 程式人生 > >Win7+Ubuntu雙系統結構下,Ubuntu克隆至新硬碟,啟動成功 Linux下檢視硬碟UUID和修改硬碟UUID(轉)

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次。

源分割槽在前,目標分割槽在後;......經過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出了問題。

歡迎指正和補充。。。