文章目錄
- 備份 Arch Linux 系統
- 安裝 `pigz`
- 打包 Arch Linux
- 給新盤磁區或掛載
- 使用 `fdisk` 等磁盤工具磁區
- 掛載新硬碟磁區到 `/mnt/arch`
- 恢復 ArchLinux 系統
- 創建剛才排除的檔案夾
- 獲取 UUID 并修改 `/etc/fstab` 掛載檔案
- 更新 Grub 引導
- 更新 `mkinitcpio`
- 退出 `arch-chroot` 提權模式
- 卸載磁區
- 遷移完成
備份 Arch Linux 系統
安裝 pigz
使用 pigz 多執行緒壓縮比使用 tar 單執行緒壓縮速度明顯提升多倍
sudo pacman -S pigz
打包 Arch Linux
--exclude 排除的路徑/檔案,根據自己系統掛載情況選擇需要排除的路徑或檔案,
注:當前是在 / 目錄下執行
sudo tar --use-compress-program=pigz -cvpf arch-backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/arch-backup.tgz --exclude=/mnt --exclude=/sys --exclude=/run/media --exclude=/media /
給新盤磁區或掛載
使用 fdisk 等磁盤工具磁區
自行參考 fdisk 或自己喜歡的磁盤工具使用幫助,不會用看幫助,或者看別人手冊,
掛載新硬碟磁區到 /mnt/arch
新建磁盤掛載目錄
sudo mkdir -pv /mnt/arch
sudo mkdir -pv /mnt/arch/boot/efi
sudo mkdir -pv /mnt/arch/home
....
// 如果有其他磁區自行創建對應掛載目錄
掛載磁盤磁區到對應掛載點
sudo mount /dev/sdb3 /mnt/arch
sudo mount /dev/sdb4 /mnt/arch/home
sudo mount /dev/sdb1 /mnt/arch/boot/efi
...
// 如果有其他磁區自行創建對應掛載目錄
恢復 ArchLinux 系統
將當前系統的備份恢復到新掛載點,Linux 一切皆檔案的思路對于備份恢復非常方便,
sudo tar --use-compress-program=pigz -cvpf arch-backup.tgz -C /mnt/arch
創建剛才排除的檔案夾
sudo mkdir -pv /mnt/arch/proc
sudo mkdir -pv /mnt/arch/sys
sudo mkdir -pv /mnt/arch/run
sudo mkdir -pv /mnt/arch/dev
獲取 UUID 并修改 /etc/fstab 掛載檔案
sudo lsblk
使用 vim 等文本編輯器修改 /etc/fstab 掛載檔案
sudo arch-chroot /mnt/arch/
vim etc/fstab
修改 UUID 修改對應的掛載點
更新 Grub 引導
還是在 arch-chroot 權限下,此處已 UEFI 引導為例,MBR 或其他方式請參考 Arch WiKi 上的介紹,
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader=ArchLinux --recheck
update-grub
更新 mkinitcpio
mkinitcpio -p linux/linux-lts/其他內核
mkinitcpio -p linux-lts
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default'
-> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts.img
==> Starting build: 5.4.84-1-lts
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'fallback'
-> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts-fallback.img -S autodetect
==> Starting build: 5.4.84-1-lts
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts-fallback.img
==> Image generation successful
退出 arch-chroot 提權模式
exit
卸載磁區
sudo umount /mnt/arch/home
sudo umount /mnt/arch/boot/efi
...
// 如果有其他磁區自行卸載對應掛載目錄,和掛載相反的是最后卸載 根(/) 磁區
sudo umount /mnt/arch
遷移完成
重啟宿主機后,在 BIOS 界面可以看到新增的 ArchLinux 引導,表示遷移完成即可使用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/237998.html
標籤:其他
上一篇:教你如何通過命令列在linux上下載ffmpeg可執行程式
下一篇:分布式部署Zabbix監控平臺
