Arch Linux 系统迁移
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站
备份 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
Arch Linux 系统迁移的更多相关文章
- 在 VirtualBox 虚拟机中安装 Arch Linux 系统指南
How to install Arch Linux on VirtualBox 在 VirtualBox 虚拟机中安装 Arch Linux 系统指南 本文导航 1.Arch Linux 软件仓库2. ...
- (扩展根目录容量方法汇总)把Linux系统迁移到另一个分区或者硬盘
Linux系统扩容方法汇总 相信很多朋友都有过这样的经历,本想装个Ubantu玩玩,没想到玩久了反而不习惯Windows了,然而开始装系统的时候只分配了非常小的空间,那应该怎样扩展我们的ubantu呢 ...
- Linux系统迁移
文章来源http://blog.csdn.net/gt945/article/details/12253585 sudo rsync -aAXvP --exclude-from=exclude.txt ...
- 潭州课堂25班:Ph201805201 django 项目 第三十课 linux 系统迁移 (课堂笔记)
进入虚拟环境, 冷冻 把安装环境放到这个文档中 pip freeze >> requirements.txt 在另一台机器中 pip install -r requirements.txt ...
- [LINUX] Arch Linux 硬盘拷贝式装系统+新增 home 分区
目录 前言 1. 实操 1.1 整个磁盘拷贝 1.2 创建 home 分区 1.3 修改 fstab 实现自动挂载 2. 涉及到的知识点 2.1 fstab 2.2 dd 命令 2.3 fdisk 命 ...
- [Linux发行版] 常见Linux系统下载
本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...
- Arch Linux 硬盘引导-联网安装
Arch Linux 硬盘引导-联网安装 ============https://www.archlinux.org/https://wiki.archlinux.org/https://wiki.a ...
- Arch Linux 的AUR用户软件仓库
==== Arch 官方软件仓库, 共10998个(20190325), 使用pacman搜索安装. https://www.archlinux.org/packages/ Core 核心软件包, 2 ...
- [Linux发行版] 常见Linux系统下载(转)
本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...
随机推荐
- 带你十天轻松搞定 Go 微服务系列(九、链路追踪)
序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务 RPC 服务 Auth 验证 ...
- postman python疑难
例子1:postman请求时会将默认的headers的content-type替换成Content-Type,而直接使用python的request则不行,服务器端就会接收到错误的Content-Ty ...
- Keras学习:第一个例子-训练MNIST数据集
import numpy as npimport gzip import struct import keras as ks import logging from keras.layers impo ...
- Solution -「UVA 1104」Chips Challenge
\(\mathcal{Description}\) Link. 在一个 \(n\times n\) 的方格图中,有一些格子已经放了零件,有一些格子可以放零件,其余格子不能放零件.求至多放多少个 ...
- vscode使用vue代码模板
1.vscode中打开:文件>首选项>用户片段>vue.json 2.复制下面代码并保存. 点击查看代码 { "Print to console": { &quo ...
- 数字化转型——医院数字化管理平台HDMP建设历程
最近几年一直在做医疗行业的B端应用,在搭建医院数字化转型管理平台的过程中累积了一些知识,准备抽时间不断的把整个平台搭建过程及思想记录下来,帮助自己记忆,也希望对相应知识点有需要的伙伴能有一个启发. ...
- DDD与数据事务脚本
DDD与数据事务脚本 扯淡 相信点进来看这篇文章的同学,大部分是因为标题里面的"DDD"所吸引!DDD并不是一个新技术,如果你百度一下它的历史就会知道,实际上它诞生于2004年, ...
- 攻防世界MISC进阶之签到题
攻防世界MISC进阶之签到题 第一步:分析 第二步:实操 第三步:答案第一步:分析难度系数:1星题目来源: SSCTF-2017题目描述:SSCTF线上选举美男大赛开始了,泰迪拿着他 ...
- 运行jar包使用外部依赖
nohup java -Dloader.path="lib/" -Dfile.encoding=utf-8 -jar test.jar > test.out 2>&am ...
- kubebuilder operator的运行逻辑
kubebuilder 的运行逻辑 概述 下面是kubebuilder 的架构图.可以看到最外层是通过名为Manager的组件驱动的,Manager中包含了多个组件,其中Cache中保存了gvk和in ...