硬碟空間不夠了,所以我跑去買了新硬碟。買完之後就要把原先在舊硬碟的 Arch Linux 系統搬到新硬碟。舊硬碟有兩個磁區(分割區),一個是開機磁區,另一個是存放 Arch Linux 系統與資料的資料磁區。資料磁區就直接移過去就好,沒什麼好說的。開機磁區也是可以直接複製過去,不過我選擇重建開機磁區。
重建開機磁區
要重建開機磁區,可以參考安裝指南,要做的是這兩個步驟:建立 initramfs 跟安裝 boot loader。
前置作業
首先用 Arch Linux 的安裝 USB 開機,然後把需要的磁區掛載到 /mnt
:
接著變換根目錄:
建立 initramfs
只要執行 mkinitcpio 就好:
安裝 boot loader
在移過去的資料磁區還留著已經安裝的 boot loader package,我們需要把 boot loader 重新安裝到開機磁區。流程會隨著你先前安裝的 boot loader 不同而不同,以我用的 systemd-boot 來說,就是執行:
修改設定
換了 root 磁區需要修改相對應的設定。
boot loader
跟上面一樣,流程會隨著你先前安裝的 boot loader 不同而不同,以我用的 systemd-boot 來說,需要修改 loader 設定:
把 root=
後面的改成現在的 root 磁區。
fstab
退出剛剛的 chroot,確認需要的磁區是否都掛載好了,然後執行:
以生成新的 fstab 檔案。
結語
如果上面的步驟都做好而且沒有出錯的話,應該就完成硬碟轉移了。中間有漏掉什麼的話隨時可以用 Arch Linux 的安裝 USB 開機補做。如果有發生什麼錯誤的話,因為在全部完成之前無法回到桌面環境,沒有其他台電腦的話,只能依靠手機查資料,在安裝環境的終端機下作業。雖然這整個過程很困難但是總算完成了轉移。