☰
CentOS 7完整安装指南:镜像选择、分区配置与常见故障排查
2026/10/17 16:18:04 网站建设 项目流程

很多人问我,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 if=CentOS-7-x86_64-Minimal-2009.iso of=/dev/sdb bs=4M status=progress && 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密码和用户创建完成。左侧菜单里两个选项对应的就是这两项。如果安装过程中报错,想看到详细日志,按Ctrl+Alt+F1可以切到终端界面查看anaconda的实时输出;F2回到图形界面。这个细节很少有人提,但排查安装卡死时有奇效。等进度条走完,点“重启”。重启前记得拔掉U盘或者移除ISO挂载。重启后,如果是Minimal安装,会看到localhost login:的字符界面,输入root和密码就登录成功;如果是GNOME桌面,则进入图形欢迎界面。

4. 装完必做的初始化配置:别急着跑业务

4.1 确认网络和SSH远程登录

登录系统后第一件事,确认IP。执行ip addr看网卡有没有获取到地址。如果安装时没启用网卡,这时打开网络有两种办法:简单粗暴的是修改网卡配置文件,路径是/etc/sysconfig/network-scripts/ifcfg-ens33,具体名字以你机器里的文件为准。把ONBOOT=no改成yes,如果要用静态IP,再把BOOTPROTO=dhcp改成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-service=http firewall-cmd --reload

如果需要自定义端口,类似这样:

firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload

SELinux我建议保持默认的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,然后按Ctrl+x启动。这个参数的作用是让显卡驱动走基本模式,很多花屏、黑屏问题能当场解决。

5.2 安装时找不到硬盘

安装程序提示没有可用磁盘,多半不是系统问题,而是主板设置问题。最常见的两个原因:一是BIOS里SATA模式是RAID,CentOS 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,确认ONBOOT=yes。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,按Ctrl+x启动。等系统进入switch_root环境后依次执行:

mount -o remount,rw /sysroot chroot /sysroot echo '你的新密码' | passwd --stdin root touch /.autorelabel exit reboot

touch /.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,可以先用虚拟机完整地走两遍这个流程,一遍选最小安装、一遍选带桌面环境,每一条命令都亲手敲一遍,比看十篇教程都有用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询