CentOS 7完整安装指南:镜像选择、分区配置与常见故障排查

📅 发布时间:2026/10/17 16:18:05
CentOS 7完整安装指南:镜像选择、分区配置与常见故障排查
很多人问我2024年了为什么还要出CentOS 7安装教程是不是有点“考古”的意思但实际情况是你随便去一家规模差不多的公司机房看一眼存量服务器里有相当一部分跑的还是CentOS 7线上课程、实验室旧电脑、各类演示环境也遍地都是它。CentOS 7的维护期已经进入尾声但“安装CentOS 7”这个需求在很长一段时间内并不会消失。原因很简单很多业务系统和数据库跑在CentOS 7上验证过稳定压倒一切没人愿意随便升。这篇东西不打算讲虚的直接拿一个“CentOS 7系统安装”的完整流程来拆从镜像下载、启动盘制作、分区选择到装完之后的网络配置、软件源替换、常见故障排查全部按我实际动手时的经验来讲。适合刚入行做运维的朋友、自己折腾服务器的爱好者以及那些需要维护存量机器、被要求“按老规矩装系统”的同学参考。1. 为什么还要装CentOS 7先搞清楚你到底在装什么1.1 CentOS 7在Linux生态里的角色CentOS 7是一个Linux发行版而且是非常特殊的那一个。它本质上是从企业级Linux发行版的源代码重新编译而来去掉了商业品牌的Logo和部分闭源组件再做免费分发。这意味着什么意味着你在CentOS 7上跑的软件、写的脚本、做的配置拿到企业级Linux环境里基本也能通用。很多软件厂商在发布Linux版本时测试环境就是企业级Linux系列CentOS 7因为兼容性足够好成了大家最常用的“低成本平替”。这也是为什么CentOS 7长期霸占服务器系统安装量榜单。它免费、稳定、资料多出了问题搜索一下几乎都能找到答案。我见过不少小公司的生产环境从建站开始就用CentOS 7,跑了五六年没动过系统开机时间几百天照样很稳。所以别一听“停止维护”就觉得这东西不能用了你得分场景来看。1.2 现在还在用CentOS 7的典型场景先说说我实际接触过的几类场景。第一类是存量服务器业务代码、数据库、定时任务都在上面验证过是稳定的没人愿意冒风险做迁移这类机器往往还要继续运行好几年。第二类是教学和实验环境很多课程、培训资料、考试模拟系统都以CentOS 7为基础你学Linux命令、学LNMP、学Docker、学KVM用CentOS 7完全够。第三类是特定软件的兼容性验证有些商业软件安装包只针对CentOS 7做过测试你装到新版系统上反而会出一堆莫名其妙的问题比如某个依赖库版本对不上或者服务脚本路径不一样。这些场景决定了“安装CentOS 7”在未来几年仍然是一个实实在在的技术需求。1.3 安装CentOS 7前必须想清楚的几个问题很多人上来就下载镜像一路点“下一步”最后装完了才发现问题要么没选对软件包开机只有命令行没有图形界面要么分区不合理根分区只有50G数据盘几十T挂在后面要么网卡没启用连不上网络。所以我建议大家安装前先花五分钟想清楚三个问题这台机器是给谁用的是学习实验还是生产服务需不需要图形桌面还是纯命令行服务器就够数据盘怎么规划要不要单独分/home、/var或者专门的数据库目录想清楚这三个问题安装的时候就不会迷茫。CentOS 7的安装本质上就是在回答这几个问题而不是一项项点鼠标。2. 安装前的准备镜像、启动盘与目标机检查2.1 CentOS 7镜像怎么选、怎么下载CentOS 7的最终版本号是7.9归档版本名里带有“2009”字样表示2020年9月构建的版本例如CentOS-7-x86_64-Minimal-2009.iso。常见镜像类型有三种DVD ISO包含常用软件包离线安装很方便Minimal ISO体积小只包含基础系统安装时通常需要联网拉取软件包Everything ISO包含全部软件包体积很大一般不需要选它。如果你是第一次装我的建议是选DVD ISO把安装源设为本地介质这样即使安装环境没网络也能顺利完成。如果你已经有经验、网络条件好Minimal更高效装完再根据需要装软件。下载地址首选CentOS官方项目页或者国内各大高校和云厂商维护的开源镜像站。尽量选择知名镜像站不要贪小便宜从不明第三方网站下载否则镜像被篡改、被塞东西你根本发现不了。下载后建议校验一下文件完整性用sha256sum计算校验值然后和官方页面给出的值比对。这个步骤看起来多余但实际上真能救你。我有一次图省事从某个小网站下载了压缩版ISO装到一半报错排查了半天才发现是镜像文件损坏。2.2 制作启动U盘的正确姿势Windows环境下制作启动U盘我推荐用Rufus。打开软件后选择目标U盘和CentOS 7镜像关键是分区类型选对目标机器是UEFI引导就选GPT分区表Legacy/BIOS引导就选MBR分区表。拿不准的话选“MBR分区方案适用于BIOS或UEFI-CSM兼容模式”基本都能启动。写入方式选“ISO镜像模式”即可CentOS 7不用选DD模式。到这一步Rufus会提示格式化U盘记得先把U盘里的资料备份走。Linux环境下我一般直接用命令写盘一条命令搞定比图形工具更可控。先执行lsblk确认U盘对应的是哪个设备节点比如/dev/sdb然后再执行dd ifCentOS-7-x86_64-Minimal-2009.iso of/dev/sdb bs4M statusprogress sync注意of必须是U盘设备本身而不是分区/dev/sdb不是/dev/sdb1写错了会把整个磁盘覆盖。macOS下可以用跨平台的Etcher工具选镜像、选U盘、点Flash适合不太想折腾命令行的人。无论用哪种方式写完以后最好重新插拔一次U盘确认里面能看到启动文件。2.3 目标机的BIOS设置和硬件检查安装CentOS 7之前建议把目标机的BIOS设置检查一遍。Secure Boot如果开启安装时可能出现引导失败或者装完启动不了的问题直接关掉。SATA模式建议设为AHCI有些主板的RAID模式会导致安装程序检测不到硬盘。如果这台机器以后要装双系统硬盘上已经有Windows或者其他系统分区时一定要看清楚再操作。硬件方面CentOS 7要求不高内存至少2GB硬盘至少20GB但真实环境下建议内存4GB以上硬盘按照实际业务需求预留。2.4 虚拟机环境的准备工作如果没有物理机用虚拟机学习是完全够的安装步骤和物理机几乎一样。常见的方案有VMware Workstation和VirtualBox新建虚拟机时系统类型选择CentOS 7 64位内存建议2GB以上网络用NAT模式硬盘20GB虚拟磁盘类型选择VDI或VMDK都可以。关键点是创建虚拟机之前就要决定固件类型是UEFI还是BIOS并且把这个选择和安装时引导方式保持一致否则后面容易出问题。虚拟机的好处是能随时打快照装坏了直接恢复特别适合新手练习。3. 完整安装流程从引导到进入系统的每一步3.1 引导界面第一屏怎么选U盘或光驱引导成功后会进入grub菜单黑底白字选项一般是“Install CentOS 7”“Test this media install CentOS 7”“Troubleshooting”。选第一项Install CentOS 7回车进入。系统默认会检测安装介质通常我们直接按Esc键跳过没必要等它慢慢测前提是你已经校验过ISO文件。如果回车之后卡在进度条、花屏或者直接黑屏先别着急怀疑教程大概率是镜像文件损坏、U盘写入方式不对或者显卡兼容性问题后面章节会集中排查。3.2 语言选择和键盘布局安装器会先让你选语言。很多新手朋友直接选简体中文界面是舒服了但后面出问题去查资料时网上教程、官方文档基本都是英文路径和英文日志你会发现自己对不上号。我个人建议学习阶段选English界面简单单词就那几个。键盘布局保持默认“English (US)”就可以没必要改成其他布局。如果你选中文也没关系装完之后终端里的帮助文档、乱码问题可以再补救但上来选英文确实能省一点折腾时间。3.3 安装源的配置接下来是安装源。如果你用的是DVD镜像这里默认就是本地介质直接点“完成”即可。如果你用的是Minimal镜像并且想让安装程序联网获取软件包就选择“在网络上”输入镜像站提供的仓库地址。这个地址必须指向包含repodata目录的层级比如http://你的镜像站/centos/7/os/x86_64/。这里有一个实际经验新同学建议直接用DVD离线源网络源看起来更“自动化”但万一DNS配置有问题、网络不通安装会卡在那里反而麻烦。3.4 软件选择最容易被忽视的一步软件选择界面里有“最小安装”“GNOME桌面”“服务器带GUI”“基础设施服务器”等多种组合。这是整个安装流程里最影响使用体验的一步。如果你装这台机器是要当服务器用选“最小安装”安装完之后就是纯命令行干净、省资源、攻击面小。如果是为了学习、体验Linux桌面选“GNOME桌面”。另外不管选哪种我都建议在附加组件里勾上“Development Tools”这里会预装gcc、make、git等开发工具链。以后要编译安装软件的时候你才会庆幸当初勾了它。忘了勾也没关系后面可以用yum groupinstall Development Tools补装但那就多了一道手续。3.5 分区方案自动分区还是手动分区安装程序会询问分区方式。新手我建议先尝试“自动分区”系统会用LVM帮你分配根分区、swap省心。想真正掌握系统布局就选手动分区。我的推荐方案是这样的分区大小文件系统挂载点/boot512MB~1GBext4或xfs/boot/boot/efi200MB~500MBEFI System Partition/boot/efi仅UEFI引导时swap2GB~4GBswap无/剩余全部xfs/如果你是在UEFI引导模式下手动分区切记一定要创建/boot/efi分区类型选“EFI System Partition”否则重启后找不到引导文件。不少朋友手动分区时忘了这一步装完系统开机进BIOS看着屏幕发懵。另外如果硬盘上有旧系统分区记得把它删除后重新分配千万不要保留旧分区直接挂载容易把数据搞乱。分区的整体思路是系统文件放在独立分区方便重装时保留数据swap按内存大小合理分配其余空间都给根分区简单直接。3.6 网络和主机名的设置安装界面右下角有个“网络与主机名”建议在这里就完成网络配置。打开网卡开关如果是DHCP环境系统就能自动获取IP。如果公司或数据中心分配了固定IP点击“配置”按钮手动填写IP地址、子网掩码、网关和DNS。DNS这里一定要填对比如和这样的公共DNS后面排查网络问题能少一个变量。主机名也就是机器在网络里的名字比如node01或web01建议现在就设好不然装完还要再改。3.7 安全策略、root密码和普通用户安全策略默认保持不变即可没必要在安装界面动SELinux。设置root密码时建议长度至少8位包含大小写字母、数字和特殊字符。很多新手图省事设个123456后面公网IP一暴露机器半小时就被扫描爆破到时候哭都来不及。最好再创建一个普通用户勾选“将此用户设为管理员”也就是加入wheel组以后日常操作就用普通用户需要管理员权限时用sudo。这个习惯能帮你挡掉很多由于手滑造成的误操作。3.8 安装过程中的暗门细节点“开始安装”之后进度条跑的同时可以顺手把root密码和用户创建完成。左侧菜单里两个选项对应的就是这两项。如果安装过程中报错想看到详细日志按CtrlAltF1可以切到终端界面查看anaconda的实时输出F2回到图形界面。这个细节很少有人提但排查安装卡死时有奇效。等进度条走完点“重启”。重启前记得拔掉U盘或者移除ISO挂载。重启后如果是Minimal安装会看到localhost login:的字符界面输入root和密码就登录成功如果是GNOME桌面则进入图形欢迎界面。4. 装完必做的初始化配置别急着跑业务4.1 确认网络和SSH远程登录登录系统后第一件事确认IP。执行ip addr看网卡有没有获取到地址。如果安装时没启用网卡这时打开网络有两种办法简单粗暴的是修改网卡配置文件路径是/etc/sysconfig/network-scripts/ifcfg-ens33具体名字以你机器里的文件为准。把ONBOOTno改成yes如果要用静态IP再把BOOTPROTOdhcp改成static追加IPADDR、NETMASK、GATEWAY、DNS1几行然后执行systemctl restart network。另一个办法是用NetworkManager的命令行工具nmcli执行nmcli connection up ens33同样能临时救急。网络通了以后确认sshd服务状态执行systemctl status sshd正常默认是运行的。然后用常用的远程终端工具连接比如Xshell、MobaXterm等。能远程登录以后这台机器就不需要你一直守着物理屏幕了后续操作全部远程搞定。4.2 软件源更换老CentOS 7用户都懂的必修课装完系统第一件正经事永远是处理yum源。执行yum repolist看看当前仓库状态如果总是慢得像蜗牛那就该换国内开源镜像站的源了。步骤很简单cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak然后把原文件里的baseurl改成镜像站对应的路径。CentOS 7的仓库主要分base、extras、updates三块镜像站的路径通常类似http://镜像站域名/centos/7/os/x86_64/。注意CentOS 7主流支持结束以后官方源的内容被移到了vault目录国内镜像站一般也有对应的vault路径换源时留意一下说明。改完执行yum clean all yum makecache顺手再装EPEL它提供大量默认仓库里没有的软件包yum install -y epel-release装完后同样留意EPEL的源路径必要时也换成国内镜像。4.3 系统更新与基础工具安装接着我习惯做两件事。第一件执行yum update -y把系统包更新到当前源里的最新版本。注意生产环境要不要立刻更新需要评估测试环境无所谓虚拟机里更无所谓。第二件安装一批运维常用的基础工具yum install -y vim wget curl net-tools tree lsof unzip telnet其中net-tools提供ifconfig、netstat等老牌命令排查网络很有用。如果你前面没勾选开发工具这里补装yum groupinstall Development Tools装完以后敲一下cat /etc/redhat-release正常会输出CentOS Linux release 7.9.2009到这里系统的底子就算打好了。4.4 防火墙与SELinux怎么处理CentOS 7默认防火墙是firewalld默认只放行SSH。如果你的机器要开web服务先加规则firewall-cmd --permanent --add-servicehttp firewall-cmd --reload如果需要自定义端口类似这样firewall-cmd --permanent --add-port8080/tcp firewall-cmd --reloadSELinux我建议保持默认的enforcing。很多人一遇到权限问题就关SELinux短期是省了事但长期来说是在给自己挖坑。如果确实想调试先临时用setenforce 0别直接改配置文件。等业务跑起来再去学习怎么正确放行SELinux策略这才是正规做法。4.5 时间同步与虚拟机快照时间同步是服务器的大问题。CentOS 7默认使用chrony检查一下systemctl status chronyd如果时间偏差大可以配置内网NTP服务器或者公共NTP服务器。在配置文件/etc/chrony.conf里加上服务器地址然后systemctl restart chronyd。虚拟机用户这里还有个建议系统配置得差不多以后立刻给虚拟机打一个快照。后面你装应用、改配置弄坏了一个还原就能回到这个干净状态省下的时间远超快照占用的那点磁盘。5. 常见问题与排查技巧照着做能省两小时5.1 U盘引导卡住、黑屏、花屏安装最容易出问题的环节就是U盘引导。如果你卡在grub界面或者黑屏按这个顺序排查换个USB 2.0接口老主板或者新主板对U盘兼容性都不一样用Rufus重新写一次U盘确认分区模式和BIOS引导方式一致关闭Secure Boot。还有一个通用招数在grub界面按e进入编辑找到以linux16开头的那一行在末尾追加nomodeset然后按Ctrlx启动。这个参数的作用是让显卡驱动走基本模式很多花屏、黑屏问题能当场解决。5.2 安装时找不到硬盘安装程序提示没有可用磁盘多半不是系统问题而是主板设置问题。最常见的两个原因一是BIOS里SATA模式是RAIDCentOS 7自带驱动不一定支持改成AHCI就好了二是虚拟机里创建磁盘时没有把磁盘连接到当前IDE/SATA控制器。如果是笔记本双硬盘或者安装时有多个硬盘也可以尝试在BIOS里暂时禁用不用的硬盘减少干扰。5.3 装完重启提示找不到操作系统这个情况我见得太多了。启动直接进BIOS界面或者显示“Operating System not found”原因是引导模式不匹配。比如机器固件是UEFI你却在安装时选择了Legacy引导或者反过来。解决办法进BIOS切换引导模式让主板和安装时的分区表类型一致如果确实不想切换那就重新安装手动分区时按UEFI需求创建/boot/efi分区。虚拟机用户也要注意创建虚拟机时固件类型选了UEFI安装引导就按UEFI走全程保持一致。5.4 安装完不能上网登录后发现网络不通多数是安装时没启用网卡或者网络配置不对。先执行ip link看系统识别到的网卡名称再执行nmcli device status看设备状态。如果网卡不是已连接状态执行nmcli connection up ens33这里的ens33换成你自己的网卡名。如果重启以后还是不通检查配置文件/etc/sysconfig/network-scripts/ifcfg-ens33确认ONBOOTyes。ping网关能通但解析不了域名说明DNS有问题检查cat /etc/resolv.conf确认配置了有效DNS。5.5 开机卡在emergency mode提示“Welcome to emergency mode”并进入紧急模式这是系统告诉你有挂载点出问题了。最常见原因是/etc/fstab里写了错误的挂载项比如UUID写错、设备名不对。输入root密码进入维护模式后先执行mount -a它会报出具体哪一行有问题。然后编辑/etc/fstab把报错的行注释掉或者修正保存后执行exit继续启动。如果是手动挂载的数据卷出了问题注释掉错误行就能进系统之后再慢慢修。5.6 忘记root密码的紧急重置办法这个操作在运维日常里是必备技能。重启机器到grub菜单按e进入编辑模式找到以linux16开头的那行在末尾追加一个参数rd.break按Ctrlx启动。等系统进入switch_root环境后依次执行mount -o remount,rw /sysroot chroot /sysroot echo 你的新密码 | passwd --stdin root touch /.autorelabel exit reboottouch /.autorelabel是为了让SELinux在下次启动时重新标记文件上下文否则改完密码以后SELinux模式为enforcing的机器很可能起不来。这个方法只用于紧急恢复改完默认root密码之后应该第一时间登录确认。5.7 yum源完全不可用换源之后yum repolist报错或者“Could not retrieve mirrorlist”一般是repo文件里的域名解析不了或者网络配置有问题。先确认能ping通镜像站域名能ping通但还是报错就手动检查repo文件的baseurl、gpgcheck这些参数。如果机器在公司内网可能只有内网镜像源那就需要把baseurl配成内网地址。另外CentOS 7停止常规更新以后老版本仓库里的软件包可能缺失遇到依赖无法安装优先安装EPEL补包。5.8 图形界面黑屏或分辨率不对打完图形桌面的同学可能会遇到开机黑屏。第一招还是引导参数加nomodeset基本能解决大部分开源驱动的显示问题。如果用的是NVIDIA独显CentOS 7对NVIDIA GPU的支持需要手动装驱动还要先屏蔽系统自带的nouveau开源驱动过程有点繁琐新手不建议一上来就弄。如果只是做服务器运维我真心建议直接用Minimal安装省资源也少受显卡驱动折磨。需要图形界面时用另一台电脑的浏览器访问服务器上的web管理界面比折腾桌面要舒服得多。5.9 排查问题用得顺手的几个命令最后整理几个排查服务器问题时经常用到的命令建议收藏命令用途dmesg | grep -i error查看内核输出中的错误信息journalctl -xb查看系统启动日志详情systemctl list-units --failed列出启动失败的服务lsblk、blkid查看块设备和UUID信息tail -f /var/log/messages实时跟踪系统日志遇到问题别急着重装系统先翻日志绝大多数故障的线索都在这些输出里。6. 关于装系统这件“小事”我最后再说几句我个人经手的CentOS 7安装不算少物理机、虚拟机、各种场景都碰过最深的体会是安装本身不复杂复杂的是安装前不做规划、装完不验证。好几次帮别人排查问题追到根上都是同一个原因装完系统根本没确认网络、没确认分区、没确认yum源等业务部署到一半才发现底子没打好返工成本特别高。所以我每次reboot之后都会先敲几条命令确认系统状态ip a看网络yum repolist看源df -h看分区这三条没问题这台机器才算真正落地。另外还要啰嗦一句虚拟机里装完系统第一件事记得拍个快照这个习惯能让你在后续折腾中省下大量时间。如果你刚接触Linux可以先用虚拟机完整地走两遍这个流程一遍选最小安装、一遍选带桌面环境每一条命令都亲手敲一遍比看十篇教程都有用。