温馨提示×

如何从CentOS镜像中恢复系统

小樊
53
2025-08-31 01:05:08
栏目: 智能运维

从CentOS镜像恢复系统的详细步骤

一、准备工作

  1. 获取CentOS镜像文件
    从CentOS官方镜像站点(如vault.centos.org或镜像仓库)下载与目标系统版本匹配的ISO镜像(如CentOS 7/8/Stream)。
  2. 制作可启动USB驱动器
    使用dd命令将ISO镜像写入USB设备(需替换/dev/sdX为USB的实际路径,可通过lsblk确认):
    sudo dd if=/path/to/centos.iso of=/dev/sdX bs=4M status=progress && sync
    
    注意:操作前请备份USB中的所有数据,避免误操作导致数据丢失。

二、进入救援模式

  1. 启动系统并设置BIOS
    将制作好的可启动USB插入目标计算机,开机时按F2/Del键进入BIOS设置,将USB设备设置为第一启动项,保存并退出。
  2. 选择救援模式
    系统从USB启动后,进入CentOS安装界面,选择Troubleshooting(故障排除)选项,再选择Rescue a CentOS system(救援CentOS系统)。
    系统会提示是否挂载现有系统到/mnt/sysimage,选择Continue(继续)以进入救援环境的命令行界面。

三、修复引导加载器(GRUB)

若系统无法启动,通常需要修复GRUB引导程序:

  1. 挂载原系统分区
    救援模式默认会将原系统挂载到/mnt/sysimage,若未自动挂载,可手动挂载根分区(假设根分区为/dev/sda1):
    mkdir /mnt/sysimage && mount /dev/sda1 /mnt/sysimage
    
  2. 重新安装GRUB
    切换到原系统的根环境:
    chroot /mnt/sysimage
    
    执行以下命令重新安装GRUB到磁盘(如/dev/sda)并生成配置文件:
    grub2-install /dev/sda
    grub2-mkconfig -o /boot/grub2/grub.cfg
    
    退出chroot环境:
    exit
    

四、修复文件系统

若文件系统损坏,需使用fsck命令检查和修复:

  1. 卸载目标分区
    若分区已挂载(如/dev/sda1挂载到/mnt/sysimage),需先卸载:
    umount /mnt/sysimage
    
  2. 运行fsck修复
    执行以下命令(假设修复根分区/dev/sda1):
    fsck -y /dev/sda1
    
    -y参数表示自动回答“yes”以修复所有问题。

五、恢复系统数据(可选)

若系统文件损坏但数据仍需保留,可通过以下方式恢复:

  1. 从备份中还原数据
    若之前使用tarrsync备份过数据,可将备份文件复制到原系统目录:
    • tar归档恢复(假设备份文件为/backup/system_backup.tar.gz):
      sudo tar xvpzf /backup/system_backup.tar.gz -C /
      
    • rsync恢复(假设备份目录为/backup):
      sudo rsync -av /backup/ /mnt/sysimage/
      
    注意:恢复前需确保原系统分区已挂载到/mnt/sysimage

六、重启系统

  1. 退出救援模式
    输入reboot命令重启计算机,并拔出USB驱动器。
  2. 验证启动状态
    系统应正常启动至登录界面,若仍无法启动,需重新检查引导加载器配置或文件系统。

注意事项

  • 数据备份:恢复操作前务必备份所有重要数据,避免误操作导致数据丢失。
  • 设备路径确认:使用lsblkfdisk -l命令确认USB、磁盘及分区的正确路径,避免ddgrub2-install操作错误。
  • LVM处理:若系统使用LVM逻辑卷,恢复前需激活逻辑卷(vgchange -ay)并确保一致性。

0