系統備份

出自 Arch Linux 中文维基

系統備份是備份作業系統、文件和特定於系統的有用的/關鍵的數據的過程。(系統備份)主要確保除了系統中的用戶數據,系統的狀態或操作條件也已保存。這有助於使用選擇的備份數據將系統恢復到之前保存的狀態。[1]

使用 Btrfs 快照[編輯 | 編輯原始碼]

詳情請看 Btrfs#快照#快照與 /boot 分區Snapper

使用 LVM 快照[編輯 | 編輯原始碼]

詳情請看 LVM#SnapshotsCreate root filesystem snapshots with LVM#快照與 /boot 分區

使用 rsync[編輯 | 編輯原始碼]

詳情請看 rsync#As a backup utility

使用 tar[編輯 | 編輯原始碼]

詳情請看 Full system backup with tar

使用 SquashFS[編輯 | 編輯原始碼]

詳情請看 Full system backup with SquashFS

可啟動的備份[編輯 | 編輯原始碼]

在文件系統損壞或系統因更新而損壞的情況下,有一個可啟動的備份非常有用。備份還可以啟用testing軟件倉庫,並用於測試更新。在您將系統遷移到不同的分區或驅動器之後,只需更新備份的 /etc/fstab 和引導加載程序的配置文件,就可以從遷移後的系統啟動了。

在您在已將系統備份到另一個驅動器或分區,且當前的引導加載程序工作正常的情況下,接下來的操作將指導您如何從備份的系統啟動。

更新 fstab[編輯 | 編輯原始碼]

不需要重新啟動,可以通過註釋掉或刪除任何現有條目來編輯備份的 fstab 文件。為包含備份的分區添加一個條目,如下例所示:

/dev/sdaX    /             ext4      defaults                 0   1

記得使用正確的設備名和文件系統類型。

更新引導程序的配置文件[編輯 | 編輯原始碼]

對於 Syslinux,你只需複製當前項目,不過使其指向不同的磁盤或分區。

提示:除了直接編輯 syslinux.cfg,您也可以在啟動的時候臨時編輯啟動菜單。當顯示啟動菜單的時候,按 Tab 鍵來編輯對應的啟動項。分區從1數起,而驅動器從0數起。

對於 GRUB,建議你自動重新生成主配置文件。如果你想將 GRUB 文件全新安裝到 /boot 以外的位置(例如 /mnt/newroot/boot),使用 --boot-directory 標誌。

請注意檢查 /boot/grub/grub.cfg 中的啟動項,確保其中的 UUID 與新分區相匹配,否則設備將仍然從原系統中啟動。您可以通過 lsblk 命令來找到正確的UUID:

$ lsblk -no NAME,UUID /dev/sdXY

/dev/sdXY 是您備份的目標分區 (比如 /dev/sdb3)要列出所有 GRUB 可啟動的分區,請使用 grep 命令:

# grep UUID= /boot/grub/grub.cfg

第一次啟動[編輯 | 編輯原始碼]

重啟計算機並在引導程序中選擇正確的項目。系統應該會在第一次啟動的時候檢測到所有外部設備並填充根目錄下的空文件夾。

你現在可以編輯 /etc/fstab,將之前刪除的分區和掛載點重新加入。

快照與 /boot 分區[編輯 | 編輯原始碼]

如果你的文件系統支持快照(例如 LVMBtrfs),這些快照將很可能不包含 /boot 分區或 EFI 系統分區

進行內核升級時,您可以用 pacman hook 來把升級後的內核自動複製啟動分區到 root 分區(請確保該鈎子文件為 root 所有) :

/etc/pacman.d/hooks/95-bootbackup.hook
[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Path
Target = usr/lib/modules/*/vmlinuz

[Action]
Depends = rsync
Description = Backing up /boot...
When = PostTransaction
Exec = /usr/bin/rsync -a --delete /boot /.bootbackup