ArchLinux备份
安装 pigz
# 使用pigz多线程压缩速度更快
sudo pacman -S pigz
打包ArchLinux
cd /
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 --exclude=/home/sean/study --exclude=/home/sean/software /
备份UUID
sudo blkid
/dev/nvme0n1p1: UUID="02B6-83DE" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="20ca4633-eef1-314a-8228-f97ad3e32e90"
/dev/nvme0n1p2: UUID="6f70f8d0-b904-430e-ab95-bfd651d88746" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="2696532b-fab9-404d-940c-b2fb8c30b747"
/dev/sda1: UUID="4df25749-7188-4986-805f-0cb2a562b323" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="6c609d42-876f-2143-9fa6-c6d2f2fe4b2d"
/dev/sda2: UUID="55d2d0ca-ec78-480b-811f-e6ced25e6988" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0c7dcf89-3986-2d4b-9ee0-18361458f678"
目录挂载
df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
dev devtmpfs 7.8G 0 7.8G 0% /dev
run tmpfs 7.8G 1.8M 7.8G 1% /run
/dev/nvme0n1p2 ext4 115G 32G 77G 30% /
tmpfs tmpfs 7.8G 322M 7.5G 5% /dev/shm
tmpfs tmpfs 7.8G 132M 7.7G 2% /tmp
/dev/nvme0n1p1 vfat 2.2G 144K 2.2G 1% /boot/EFI
/dev/sda1 ext4 590G 78G 482G 14% /home
/dev/loop0 squashfs 548M 548M 0 100% /var/xdroid/common/rootfs
tmpfs tmpfs 1.6G 72K 1.6G 1% /run/user/1000
/dev/sda2 ext4 326G 79G 231G 26% /run/timeshift/backup
分区格式与大小
sudo fdisk -l
磁盘标签类型:gpt
磁盘标识符:F23B0852-EF5B-4CD9-85BB-029D29333A14
设备 起点 末尾 扇区 大小 类型
/dev/nvme0n1p1 2048 4616191 4614144 2.2G EFI 系统
/dev/nvme0n1p2 4616192 250069646 245453455 117G Linux 文件系统
Disk /dev/sda:931.51 GiB,1000204886016 字节,1953525168 个扇区
磁盘型号:HGST HTS721010A9
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:3C726A24-01C4-4EAF-8F1A-ECC719A67990
设备 起点 末尾 扇区 大小 类型
/dev/sda1 2048 1258293247 1258291200 600G Linux 文件系统
/dev/sda2 1258293248 1953525134 695231887 331.5G Linux 文件系统
Disk /dev/loop0:547.94 MiB,574558208 字节,1122184 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
分区格式化
制作u盘启动盘,选择试用
分区
cfdis 进行分区与上述分区一致
格式化
sudo mkfs.vfat /dev/nvme0n1p1 -U
# 使用上述的UUID
sudo mkfx.ext4 -U 6f70f8d0-b904-430e-ab95-bfd651d88746 /dev/nvme0n1p2
sudo mkfs.ext4 -U 4df25749-7188-4986-805f-0cb2a562b323 /dev/sda1
sudo mkfs.ext4 -U 55d2d0ca-ec78-480b-811f-e6ced25e6988 /dev/sda2
系统恢复
挂载
# 根目录保持上述挂载
sudo mount /dev/nvme0n1p2 /mnt
#
sudo mkdir -p /mnt/boot/EFI
sudo mkdir /mnt/home
sudo mount /dev/sda1 /mnt/home
sudo mount /dev/nvme0n1p1 /mnt/boot/EFI
解包
# 切换到/mnt下
cd /mnt
# 切换到根用户或者用sudo的命令,由于live-cd没有用户密码所以先要设置根的密码
sudo passwd root
# 解压缩
tar -xvpzf backup.tar.gz -C . --numeric-owner
修改EFID的UUID
sudo vim /mnt/etc/fstab
修改 /efi的UUID为上述ID
更新Grub引导
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader=ArchLinux --recheck
update-grub
卸载分区
sudo umont /mnt/home
sudo umount /mnt/boot/EFI
sudo umount /mnt
# 重启宿主机后,在 BIOS 界面可以看到新增的 ArchLinux 引导。表示迁移完成即可使用。
reboot