当前位置:首页 > 问答 > 正文

Linux运维|系统管理|centos卸载、CentOS系统卸载指南

手把手教你彻底卸载CentOS系统(2025年最新实操指南)

场景引入:当CentOS说再见时...

"老王,咱们那台跑CentOS 7的老服务器得重装系统了,客户要求换成Rocky Linux..." 作为运维老手的你听到这句话时,手里的咖啡突然不香了,确实,自从CentOS转向Stream版本后,越来越多的企业开始迁移到其他RHEL替代发行版,但在这之前,我们得先跟老伙计CentOS好好道别——不是简单格式化那么简单,而是要确保数据安全、引导无误的彻底卸载。

卸载前的必修课

1 重要数据备份(保命操作)

# 查看磁盘空间情况
df -h
# 打包home目录(根据实际情况调整路径)
tar -czvf /backup/home_backup_$(date +%Y%m%d).tar.gz /home
# 如果需要备份MySQL数据库
mysqldump -u root -p --all-databases > /backup/mysql_full_$(date +%Y%m%d).sql

⚠️ 特别提醒:别忘了检查/etc目录下的配置文件,尤其是:

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • 你的应用配置文件(如nginx/php/my.cnf等)

2 准备Live环境工具

建议准备:

Linux运维|系统管理|centos卸载、CentOS系统卸载指南

  1. 最新版Ventoy启动U盘(支持多ISO启动)
  2. 目标系统的安装镜像(如Rocky Linux 9.x)
  3. 物理机建议准备KVM over IP/iDRAC等带外管理工具

三种卸载方案任你选

1 方案A:直接重装(最彻底)

适合场景:整盘格式化无顾虑

插入安装U盘重启
2. 在安装界面选择"Installation Destination"
3. 选择磁盘后点击"Storage Configuration"
4. 勾选【Custom】→【Click here to create them automatically】
5. 手动删除所有分区(注意别选错磁盘!)
6. 点击"Done"确认

2 方案B:保留特定分区(精细操作)

比如要保留/data独立分区:

fdisk -l  # 记录要保留的分区编号如/dev/sda3
# 在安装界面进入救援模式
chroot /mnt/sysimage
umount /dev/sda3  # 先卸载
e2label /dev/sda3 DATA_DISK  # 打标签方便识别
exit
# 安装新系统时手动分区:
- /     : 50G  xfs
- /boot : 1G   ext4
- /data : 复用原有分区(不格式化)

3 方案C:命令行卸载(高级模式)

适用于远程服务器无图形界面:

dd if=/dev/zero of=/dev/sda bs=1M count=100  # 清除引导区
wipefs -a /dev/sda  # 清除所有文件系统签名
parted /dev/sda mklabel gpt  # 重置分区表

那些容易翻车的坑

1 坑1:EFI分区没清理干净

症状:新系统安装后启动菜单残留CentOS项 解决方法:

Linux运维|系统管理|centos卸载、CentOS系统卸载指南

# 在新系统执行
efibootmgr | grep -i centos  # 记录待删除的编号
efibootmgr -b 000X -B  # X替换为实际编号

2 坑2:LVM卷组残留

vgdisplay  # 查看残留的卷组
vgremove vg_centos  # 按实际名称操作
pvremove /dev/sda2  # 清理物理卷

3 坑3:Grub2残留配置

即使重装后,某些服务器仍可能出现:

grep -r "CentOS" /boot/grub2/  # 检查残留
grub2-mkconfig -o /boot/grub2/grub.cfg  # 重新生成

卸载后的健康检查

  1. 引导验证:重启3次观察是否正常
  2. 磁盘检查
    lsblk -f  # 确认无centos相关标签
    blkid | grep -i centos  # 应无返回结果
  3. 服务检测
    systemctl list-unit-files | grep enabled  # 检查服务状态
    journalctl -b | grep -i error  # 查看启动错误

替代方案小贴士

如果只是测试环境想快速清理:

# 使用Ansible快速清理(慎用!)
- name: Nuke CentOS
  hosts: all
  tasks:
    - shell: |
        yum remove -y \* && \
        rm -rf /etc/yum.repos.d/* && \
        dd if=/dev/zero of=/dev/vda bs=1M count=100
      async: 0
      poll: 0

发表评论