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

备份 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-chrootArch 用的 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

Arch Linux 系统迁移的更多相关文章

  1. 在 VirtualBox 虚拟机中安装 Arch Linux 系统指南

    How to install Arch Linux on VirtualBox 在 VirtualBox 虚拟机中安装 Arch Linux 系统指南 本文导航 1.Arch Linux 软件仓库2. ...

  2. (扩展根目录容量方法汇总)把Linux系统迁移到另一个分区或者硬盘

    Linux系统扩容方法汇总 相信很多朋友都有过这样的经历,本想装个Ubantu玩玩,没想到玩久了反而不习惯Windows了,然而开始装系统的时候只分配了非常小的空间,那应该怎样扩展我们的ubantu呢 ...

  3. Linux系统迁移

    文章来源http://blog.csdn.net/gt945/article/details/12253585 sudo rsync -aAXvP --exclude-from=exclude.txt ...

  4. 潭州课堂25班:Ph201805201 django 项目 第三十课 linux 系统迁移 (课堂笔记)

    进入虚拟环境, 冷冻 把安装环境放到这个文档中 pip freeze >> requirements.txt 在另一台机器中 pip install -r requirements.txt ...

  5. [LINUX] Arch Linux 硬盘拷贝式装系统+新增 home 分区

    目录 前言 1. 实操 1.1 整个磁盘拷贝 1.2 创建 home 分区 1.3 修改 fstab 实现自动挂载 2. 涉及到的知识点 2.1 fstab 2.2 dd 命令 2.3 fdisk 命 ...

  6. [Linux发行版] 常见Linux系统下载

    本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...

  7. Arch Linux 硬盘引导-联网安装

    Arch Linux 硬盘引导-联网安装 ============https://www.archlinux.org/https://wiki.archlinux.org/https://wiki.a ...

  8. Arch Linux 的AUR用户软件仓库

    ==== Arch 官方软件仓库, 共10998个(20190325), 使用pacman搜索安装. https://www.archlinux.org/packages/ Core 核心软件包, 2 ...

  9. [Linux发行版] 常见Linux系统下载(转)

    本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...

随机推荐

  1. Linux小技巧scp命令

    Linux服务器运维小技巧scp命令详细教程. 前言 今天给大家带来的是linux中比较实用的命令scp.善用小技巧,解决工作中的痛点. 掌握一门好的技术或者说一门好的艺术,最快捷的方式就是融入到工作 ...

  2. 大话devops

    一.敏捷的局限性的促使devops诞生 敏捷的局限性:敏捷只注重开发阶段的敏捷,未涉及到整个产品生命周期流程其他环节导致采用敏捷开发流程后效果不明显. devops成为企业数字化转型的助推器,扮演基础 ...

  3. 初探Matrix Android ApkChecker

    背景 因为我所在的项目是做投放包,对安卓包的大小很敏感,经常会优化包的大小,所以想引入工具静态检测包大小,看能不能找到其中可以优化的地方,防患于未然.Matrix是微信终端自研和正在使用的一套APM( ...

  4. 我来教你如何将cpu使用率up起来(shell脚本[含注释])

    这个脚本是为了逃过一些资源检测的,当一些机器当前使用率偏低,会被客户要求收回,那咋办呢?使用下面的脚本,就可以留住你的机器了 假设要求cpu使用率不能低于35% 使用方法:bash up_up_up. ...

  5. suse 12 编译部署Keepalived + nginx 为 kube-apiserver 提供高可用

    文章目录 编译部署nginx 下载nginx源码包 编译nginx 配置nginx.conf 配置nginx为systemctl管理 分发nginx二进制文件和配置文件 启动kube-nginx服务 ...

  6. PHP7.x环境下安装redis扩展

    注:以下介绍的安装方式为PHP的安装路径为/usr/local/php,如果你的服务器上PHP的安装目录不一致请按实际情况处理. 首先下载PHP7的redis扩展 wget https://githu ...

  7. Linux性能优化之内存性能统计信息

    关于内存的概念及其原理在任何一本介绍操作系统的书本中都可以查阅到. 理论放一遍,在Linux操作系统中如何查看系统内存使用情况呢?看看内存统计信息有哪些维度. 一.内存使用量 详细使用方法,man f ...

  8. 使用 Spring Cloud Jaeger 进行分布式跟踪

    在本文中,学习如何实现 Jaeger(基于 OpenTracing 和 Spring Boot 应用程序)以及如何使用 Jaeger UI 可视化跟踪. 介绍 在本文中,我们将探讨如何使用 Jaege ...

  9. django模型01

    1.开发流程 - 配置数据库 - 定义模型类 - 生成迁移文件 - 执行迁移生成数据表 - 使用模型类进行增删改查操作 2.ORM - **概述**:对象->关系->映射 - **任务** ...

  10. [旧][Android] View 工作原理(二)

    备注 原发表于2016.05.27,资料已过时,仅作备份,谨慎参考 前言 本文大量参照<Android 开发艺术探索>及参考资料的内容整合,主要帮助自己理清 View 的工作原理.深入学习 ...