在新電腦上安裝 Ubuntu,將現有 HD 與使用者檔案一起傳輸

在新電腦上安裝 Ubuntu,將現有 HD 與使用者檔案一起傳輸

我正準備買一台新電腦。顯然我將在其上安裝 Ubuntu 16.04 :P

在我看來,我有以下遷移到新電腦的計劃。我想知道這是多麼容易/明智的建議:

我將購買一台帶有 SSD 但沒有傳統硬碟的新電腦。我們的想法是在 SSD 上安裝 Ubuntu。但是,我還想從我的舊電腦安裝硬碟。

我們的想法是將 Ubuntu 系統檔案放在 SSD 上,同時保留舊電腦硬碟上的所有內容(即使用者檔案),而無需執行複雜的複製/重新格式化過程。

我想可能需要一些非標準配置(即在舊硬碟上安裝“/home”)。

我以前安裝過 Ubuntu,但只使用預設選項。我還應該說現有的硬碟是一個分割區,並且有ubuntu 系統檔案以及/home,但我想在完成安裝後我可以簡單地從磁碟中刪除舊的Ubuntu 系統內容(...即除了「之外的所有內容” /家”?

這有多容易實現?有什麼陷阱需要注意嗎?

答案1

首先確保您擁有所有重要文件的可靠備份!

確保新系統上的使用者 ID (UID/GID) 與舊系統上的使用者 ID 相匹配,這樣您就不必更改舊 /home 目錄中所有檔案的所有權(getent passwd <username>將為您提供資訊)。在較新的 Ubuntu 系統中,新用戶的 UID 將從 1000 開始。

由於舊的 /home 目錄不是一個分割區,而是一個目錄,因此您無法將舊的分割區(例如 /dev/sdb1)掛載到新的 /home 上並完成。但透過一些手動修正,這並不是那麼困難。

假設當您在 SSD 上安裝新的 Ubuntu 時連接舊磁碟,一種可能的方法是:

假設新的 SDD 位於 /dev/sda 上,舊磁碟位於 /dev/sdb 上。照常開始安裝 Ubuntu(從 CD 或 USB),直到磁碟分割。也許安裝程式會告訴您已經安裝的分割區;讓它為你卸載它們。

在即將出現的對話方塊中選擇“手動”以覆蓋分區中的預設值。然後選擇新的磁碟(注意選擇正確,這裡應該是sda1,不過可以根據磁碟的大小來確定)。如果還沒有分區表,請讓安裝程式建立一個。然後選擇“可用空間”,然後選擇“自動分割可用空間”。現在您將在 /dev/sda 上獲得兩個新分割區(/ 和 swap)。讓它們保持原樣。

然後選擇資料所在舊磁碟上的分割區(通常是 sdb 上的主分割區,ext4 格式)。在分割區設定中,選擇「用作」並選擇磁碟上已有的檔案系統(通常是 ext4)。

現在在分割區設定中確保在選項「格式化分割區:」中否,保留現有數據”被選中。否則您可能會丟失所有資料!

選擇“安裝點”,然後在出現的對話方塊中選擇“/home”。然後選擇“完成分區設定”。您將返回到分區對話框;這裡你應該再次徹底控制分區。到目前為止,尚未對磁碟進行任何操作。如果一切符合預期,請選擇“完成分割區並將變更寫入磁碟”,然後再次控制建議的操作後,對“將變更寫入磁碟?”說“是”。這會影響您的磁碟,所以最好先看兩次!您的舊磁碟分割區一定沒有格式化!

在安裝過程結束時,您將被詢問在哪裡安裝引導程式。選擇您的 SSD (/dev/sda)。也會有一個 GRUB 選單,讓您選擇並啟動舊系統(只要它沒有從磁碟中刪除)。

完成安裝過程並登入新系統後,您的舊「/」將被安裝到/home,並且對於您建立的使用者來說,將有一個新的子目錄。另外,舊系統的所有目錄都將作為子目錄存在,而舊的 /home 將作為 /home/home 存在。現在sudo mv /home/home/<username> to /home/<username>(或如果有多個用戶,sudo mv /home/home/* /home)就完成了。

如果您在安裝過程中建立的預設使用者與您的舊使用者之一具有相同的名稱(因此主目錄的名稱也相同),則該使用者將無法執行此操作,因為存在一個具有相同名稱的新使用者目錄創建的。因此,最好使用不同的名稱建立預設用戶,並在行動用戶的主頁後修正此問題。我還假設您沒有以 /bin、/tmp、/usr...等系統目錄命名的用戶,因為舊系統的這些目錄仍然存在於 /home 中。如果一切正常,您可以稍後(重新)移動它們。

這種方法還有一個額外的問題:您將重複使用所有舊的使用者設定(如 .cache、.config 等)。也許會出現一些奇怪的行為,尤其是在使用 GUI(如 unity、gnome 等)和新版本軟體時。

相關內容