將內部 HDD 克隆到新 SSD

將內部 HDD 克隆到新 SSD

我最近在我的機器上安裝了 SSD。這台機器本身是聯想thinkpad W520,之前有內建硬碟。我將內部 HDD 移至擴充托架中(取代 CD-ROM),並將新 SSD 放入內部托架中。

我遇到的問題是我的 Ubuntu 配置完全按照我想要的方式進行 - 我最初花了很多時間來配置它以使其達到現在的方式。我寧願不再這樣做。但是,我還希望從 SSD 上的作業系統中獲得啟動增益。

所以,我想做的是將我的 Ubuntu 分割區複製到 SSD 上。問題是標準 HDD 比 SSD 大得多。它有一個我在 SSD 上不需要的 Windows 分割區(我從不使用 Windows,所以如果它從另一個硬碟啟動,那就沒問題)。我的硬碟佈局如下:

/dev/sda (SSD): 型號:ATA M4-CT256M4SSD2 (scsi) 磁碟 /dev/sda:256GB 磁區大小(邏輯/實體):512B/512B 分割表:msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  147GB  147GB  primary  ext4         boot

/dev/sdb (HDD): 型號:ATA ST9500420AS (scsi) 磁碟 /dev/sdb:500GB 磁區大小(邏輯/實體):512B/512B 分割表:msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  1259MB  1258MB  primary   ntfs            boot
 2      1259MB  269GB   268GB   primary   ntfs
 4      269GB   483GB   214GB   extended
 5      269GB   416GB   147GB   logical   ext4
 7      416GB   475GB   58.9GB  logical   linux-swap(v1)
 6      475GB   483GB   8470MB  logical
 3      483GB   500GB   16.8GB  primary   ntfs

到目前為止我嘗試過的:

1) 將分割區 /dev/sdb5 和 /dev/sda1 調整為相同大小。 2)引導到Ubuntu 11.04(從/dev/sdb5)並運行dd if=/dev/sdb5 of=/dev/sda1(當然這會導致引導問題,所以我必須重新安裝grub..我可以得到它啟動,但後來我遇到了initrd 找不到某些文件的問題......大概它無法加載我認為的某些分區)。

現在,我認為這兩個步驟是錯誤的方法,因為它將完全克隆 /dev/sdb5 - 包括 fstab 中指向錯誤硬碟的參考。我不確定如何糾正這個問題。我可以將 Ubuntu 11.04 安裝到 SSD 上,然後嘗試複製我的所有配置,但我擔心我會丟失一些東西,或者我會覆蓋像 fstab 這樣指向原始的東西硬碟。

請注意,目前,我仍然可以從 HDD 啟動,因此我不必立即弄清楚這一點,但我確實希望它完全是現在的樣子,以便我可以保持當前的生產力水平(這是一台工作筆記型電腦)。

關於我如何克服這個困難的建議?

先致謝!

答案1

有不止一種方法可以完成將舊系統轉移到新驅動器上,但您並沒有真正這樣問,您問的是如何複製系統。

我自己會使用 Live CD 中的 gparted,因此兩個分割區都不會安裝。您可以將原始分割區縮小到您希望其在 SSD 上的大小,然後將該分割區複製並貼上到新磁碟機。如果我沒記錯的話,這將重複使用相同的 UUID,但您可以隨後在一個或另一個分割區上更改它。此指令是sudo tune2fs -U random /dev/sdb5為 sdb5 指派 UUID。

如果您不想變更舊系統,並且希望將其保持安裝一段時間,則可以變更 SSD 分割區的 UUID,然後編輯 fstab。事實上,這並不難,而且是你應該學習的東西。對於擁有您似乎已經掌握的知識的人來說,這是非常不言自明的。一旦分配了新的 UUID,您就可以使用此命令查看所有內容:sudo blkid -c /dev/null- 參數 -c 指定緩存文件,/dev/null 表示不使用緩存,因此您總是會立即獲得任何更改。我總是使用這種形式,除非你有很多的分區。

獲得 UUID 後,您可以使用 gedit 或您喜歡的任何文字編輯器將其複製並貼上到 /etc/fstab 中的舊 UUID 上。

不過,就我個人而言,我不會先花時間調整分割區大小,而是簡單地將舊安裝複製到新磁碟。如果您不知道如何將 GRUB 安裝到 mbr,您可能需要先安裝基本 Ubuntu,然後備份 /etc/fstab,將舊安裝複製到其上,然後從新安裝複製 fstab,這樣就可以了只有正確的條目。

答案2

從 livecd 啟動,安裝兩個驅動器,然後只需將檔案複製到sudo cp -ax /media/source /media/dest.編輯目標上的 /etc/fstab 以指向正確的 UUID(使用 尋找blkid),然後重新安裝 grub。

答案3

dd if=/dev/sdb5 of=/dev/sda1如果您的系統是自行運作的/dev/sdb5(並且可能不是以唯讀方式安裝的),我建議避免使用。

另一種複製分割區的方法是從 Live CD(或 USB)啟動並啟動 GParted。您可以使用 Ctrl+C/Ctrl+V 將分割區從一個磁碟複製到另一個磁碟。

製作副本後(也許在重新啟動後需要刷新分割表),仍然從 Live CD 中,使用終端掛載新的根分割區:

sudo mount /dev/sda1 /mnt

然後,編輯/mnt/etc/fstab以指向正確的位置。

答案4

bash 腳本clone-ubuntu.sh自動執行已接受答案概述的步驟。提供了一個選單以使新分區易於找到:

克隆-ubuntu.png

請訪問上面的鏈接,獲取腳本副本以及需要考慮的要點,例如:

  • rsync用於克隆啟動分區,系統虛擬目錄被正確跳過。
  • /etc/fstab使用正確的 UUID 更新目標複製以進行引導。
  • /etc/grub/grub.cfg已更新以實現無縫 grub 引導。

相關內容