Arch Linux 系统迁移

news/2025/2/13 19:11:13/

文章目录

  • 备份 Arch Linux 系统
    • 安装 `pigz`
    • 安装 `zstd`
    • `pigz` 打包 Arch Linux
    • `zstd` 打包 Arch Linux
  • 给新盘分区或挂载
    • 使用 `fdisk` 等磁盘工具分区
    • 挂载新硬盘分区到 `/mnt/arch`
  • `pigz`恢复 ArchLinux 系统
  • `zstd`恢复 ArchLinux 系统
    • 创建刚才排除的文件夹
    • 获取 UUID
    • 修改 `/etc/fstab` 挂载文件
    • 更新 Grub 引导
    • 编辑 `/etc/mkinitcpio.conf` 加速 `linux.img` 速度
    • 更新 `mkinitcpio`
    • 不需要加速 `linux.img` 速度
    • 退出 `arch-chroot` 提权模式
    • 卸载分区
  • 迁移完成

备份 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 --recheckupdate-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 引导。表示迁移完成即可使用。


http://www.ppmy.cn/news/859101.html

相关文章

电脑使用分区助手进行c盘的迁移填坑(系统盘迁移到固态硬盘)

1、磁盘迁移 电脑使用傲梅分区助手进行一个c盘的迁移,(假设你已经把新的硬盘安装好了)进入软件后点击“迁移系统到固态硬盘”后按照提示操作即可,最后一步因为没有PE系统,所以选择了另外一个。然后正常重启&#xff0…

克隆硬盘后进不去系统_Windows 10克隆后ssd硬盘不能引导启动

吴川 华南区技术负责人 概要 如今大部分用户都喜欢把系统直接从旧硬盘克隆到SSD上,但克隆系统后可能会出现ssd硬盘不能引导启动的问题。本文将针对这个问题,为大家分析原因并提供解决方案。 一、Windows 10克隆到SSD后无法启动的原因和解决方案 原因1:没有把SSD设置为第一启…

系统迁移到ssd 开启哪些服务器,如何使用分区助手完美迁移系统到SSD固态硬盘...

自从SSD固态硬盘出世以来,一直都被持续关注着,SSD的性能优势让无数用户起了将操作系统迁移到SSD的心思,直接后果就是让无数机械硬盘为止黯然退场,很多软件都可以做到系统迁移,然而,被完美迁移的系统却不是多…

Ubuntu2204系统迁移·双系统

目录 一、前言 二、准备工作 1. 制作Ubuntu系统的启动盘 2. 查看系统分区和挂载情况 3. 将新固态硬盘安装在电脑主板上 三、对原先的系统进行打包 1. 从BIOS进入启动盘Ubuntu,选择仅试用,不要选安装。 2. 挂载要备份的盘 3. 对/目录进行打包 4…

华为服务器mbr合适装系统教程,服务器设置硬盘引导盘

服务器设置硬盘引导盘 内容精选 换一换 使用外部镜像文件创建私有镜像时,以上相关步骤操作需要在虚拟机内部完成,强烈建议您在原平台的虚拟机实施修改后,再导出镜像。使用Windows外部镜像文件创建私有镜像时,关于Guest OS driver&…

UEFI+GPT引导系统迁移

我工作的硬盘因为只有120G,实际工作中肯定会存在文件不够用,于是自己加了一块西数的1Tsdd,价格还行,因为主板没有NVME只能买SSD勉强用了 gpt分区 系统迁移 点击要迁移的系统盘右击克隆分区,选择需要拷贝到的分区&…

linux 系统迁移到固态硬盘,Linux系统迁移记录(从HDD到SSD)

Linux系统迁移记录(从HDD到SSD) 我把HDD上的Linux迁移到SSD上,重装系统太麻烦了,所以我直接拷贝整个系统,然后重建引导恢复,以下是记录。 两块硬盘 首先把SSD换上去,HDD用硬盘盒连接。 从U盘启动后,将SSD分区做好,分别将SSD系统盘和HDD系统盘挂载到某个路径,例如: 对于…

【踩坑】win10迁移系统到移动硬盘, 换系统盘,无法启动等问题

【踩坑】win10迁移系统到移动硬盘, 换系统盘,无法启动等问题 仅迁移用移动硬盘中转迁移并移除原系统盘踩坑心得1. 准备工作要做好2. 不要轻易删除原系统盘的引导分区efi, 除非你必须要更换原来的硬盘3. 新硬盘的格式要先修改, 再迁移4. 要设置好esp分区和重新设置引导 续找不到…