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

备份 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. 带你十天轻松搞定 Go 微服务系列(九、链路追踪)

    序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务 RPC 服务 Auth 验证 ...

  2. postman python疑难

    例子1:postman请求时会将默认的headers的content-type替换成Content-Type,而直接使用python的request则不行,服务器端就会接收到错误的Content-Ty ...

  3. Keras学习:第一个例子-训练MNIST数据集

    import numpy as npimport gzip import struct import keras as ks import logging from keras.layers impo ...

  4. Solution -「UVA 1104」Chips Challenge

    \(\mathcal{Description}\)   Link.   在一个 \(n\times n\) 的方格图中,有一些格子已经放了零件,有一些格子可以放零件,其余格子不能放零件.求至多放多少个 ...

  5. vscode使用vue代码模板

    1.vscode中打开:文件>首选项>用户片段>vue.json 2.复制下面代码并保存. 点击查看代码 { "Print to console": { &quo ...

  6. 数字化转型——医院数字化管理平台HDMP建设历程

    ​ 最近几年一直在做医疗行业的B端应用,在搭建医院数字化转型管理平台的过程中累积了一些知识,准备抽时间不断的把整个平台搭建过程及思想记录下来,帮助自己记忆,也希望对相应知识点有需要的伙伴能有一个启发. ...

  7. DDD与数据事务脚本

    DDD与数据事务脚本 扯淡 相信点进来看这篇文章的同学,大部分是因为标题里面的"DDD"所吸引!DDD并不是一个新技术,如果你百度一下它的历史就会知道,实际上它诞生于2004年, ...

  8. 攻防世界MISC进阶之签到题

    攻防世界MISC进阶之签到题    第一步:分析    第二步:实操    第三步:答案第一步:分析难度系数:1星题目来源: SSCTF-2017题目描述:SSCTF线上选举美男大赛开始了,泰迪拿着他 ...

  9. 运行jar包使用外部依赖

    nohup java -Dloader.path="lib/" -Dfile.encoding=utf-8 -jar test.jar > test.out 2>&am ...

  10. kubebuilder operator的运行逻辑

    kubebuilder 的运行逻辑 概述 下面是kubebuilder 的架构图.可以看到最外层是通过名为Manager的组件驱动的,Manager中包含了多个组件,其中Cache中保存了gvk和in ...