如何在重新安裝中重新指向主分割區

如何在重新安裝中重新指向主分割區

我決定重新安裝 Kubuntu(我嘗試了許多不同的 Ubuntu 類型)以獲得一個乾淨的作業系統。

我有一個用於 Windows (NTFS) 的分割區,另一個用於家庭 (ext4),第三個用於 Kubuntu 作業系統 (ext4),以及交換分割區。

但是,新安裝在 下方建立了一個新的主目錄/,那麼我如何指向/home舊的獨立主分割區來存取我的檔案呢?

答案1

官方答案記錄在https://help.ubuntu.com/community/Partitioning/Home/Moving,我將從中提取您尚未完成的事情。可以複製下面看到的命令,然後切換到 shell 提示符號並將它們貼上到Ctrl-Shift-V

1) 尋找分割區的 UUID:可以透過開啟命令列(或 shell 提示字元)找到所有分割區的 UUID(通用唯一識別碼)引用,然後鍵入以下內容以建立包含所有 UUID 清單的檔案:

blkid > uuid-list.txt && cat uuid-list.txt

2) 備份和編輯系統表:這是 Kubuntu 用於決定在啟動時掛載哪些分割區的檔案。以下命令(也是從 shell 提示字元執行)將複製目前的 fstab,將年月日附加到檔案名稱末尾,比較兩個檔案並開啟原始檔案進行編輯。

2A) 複製您的 fstab 檔案:

sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

2B) 比較兩個檔案以確認備份與原始檔案相符:

cmp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

3) 在 shell 提示字元下在文字編輯器中開啟原始 fstab:

gksu kate /etc/fstab

並將這些行添加到其中

# (identifier) (location, eg sda5) (format, eg ext3 or ext4) (some settings)
UUID=???????? /media/home ext4 defaults 0 2

並替換“?????????”與您想要的 /home 分割區的 UUID 號碼。

4) 儲存並關閉 fstab 文件,然後在 shell 提示字元下鍵入以下命令:

sudo mkdir /media/home

此命令會建立一個新目錄,稍後用於臨時掛載新分割區。在該過程結束時可以刪除該目錄。

5) 現在使用以下 shell 提示命令重新載入更新的 fstab 檔案:

sudo mount -a

將所需的主新分割區安裝為/media/home。我們稍後將再次編輯 fstab,因此分區的這種安排只是暫時的。

6) 將 /home 複製到新分割區: 接下來,我們將目前 /home 目錄中的所有檔案、目錄和子目錄複製到新分割區:

sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.

--exclude='/*/.gvfs' 可以防止 rsync 抱怨無法複製 .gvfs,即使 rsync 抱怨,它也會複製其他所有內容。 (有關更多詳細信息,請參閱http://ubuntuforums.org/showthread.php?t=791693

7) 檢查複製是否有效:您現在應該擁有主目錄中所有資料的兩個副本;原始檔案位於 /home 中,新副本位於 /media/home 中。您應該確認所有檔案和目錄都已成功複製。一種方法是使用 diff 指令:

sudo diff -r /home /media/home

8)為交換器準備fstab:我們現在需要再次修改fstab以指向新分割區並將其掛載為/home。再次在命令列上

gksu kate /etc/fstab

現在編輯您之前添加的行,將“/media/home”部分更改為簡單地說“/home”,使其看起來像這樣:

# (identifier) (location, eg sda5) (format, eg ext3 or ext4) (some settings) UUID=???????? /home ext4 defaults 0 2

然後,按“儲存”,關閉文件,但暫時不要重新啟動。

9) 將 /home 移至 /old_home:最好立即備份您的舊主目錄,以防萬一事情進展不順利。具體方法如下:

只要您尚未重新啟動,您仍然會看到 /home 目錄的 2 個副本;新分割區位於新分割區(目前安裝為 /media/home),而舊分割區仍位於其所在的相同分割區(目前安裝為 /home)。我們需要將舊主目錄的內容移開,並建立一個空的「佔位符」目錄作為新分割區的掛載點。

輸入以下命令字串即可立即完成所有這些操作:

cd / && sudo mv /home /old_home && sudo mkdir /home

預設情況下,當您開啟終端機視窗時,它會將您置於主目錄中。輸入 cd / 會將我們帶到根目錄並離開主目錄,因此我們可以使用 sudo mv 指令將 /home 重新命名為 /old_home,最後建立一個新的空白 /home 佔位符。

現在編輯 fstab 以將新分區安裝到我們的 /home 佔位符,並且原始 /home 現在稱為 /old_home,重新載入更新的 fstab

sudo mount -a

10) 刪除舊主目錄:您可以使用下列指令刪除舊主目錄:

cd / sudo rm -r /old_home

請小心使用上述命令,因為輸入錯誤可能會導致刪除其他檔案和目錄。

答案2

您需要更改 fstab 檔案以指向主分割區。為此,請執行以下操作。

打開終端機並輸入sudo blkid

記下要用作 /home 目錄的分割區的 UUID。

現在透過鍵入編輯 fstab 檔案sudo nano /etc/fstab並在其中新增一個條目,如下所示

UUID=_____ /home ext4 nodev,nosuid 0 2

使用您之前記下的分割區的 UUID 填寫空白。

現在輸入以下內容

cd / && sudo mv /home /home_old && sudo mkdir /home

這會將目前的 /home 目錄移到 /home_old 並建立空白的 /home 目錄。重新啟動系統,您應該能夠使用 ext4 分割區作為新的 /home。

如果你不想重新啟動,一個簡單的sudo mount -a方法就可以了。

警告語:所有使用者等級設定都儲存在/home目錄中。因此,執行上述操作將重設您可能已完成的所有設定。

相關內容