首页主机资讯Linux minimal如何迁移

Linux minimal如何迁移

时间2025-12-08 18:50:04发布访客分类主机资讯浏览1413
导读:Linux Minimal 系统迁移实操指南 一 场景与准备 适用对象:基于发行版最小化安装的 Linux Minimal(无图形界面、仅核心组件),迁移到新硬盘或新机器。 准备要点: 备份策略:优先做整盘镜像或全量文件级备份;若用文件...

Linux Minimal 系统迁移实操指南

一 场景与准备

  • 适用对象:基于发行版最小化安装的 Linux Minimal(无图形界面、仅核心组件),迁移到新硬盘或新机器。
  • 准备要点:
    • 备份策略:优先做整盘镜像全量文件级备份;若用文件级,推荐 rsynctar/bsdtar
    • 传输方式:外置 USB 硬盘/U 盘SSH/SCP;确保两端网络与权限可用。
    • 启动介质:在目标机用 Live USB(如 Ubuntu LiveCD)启动,以便对裸盘进行分区、格式化与恢复。
    • 兼容性检查:记录源机关键信息(发行版与版本、内核版本、分区与 UUID、文件系统、是否 UEFI/GPT),便于目标机对齐配置。示例命令:cat /etc/issueuname -rlsblk -fblkidefibootmgr

二 方法一 文件级迁移 rsync(通用、可增量)

  • 旧机备份(在运行的 Minimal 系统中执行):
    • 挂载备份盘(示例挂载到 /mnt/backup),全量同步并排除虚拟与临时文件系统:
      sudo mkdir -p /mnt/backup
      sudo mount /dev/sdX1 /mnt/backup
      sudo rsync -aAXhv --info=progress2 \
        --exclude={
      "/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"}
           \
        /* /mnt/backup/
      
  • 目标机恢复(用 Live USB 启动后):
    • 分区与格式化(示例:根分区 /dev/sda1;如为 UEFI,还需 /dev/sda2ESP 并格式化为 FAT32):
      sudo gparted
      sudo mkfs.ext4 /dev/sda1
      # UEFI 示例:sudo mkfs.fat -F32 /dev/sda2
      sudo mount /dev/sda1 /mnt
      # UEFI 示例:sudo mkdir -p /mnt/boot/efi &
          &
       sudo mount /dev/sda2 /mnt/boot/efi
      
    • 恢复数据:
      sudo rsync -aAXhv --info=progress2 /外部介质路径/ /mnt/
      
    • 准备 chroot 环境并修复引导:
      sudo mkdir -p /mnt/{
      proc,sys,dev,run,tmp}
          
      sudo mount --bind /dev /mnt/dev
      sudo mount --bind /proc /mnt/proc
      sudo mount --bind /sys /mnt/sys
      sudo chroot /mnt
      
      # BIOS
      grub-install /dev/sda
      update-grub
      
      # UEFI
      grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
      update-grub
      
      update-initramfs -u
      exit
      
    • 修复 /etc/fstabUUID(关键步骤):
      sudo blkid
      sudo nano /mnt/etc/fstab   # 将根分区与 /boot/efi 的 UUID 改为新盘实际值
      
    • 可选:若目标机硬件差异较大,按需安装/调整显卡或存储驱动,再次生成 initramfs。

三 方法二 归档迁移 tar 或 bsdtar(打包后一次性恢复)

  • 旧机打包(示例排除备份介质自身与缓存,避免递归打包):
    sudo tar -cvpzf /mnt/backup/backup.tar.gz \
      --exclude=/mnt/backup --exclude=/home/*/.cache --exclude=/var/cache \
      --one-file-system /
    
  • 目标机恢复(Live USB 中):
    sudo mount /dev/sda1 /mnt
    # UEFI 示例:sudo mkdir -p /mnt/boot/efi &
        &
     sudo mount /dev/sda2 /mnt/boot/efi
    
    # 使用 GNU tar
    sudo tar -xvpzf /外部介质/backup.tar.gz -C /mnt --numeric-owner
    
    # 或使用 bsdtar(同样支持 --numeric-owner)
    # sudo bsdtar -xpf /外部介质/backup.tar.gz -C /mnt --numeric-owner
    
    # 准备 chroot 并修复引导(同方法一)
    sudo mkdir -p /mnt/{
    proc,sys,dev,run,tmp}
        
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot /mnt
    grub-install /dev/sda &
        &
         update-grub    # BIOS
    # 或 UEFI:grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB &
        &
         update-grub
    update-initramfs -u
    exit
    
    # 修正 /etc/fstab 的 UUID
    sudo blkid
    sudo nano /mnt/etc/fstab
    
  • 提示:归档方式对 符号链接、权限、设备节点 的保留依赖正确选项(如 –numeric-owner),恢复后务必检查 fstabinitramfs

四 方法三 整盘克隆 dd(最快,但要求目标盘容量≥源盘)

  • 适用:希望“逐比特”复制的场景(如相同硬件或近似硬件)。
  • 步骤:
    • 在 Live USB 中确认设备名(如源 /dev/sda,目标 /dev/sdb),先对目标盘分区/建立分区表(可先按源盘结构用 sfdisk -d /dev/sda | sfdisk /dev/sdb 复制分区表),再克隆:
      sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress
      
    • 克隆后,目标盘通常可直接启动;如为 UEFI,确认 ESP 分区挂载到 /boot/efi/etc/fstab 使用新盘 UUID
  • 注意:目标盘容量更大时,克隆后需扩展分区与文件系统;容量更小则无法克隆。此方法不“自适应”新硬件,后续可能需要调整 initramfs 与驱动。

五 验证与常见问题处理

  • 首次启动检查:
    • 是否能正常进入系统、登录、网络可用(pingip a)。
    • 检查挂载点:mount | grep '^/dev',确认 根分区/boot/efi 挂载正确。
    • 查看日志:journalctl -xedmesg | tail,定位驱动或挂载失败原因。
  • 常见问题与修复:
    • 启动失败(GRUB 阶段):回到 Live USB,chroot 后重装 GRUB(BIOS:grub-install /dev/sda;UEFI:grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB),再 update-grub
    • 找不到根分区:用 blkid 确认新盘 UUID,修正 /etc/fstab 中的根与 /boot/efi 条目。
    • 新硬件不识别:在 chroot 中执行 update-initramfs -u;必要时安装对应 存储/显卡 驱动并重启。
    • 网卡名称变化(如 eth0ens33/enp0s3):更新 /etc/netplan/*.yaml(Ubuntu)或 /etc/sysconfig/network-scripts/ifcfg-*/etc/udev/rules.d/70-persistent-net.rules(RHEL/CentOS 系),再重启网络服务。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux minimal如何迁移
本文地址: https://pptw.com/jishu/766200.html
Linux minimal如何测试 Linux minimal如何选择

游客 回复需填写必要信息