
1. 从Windows到CentOS一次彻底的系统环境重塑如果你已经厌倦了Windows的频繁更新、潜在的隐私顾虑或者作为一名开发者、运维人员需要一个稳定、高效、完全可控的服务器环境那么将你的电脑从Windows彻底重装为Linux尤其是像CentOS 7.9这样的企业级发行版无疑是一个极具吸引力的选择。这不仅仅是更换一个操作系统更像是给你的电脑进行一次“底层架构”的重构从一个面向大众消费的通用平台转向一个为稳定运行和深度定制而生的专业环境。我经历过多次这样的转换从个人笔记本到老旧服务器每一次都像是一次“系统大扫除”清除了不必要的预装软件和后台服务获得了对硬件资源的完全掌控权。这篇文章就是为你梳理这条转换之路从前期思想准备、工具选择到具体的每一步操作、可能遇到的坑以及装完后的基础配置我会把我踩过的雷、总结的技巧都摊开来讲清楚。无论你是想搭建一个本地的开发/测试环境还是让一台旧电脑焕发新生作为家庭服务器跟着步骤走你都能顺利完成这次系统环境的“重塑手术”。2. 重装前的核心考量与准备工作在动手格式化硬盘之前充分的准备是避免灾难性后果比如数据全丢的关键。这个阶段的核心是明确目标、备份数据、制作工具。2.1 明确你的目标与硬件兼容性首先问自己我为什么要装CentOS 7.9是为了学习Linux运维、搭建Web服务器如NginxPHP、运行数据库如MySQL/Redis还是单纯想要一个更干净、更高效的系统CentOS 7.9作为RHELRed Hat Enterprise Linux的免费复刻版以其超长的生命周期支持到2024年6月和极致的稳定性著称非常适合用于生产服务器或需要长期稳定运行的环境。但对于桌面日常使用它的软件仓库可能略显陈旧桌面环境如GNOME也不如Ubuntu等发行版友好。如果你的目标是桌面办公娱乐或许Fedora、Ubuntu是更好的起点。接下来是硬件兼容性。CentOS 7.9内核版本较老3.10.x对非常新的硬件特别是2020年后发布的笔记本涉及Wi-Fi 6网卡、最新核显/独显支持可能不佳。建议先到电脑或主板官网查看是否有提供Linux驱动或者用“你的电脑型号 Linux”作为关键词搜索看看社区反馈。一个折中的方法是先在虚拟机如VMware Workstation或VirtualBox里安装体验测试硬件特别是声卡、网卡、显卡是否能正常工作。2.2 数据备份不容有失的第一步重装系统会清空你指定安装的分区通常是整个硬盘或某个分区上的所有数据。请务必、务必、务必进行完整备份。我个人的备份策略是“三级备份法”云端备份将最重要的文档、代码、配置文件同步到网盘如OneDrive, Google Drive或自建的NAS/私有云。外部硬盘备份将整个用户文件夹C:\Users\你的用户名拷贝到移动硬盘或大容量U盘。别忘了浏览器书签、聊天记录如微信的文件存储路径WeChat Files、邮件客户端数据等。系统镜像备份可选但推荐使用Dism或Acronis True Image等工具为当前Windows系统创建一个完整的镜像文件存放到外部硬盘。这是最后的“后悔药”万一新系统不适应或安装失败可以快速回滚。注意不要只备份到电脑的另一个分区如D盘。因为在某些安装方案下你可能会选择格式化整个硬盘包括所有分区。2.3 启动盘制作选对工具事半功倍制作Linux启动盘本质是将一个ISO镜像文件“刻录”到U盘并使其具备引导能力。你需要准备一个容量至少8GB的U盘制作过程会清空U盘请提前转移数据。CentOS 7.9的ISO镜像文件从官方或国内镜像站下载。推荐下载CentOS-7-x86_64-DVD-2009.iso或CentOS-7-x86_64-Minimal-2009.iso。Minimal版本更精简适合服务器DVD版本包含更多软件包桌面安装更方便。刻录工具Windows下首推Rufus其次Ventoy。Rufus简单粗暴直接将ISO“烧录”到U盘。优点是兼容性极佳几乎能应对所有老旧主板。操作时选择你的U盘点击“选择”按钮加载下载的ISO文件分区类型通常选“MBR”针对传统BIOS或“GPT”针对UEFI具体需与你电脑的启动模式匹配下文详述然后点击“开始”即可。Ventoy革命性的工具。你只需将Ventoy安装到U盘一次之后就可以直接把多个ISO文件像普通文件一样拷贝到U盘里。启动时Ventoy会提供一个菜单让你选择要启动哪个ISO。这对于需要测试多个Linux发行版或经常重装系统的人来说太方便了。但对于某些特别老的主板其兼容性可能略逊于Rufus的直接刻录方式。我个人的习惯是常备一个用Ventoy制作的多系统U盘里面放了CentOS、Ubuntu、Windows PE等镜像同时针对重要的、一次性的安装比如给服务器装系统我会用Rufus单独刻录一个U盘以求最大程度的安装过程稳定。3. 深入理解启动模式BIOS vs. UEFI这是安装过程中最容易卡住的一环。现代电脑的启动方式主要有两种传统的BIOS/Legacy和新的UEFI。它们决定了系统如何找到并加载引导程序。BIOS/Legacy使用MBR分区表。系统启动时BIOS读取硬盘第一个扇区MBR中的引导代码然后加载活动分区上的引导程序如GRUB。MBR分区表最多只支持4个主分区或3个主分区1个扩展分区内含多个逻辑分区且最大支持2TB硬盘。UEFI使用GPT分区表。系统启动时UEFI固件直接读取EFI系统分区ESP一个FAT32格式的小分区中的.efi引导文件。GPT分区表没有分区数量限制支持超过2TB的大硬盘安全性更好支持Secure Boot。如何判断你的电脑是哪种模式在Windows中可以按WinR输入msinfo32回车在“系统信息”窗口中查看“BIOS模式”。如果显示“传统”则是Legacy如果显示“UEFI”则是UEFI。安装时的关键匹配原则启动模式你用什么模式引导U盘在开机时按F12/F2/Del等键进入启动菜单选择安装程序就会倾向于以同种模式安装系统。例如从UEFI模式的U盘启动安装程序默认会配置UEFI引导。分区表类型这通常由启动模式决定。UEFI启动必须对应GPT分区表而Legacy启动对应MBR分区表。在安装CentOS进行分区时如果硬盘是空的安装程序会根据启动模式自动建议分区表类型。实操心得如果你的电脑支持UEFI强烈建议使用UEFIGPT模式安装这是现代标准未来兼容性更好。如果电脑较老仅支持Legacy那就用MBR。最混乱的情况是“混合模式”即电脑支持UEFI但默认以Legacy启动这时你需要进入BIOS设置明确关闭“CSM”兼容性支持模块或“Legacy Support”以启用纯UEFI模式避免后续引导问题。4. CentOS 7.9 详细安装流程实录假设你已经备份好数据并用Rufus以UEFI模式刻录好了CentOS 7.9 DVD镜像的U盘。下面我们开始安装。4.1 启动与安装程序初始化插入U盘重启电脑。在开机自检画面快速按下启动菜单键常见的有F12, F2, Esc, Del具体看屏幕提示或查主板手册。在启动菜单中选择带有“UEFI: [你的U盘品牌名]”字样的选项启动。这会进入CentOS安装引导界面。选择“Install CentOS 7”并回车。你会进入一个蓝黑色的安装界面。第一个可能遇到的坑屏幕显示异常。如果安装界面花屏、闪烁或只显示一部分这通常是显卡驱动问题。在引导菜单选择“Install CentOS 7”时先按Tab或E键具体看屏幕下方提示进入编辑模式。在vmlinuz开头的行末尾空格后添加参数nomodeset然后按CtrlX或F10启动。这个参数会禁用内核模式设置使用基本的显示驱动保证安装过程正常进行。4.2 语言、时区与安装源配置安装界面首先让你选择语言建议选“中文-简体中文”这样后续步骤和安装好的系统部分提示会是中文。 接下来是“安装信息摘要”界面这是配置的核心。你需要逐一设置本地化日期和时间点击进入在地图上选择“亚洲/上海”或者手动设置。务必关闭“网络时间”同步因为此时还未配置网络开启会导致设置失败卡住。系统装好后再开启。键盘保持“汉语”即可。语言支持主语言已选“中文”可以添加“英文”支持方便某些命令行环境。软件安装源默认是“本地介质”即你的安装U盘无需改动。如果是网络安装才需要配置URL。软件选择这是关键步骤默认是“最小安装”只有一个纯命令行界面。对于新手或需要桌面环境的用户请务必点击进入在左侧选择“带GUI的服务器”或“开发及生成工作站”。右侧可以勾选你需要的附加组件比如“开发工具”包含GCC, Make等编译工具必选、“系统管理工具”、“图形管理工具”。我一般选“带GUI的服务器”再勾选“开发工具”这样既有图形界面方便初期操作又具备了基础的开发环境。系统安装位置即磁盘分区这是重头戏我们单独在下一节详细讲。KDUMP内核崩溃转储工具用于调试。对于个人学习或资源紧张的机器可以关闭它能节省一点内存。网络和主机名点击进入在右上角打开以太网连接如果有线网已插或配置Wi-Fi。然后在下方的“主机名”处输入你喜欢的名字比如mycentos并点击“应用”。强烈建议在这里就配置好网络因为后续安装可能需要从网络获取更新包。4.3 磁盘分区方案详解手动分区更可控点击“安装位置”你会看到你的磁盘。选择“我要配置分区”然后点击“完成”进入手动分区界面。对于UEFIGPT模式CentOS 7.9至少需要以下三个分区挂载点建议大小文件系统类型说明/boot/efi200MB - 1GBEFI系统分区UEFI引导必需。用于存放引导文件。/boot1GBxfs 或 ext4存放Linux内核和引导相关文件。1GB足够。/(根分区)剩余空间的绝大部分xfs (CentOS 7默认)系统根目录存放所有系统文件和用户数据。对于LegacyMBR模式则不需要/boot/efi但需要一个biosboot分区约1MB不过CentOS安装程序在MBR模式下通常会自动处理你只需要创建/boot和/即可。一个更推荐的、适合新手的方案UEFI模式点击“”按钮添加/boot/efi分区大小设为1024MiB文件系统为EFI系统分区。再点击“”添加/boot分区大小设为1024MiB文件系统为xfs。最后点击“”添加/分区在“期望容量”处留空表示使用所有剩余空间文件系统为xfs。点击“完成”会有一个“更改摘要”弹窗确认无误后点击“接受更改”。注意事项如果你内存较大比如16GB以上可以考虑单独划分一个swap交换分区大小通常为物理内存的1-2倍例如16GB内存swap给16-32GB。但在CentOS 7中如果内存足够大安装程序可能不会强制要求swap。对于带有GUI的系统如果内存小于8GB建议还是分一个swap。4.4 用户设置与安装执行分区完成后回到摘要界面开始最后设置网络和主机名确认网络已连接主机名已设好。安全策略可以先保持默认安装后再配置。根密码点击“根密码”为超级管理员root设置一个强密码。务必牢记此密码。创建用户点击“创建用户”创建一个你的日常使用账户如yourname并设置密码。建议勾选“将此用户设为管理员”这样该用户就可以使用sudo命令执行管理任务比直接使用root更安全。所有配置检查无误后点击右下角的“开始安装”。安装程序会格式化磁盘、复制文件、安装软件包。这个过程取决于你的电脑性能和所选软件包数量通常需要10-30分钟。安装完成后点击“重启”按钮。重启时记得拔掉U盘否则可能会再次从U盘启动。5. 首次启动后的关键配置与优化重启后你会看到GRUB引导菜单如果装了多个系统会显示选择项选择CentOS进入。首次启动会有一个初始化设置向导。5.1 许可协议与初始设置同意许可协议然后进入“初始设置”。连接在线账号可以跳过。创建普通用户如果你在安装时已经创建了这里会直接显示输入密码登录即可。如果没创建这里可以补一个。登录后可能会提示你设置语言、输入法、隐私选项等按需配置即可。5.2 配置网络特别是静态IP对于服务器配置静态IP比动态获取DHCP更稳定。在桌面环境你可以点击右上角网络图标进行图形化设置。但更通用的是命令行方式打开终端。找到网卡配置文件。CentOS 7的网络配置文件在/etc/sysconfig/network-scripts/目录下文件名类似ifcfg-ens33或ifcfg-eth0ens33是网卡名你的可能不同可以用ip addr命令查看。cd /etc/sysconfig/network-scripts/ ls ifcfg-* # 查看有哪些配置文件编辑你的网卡配置文件例如ifcfg-ens33sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33你需要修改或确保有以下关键行根据你的网络环境修改BOOTPROTOstatic # 将dhcp改为static ONBOOTyes # 开机自启 IPADDR192.168.1.100 # 你想要的静态IP地址 NETMASK255.255.255.0 # 子网掩码或使用PREFIX24 GATEWAY192.168.1.1 # 你的网关地址通常是路由器IP DNS18.8.8.8 # 首选DNS DNS2114.114.114.114 # 备用DNS提示如果你不熟悉vi编辑器可以使用nanosudo nano ifcfg-ens33它更简单。保存vi是按Esc后输入:wq回车保存nano是按CtrlX然后按Y确认回车保存文件名。重启网络服务使配置生效sudo systemctl restart network测试网络ping www.baidu.com看是否能通。5.3 更新系统与安装基础工具刚装好的系统首先更新所有软件包到最新版本并安装一些常用工具# 1. 更新系统-y 参数表示自动回答yes sudo yum update -y # 2. 安装常用工具 sudo yum install -y wget curl vim net-tools bash-completion epel-release # wget/curl: 下载工具 # vim: 强大的文本编辑器比默认的vi更好用 # net-tools: 包含ifconfig等传统网络工具虽然ip命令是未来但ifconfig更广为人知 # bash-completion: 命令自动补全增强 # epel-release: 安装EPEL扩展仓库提供大量额外软件包5.4 配置防火墙与SELinux可选但重要CentOS 7默认开启了firewalld防火墙和SELinux安全模块。对于个人学习环境为了减少初期麻烦可以选择暂时调整。防火墙如果你只是本地使用或者需要开放某些端口如SSH的22Web的80/443可以配置firewalld。# 查看防火墙状态 sudo systemctl status firewalld # 永久开放80端口HTTP sudo firewall-cmd --permanent --add-port80/tcp # 永久开放22端口SSH sudo firewall-cmd --permanent --add-port22/tcp # 重载防火墙配置 sudo firewall-cmd --reload # 查看已开放的端口 sudo firewall-cmd --list-ports如果确定不需要防火墙可以关闭并禁用生产环境慎用sudo systemctl stop firewalld sudo systemctl disable firewalldSELinux它是一个强大的安全策略但过于严格常常导致各种权限问题。对于新手可以将其模式改为“宽容”模式仅记录违规而不阻止或者直接禁用。# 查看当前状态 getenforce # 显示 Enforcing强制, Permissive宽容, 或 Disabled禁用 # 临时设置为宽容模式重启后失效 sudo setenforce 0 # 永久设置为宽容模式编辑配置文件 sudo vi /etc/selinux/config # 将 SELINUXenforcing 改为 SELINUXpermissive # 然后重启系统重要提示在真正理解SELinux之前不建议在生产服务器上直接禁用。permissive模式是一个很好的折中它让你能看到哪些操作会被SELinux阻止通过查看/var/log/audit/audit.log而不会真正影响服务运行。6. 常见问题与故障排查实录即使按照步骤操作也可能会遇到一些问题。这里记录几个我遇到的高频问题。6.1 安装后无法进入图形界面黑屏或卡在命令行现象重启后没有出现图形登录管理器而是显示一个黑色屏幕或直接进入命令行tty1。原因最常见的原因是显卡驱动不兼容或者安装时未正确选择带GUI的软件包。排查与解决首先在命令行登录输入root或你的用户名密码。检查是否安装了图形界面systemctl get-default如果返回multi-user.target说明系统默认启动到命令行。可以尝试启动图形界面sudo systemctl set-default graphical.target # 设置默认启动图形界面 sudo systemctl isolate graphical.target # 立即切换到图形界面如果命令执行后屏幕闪烁但仍无法进入GUI可能是显卡驱动问题。安装基础显卡驱动对于Intel/NVIDIA/AMD通用sudo yum groupinstall X Window System GNOME Desktop安装完成后重启。如果还是不行可能是NVIDIA独显的问题。需要先安装EPEL仓库和ELRepo仓库然后安装NVIDIA驱动过程较复杂需根据显卡型号查找具体教程。一个临时的解决办法是使用nomodeset内核参数如前所述但这会牺牲图形性能。6.2 系统启动时卡在“A start job is running for /dev/disk/by-uuid/...”现象启动过程中屏幕显示一行提示大意是“一个启动任务正在等待 /dev/disk/by-uuid/... 的设备”并且有一个90秒的倒计时。原因系统在等待某个磁盘设备就绪但该设备不存在或无法挂载。常见于更改了硬盘顺序、移除了旧硬盘或者/etc/fstab文件中有错误的磁盘UUID挂载配置。解决在倒计时界面你可以按CtrlC中断这个等待系统可能会继续启动。进入系统后检查/etc/fstab文件sudo cat /etc/fstab查看是否有指向不存在的设备或错误UUID的行。每一行代表一个开机自动挂载的分区。使用blkid命令查看当前所有磁盘分区的正确UUIDsudo blkid对比blkid的输出和/etc/fstab中的内容将错误的UUID修正或者注释掉在行首加#那行不需要的挂载配置。保存文件后执行sudo mount -a测试配置是否正确无报错即可然后重启。6.3 网络连接不上特别是Wi-Fi现象在桌面环境无法连接Wi-Fi或者在命令行下ping不通外网。排查步骤检查硬件开关有些笔记本有物理的无线开关或FnFx组合键确保Wi-Fi已开启。检查网卡驱动lspci | grep -i network # 查看有线网卡 lspci | grep -i wireless # 查看无线网卡确认网卡型号已被识别。对于某些较新的无线网卡如Intel AX201, Realtek 8852AECentOS 7.9的内核可能没有内置驱动。这就需要手动编译安装驱动过程比较棘手。一个替代方案是使用USB无线网卡并选择Linux兼容性好的型号如某些采用RTL8812BU芯片的网卡。检查NetworkManager服务CentOS 7的桌面网络由NetworkManager管理。sudo systemctl status NetworkManager # 查看状态 sudo systemctl start NetworkManager # 启动服务 sudo systemctl enable NetworkManager # 设置开机自启命令行连接Wi-Fi如果桌面工具失效# 查看可用的Wi-Fi网络 sudo nmcli device wifi list # 连接到一个网络将SSID和密码替换成你的 sudo nmcli device wifi connect 你的Wi-Fi名称 password 你的Wi-Fi密码6.4 软件安装失败yum报错现象运行sudo yum install命令时出现类似“Cannot find a valid baseurl for repo: base/7/x86_64”或“Could not resolve host”的错误。原因网络问题或者yum仓库镜像源配置不正确特别是从DVD安装后默认可能指向DVD介质。解决备份原仓库文件cd /etc/yum.repos.d/ sudo mkdir bak sudo mv *.repo bak/使用阿里云或清华的镜像源以阿里云为例sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo清理缓存并重建sudo yum clean all sudo yum makecache再次尝试安装软件。7. 进阶配置让CentOS更好用系统装好、基础问题解决后可以进行一些优化让它用起来更顺手。7.1 配置SSH远程登录如果你打算把这台机器作为服务器SSH是远程管理的必备工具。安装SSH服务器通常已预装sudo yum install -y openssh-server启动并设置开机自启sudo systemctl start sshd sudo systemctl enable sshd可选但推荐修改SSH配置以增强安全sudo vi /etc/ssh/sshd_config修改默认端口找到#Port 22去掉注释并改成其他端口如Port 2222防止被端口扫描工具轻易攻击。禁止root直接登录找到#PermitRootLogin yes改为PermitRootLogin no。这样你必须先用普通用户登录再用su或sudo切换为root。使用密钥登录更安全的方式是禁用密码登录使用公钥/私钥对。这需要先在客户端生成密钥对然后将公钥上传到服务器的~/.ssh/authorized_keys文件中。配置项是PasswordAuthentication和PubkeyAuthentication。 修改后保存重启SSH服务sudo systemctl restart sshd。注意修改端口或禁用密码前务必确保你有其他方式如本地控制台能访问服务器并且密钥登录已配置成功否则可能把自己锁在外面。7.2 安装并配置DockerDocker是容器化的标准在CentOS上安装也很方便。卸载旧版本如果有sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine安装依赖和设置仓库sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装Docker引擎sudo yum install -y docker-ce docker-ce-cli containerd.io启动并设置开机自启sudo systemctl start docker sudo systemctl enable docker将当前用户加入docker组以便无需sudo运行docker命令sudo usermod -aG docker $USER然后注销并重新登录使组更改生效。验证安装docker run hello-world如果能成功运行说明Docker安装成功。7.3 时间同步配置服务器时间准确至关重要。使用chronyd服务进行时间同步。安装chrony通常已安装sudo yum install -y chrony启动并启用服务sudo systemctl start chronyd sudo systemctl enable chronyd查看同步状态chronyc sources -v输出中应该能看到几个^*或^的源表示已成功同步。从Windows切换到CentOS最初的一两周可能会有些不适应特别是文件管理、软件安装方式的不同。但一旦你熟悉了命令行和yum包管理你会爱上这种高效和透明。我的体会是把常用命令记在笔记里比如用alias设置一些快捷命令遇到问题多查社区CentOS/RHEL的文档和论坛非常丰富成长会很快。这台“重生”的电脑现在是一个由你完全掌控的、稳定且干净的平台无论是作为学习Linux的沙盒还是承载你的下一个项目它都已准备就绪。