Linux系统安装与root密码重置全攻略
1. Linux系统安装全流程解析
作为从2009年就开始折腾Linux的老用户,我至今记得第一次安装Ubuntu时把整个硬盘格式化的惨痛教训。本文将结合十余次不同发行版的安装经验,手把手带你完成Linux系统安装全流程,并附赠服务器运维中最关键的root密码重置技巧。
当前主流Linux发行版的安装过程已经高度图形化,但仍有几个关键决策点需要特别注意。我们以CentOS 7为例(兼顾企业级应用和桌面使用),其安装流程同样适用于RHEL、Fedora等基于RPM的发行版,Ubuntu/Debian系的主要差异会在文中特别说明。
重要提示:操作前请备份重要数据!特别是双系统安装时,错误的磁盘分区操作可能导致数据不可逆丢失。
1.1 安装介质准备
首先需要获取系统镜像(ISO文件)并制作启动盘。推荐从官方镜像站下载:
- CentOS: [镜像站地址]
- Ubuntu: [镜像站地址]
制作启动盘的三种主流方式:
- Rufus(Windows平台首选)
- 兼容性最佳,支持DD模式写入
- 需注意选择"GPT分区+UEFI"或"MBR分区+BIOS"匹配目标机器
- Etcher(跨平台工具)
- 操作最简单,自动校验写入结果
- 但对老旧主板兼容性稍差
- dd命令(Linux/macOS原生)
sudo dd if=CentOS-7-x86_64-DVD-2009.iso of=/dev/sdb bs=4M status=progress- 最底层可靠的方式
- 需特别注意of参数指向的是U盘设备而非分区
实测中,对于较新的电脑(2015年后),建议采用UEFI+GPT模式;老旧设备可能需要切换为Legacy BIOS模式。在笔者经手的Dell R720服务器上,曾因未关闭Secure Boot导致安装失败。
1.2 安装过程关键配置
插入启动盘后,通过BIOS/UEFI选择启动设备(通常按F12/F2/DEL键),进入安装界面后重点关注:
磁盘分区方案
- 自动分区:适合新手单系统安装
- 手动分区(推荐方案):
企业级环境建议单独划分:/boot 1GB xfs/ext4 /swap 内存1.5倍(服务器建议等于内存) / 剩余空间 xfs/ext4/var 10-20GB (日志文件) /home 独立分区 (用户数据)
血泪教训:曾经有台生产服务器因/var分区过小,导致日志写满整个根分区。建议根据业务类型预留空间,例如Web服务器应给/var/log额外分配空间。
软件包选择
- Minimal Install:最小化安装,适合服务器
- Server with GUI:带图形界面的服务器
- Workstation:开发工作站(包含开发工具)
个人建议:即使是服务器,初次安装也可选择"Server with GUI",后期通过以下命令切换:
systemctl set-default multi-user.target # 切换到命令行模式网络配置
安装时建议配置静态IP(特别是服务器):
BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.82. 首次启动后的必要设置
2.1 基础安全加固
安装完成后立即执行:
# 更新系统 sudo yum update -y # Ubuntu使用apt # 配置防火墙 sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --reload # 禁用root远程登录(生产环境必做) sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo systemctl restart sshd2.2 用户管理最佳实践
建议创建日常使用的普通用户并加入sudo组:
useradd -m -G wheel devuser # Ubuntu使用sudo组 passwd devuser记录所有用户操作(加入/etc/profile):
export HISTTIMEFORMAT="%F %T " export PROMPT_COMMAND='history -a'3. Root密码重置全攻略
当忘记root密码时,不同发行版的重置方法有所差异。以下是经过验证的通用方案:
3.1 物理机重置方案
- 重启系统,在GRUB菜单按"e"进入编辑模式
- 找到
linux16行,在末尾添加:rd.break console=tty0 - 按Ctrl+x启动进入紧急模式
- 依次执行:
mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel # SELinux环境需要 exit reboot
3.2 云服务器重置方案
主流云平台都提供VNC连接功能:
- 通过控制台连接实例
- 在GRUB界面按"e"修改启动参数
- 将
ro改为rw init=/sysroot/bin/sh - 按Ctrl+x启动后执行:
chroot /sysroot passwd root
特别提醒:AWS EC2实例需要使用密钥对获取临时root权限,不能直接修改密码。
3.3 预防措施
建议配置sudo权限替代直接使用root:
# 允许wheel组免密码sudo echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/admin4. 常见问题排查指南
4.1 安装阶段问题
问题1:安装介质启动后黑屏
- 解决方案:添加
nomodeset内核参数 - 原因:显卡驱动兼容性问题
问题2:分区表显示异常
- 解决方案:使用
parted工具重建GPT分区表parted /dev/sda mklabel gpt
4.2 密码重置问题
问题1:SELinux导致无法登录
- 解决方案:执行
restorecon -Rv /etc/shadow
问题2:GRUB编辑后不生效
- 解决方案:检查BIOS安全启动设置,可能需要禁用Secure Boot
5. 进阶技巧与优化建议
5.1 自动化安装
使用Kickstart(RHEL系)或Preseed(Debian系)实现无人值守安装。示例ks.cfg片段:
# 磁盘分区配置 clearpart --all --initlabel autopart --type=lvm # 软件包选择 %packages @^minimal-environment vim-enhanced %end5.2 性能调优
安装后建议调整:
# 禁用不必要的服务 systemctl disable avahi-daemon # 优化内核参数 echo "vm.swappiness = 10" >> /etc/sysctl.conf # 日志轮转配置 sed -i 's/rotate 4/rotate 12/' /etc/logrotate.conf在最近一次数据中心部署中,通过调整这些参数使MySQL服务器的QPS提升了15%。建议根据实际工作负载进行针对性优化。
对于开发环境,可以安装常用工具包:
# RHEL系 yum groupinstall "Development Tools" # Debian系 apt install build-essential记得定期更新系统并检查安全公告。我习惯设置每周自动安全更新:
yum install -y yum-cron systemctl enable --now yum-cron