ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Arch Linux 系统迁移

Arch Linux 系统迁移

Linux操作系统 作者:哈哈哈hh 时间:2021-12-16 10:59:37 0 删除 编辑

镜像下载、域名解析、时间同步请点击  阿里巴巴开源镜像站

备份 Arch Linux 系统

安装  pigz

使用  pigz 多线程压缩比使用  tar 单线程压缩速度明显提升多倍

sudo pacman -S pigz

安装  zstd

使用  zstd 多线程压缩比使用  tar 单线程压缩速度明显提升多倍。 Arch Linux 邮件列表: zstd 压缩解压与其他压缩解压工具速度对比

sudo pacman -S zstd

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  /

zstd 打包 Arch Linux

--exclude 排除的路径/文件,根据自己系统挂载情况选择需要排除的路径或文件。

注:当前是在  / 目录下执行

sudo tar -z -c -T0 -18 -v -p -f - arch-backup.zstd --exclude=/proc --exclude=/lost+found --exclude=/arch-backup.zstd --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
...
// 如果有其他分区自行创建对应挂载目录

pigz恢复 ArchLinux 系统

将当前系统的备份恢复到新挂载点,Linux 一切皆文件的思路对于备份恢复非常方便。

sudo tar --use-compress-program=pigz -cvpf arch-backup.tgz -C /mnt/arch

zstd恢复 ArchLinux 系统

将当前系统的备份恢复到新挂载点,Linux 一切皆文件的思路对于备份恢复非常方便。

sudo tar -z -c -T0 -18 -v -p -f - arch-backup.zstd -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

sudo lsblk

修改  /etc/fstab 挂载文件

可以使用  genfatab 自动生成  /mnt/arch/etc/fstab 文件

sudo genfstab -U /mnt/arch >> /mnt/arch/etc/fstab
cat /mnt/arch/etc/fstab

建议使用  vim 等文本编辑器修改  /etc/fstab 挂载文件

注: arch-chroot 是  Arch 用的  chroot 其他  Linux 有专用  *-chroot 就用没有的话直接  chroot 也可以(可能会提示权限问题或缺少设备信息之类,还可以尝试使用相应  Linux*.iso 复制到  Ventoy 启动盘( 见 Ventoy 启动盘)

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

编辑  /etc/mkinitcpio.conf 加速  linux.img 速度

vim /etc/mkinitcpio.conf
// 修改配置文件的最后两行
// 需要安装 zstd 支持
// pacman -Syu zstd
// 还需要开启 zstd 支持
// 否则请使用其他 压缩算法
COMPRESSION="zstd"
COMPRESSION_OPTIONS=(-c -T0 -18 -)

更新  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 zstd-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 zstd-compressed initcpio image: /boot/initramfs-linux-lts-fallback.img
==> Image generation successful

不需要加速  linux.img 速度

直接更新  mkinitcpio

mkinitcpio -p linux/linux-lts/其他内核
mkinitcpio -p linux-lts

退出  arch-chroot 提权模式

exit

卸载分区

sudo umount /mnt/arch/home
sudo umount /mnt/arch/boot/efi
...
// 如果有其他分区自行卸载对应挂载目录,和挂载相反的是最后卸载 根(/) 分区
sudo umount /mnt/arch

迁移完成

重启宿主机后,在  BIOS 界面可以看到新增的  ArchLinux 引导。表示迁移完成即可使用。

本文转自: https://juejin.cn/post/6990623175906164772


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70003733/viewspace-2848047/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: CentOS7部署Bind
下一篇: futter环境安装
请登录后发表评论 登录
全部评论

注册时间:2021-09-10

  • 博文量
    280
  • 访问量
    250877