Linux学习第十三天
解决方案:第一步lsmod |grep e1000 查看加载模块 ,第二步modinfo e1000检查模块信息 filename: /lib/modules/4.18.0-533.e18_10.x86_64/kernel/drivers/net/ethernet/intel/e1000/e1000.ko.xz,第三步rmmod e1000 && modprobe e1000重载驱动 ,第四步回滚
今天把常见的硬件问题和解决办法总结了,
GRUB引导故障
故障现象:系统启动卡在“GRUB>”提示符,无法进入系统
原因分析:GRUB配置文件损坏(/boot/grub/grub.cfg),或是引导文件被误删或磁盘损坏
解决步骤:在GRUB命令行依次执行
insmod xfs
set root=(hd0,msdos1)
linux16 /vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet
initrd16 /initramfs-3.10.0-1160.el7.x86_64.img
boot
进入系统后执行:grub2-mkconfig -o /boot/grub2/grub.cfg
文件系统只读故障
故障现象;无法创建文件,提示“Tead-only file system"
排查过程: dmesg | grep -i error 发现磁盘I/O错误 ,smartctl -a /dev/sda 检查磁盘健康状态
解决方案:卸载分区:umount /dev/sda1 强制修复:fsck -y /dev/sda1 或者xfs文件系统:xfs_repair /dev/sda1 ,重新挂载:mount -a
OOM Killer触发
故障现象:关键进程突然被终止,系统日志出现“Killed process”
分析工具:grep -i 'killed process' /var/lig/messages ,free -h 查看内存使用情况 ,vmstat 1 监控内存交换
优化方案:调整oom_score_adj:echo -100 > /proc/[PID]/oom_score_adj ,修改sysctl.conf:vm.overcommit_memory = 2 ,vm.overcommit_ratio = 80
系统启动卡住(initramfs损坏)
故障现象:启动时卡在“Loading initial ramdisk”
紧急处理:进入救援模式(troubleshooting)使用rescue a centos system ,选择 1 ,重建initramfs:chroot /mnt/sysimage ,dracut -f /boot/initramfs -$(uname -r),img $(uname -r) ,exit ,reboot ,例如之前调整了bios启动顺序,需要还原回来

磁盘空间耗尽
故障现象:服务异常,df显示使用率100%
快速定位:lsof -n | grep deleted 查找未释放空间的进程 ,du -xh --max-depth=1 / | sort -hr 定位大文件
典型场景:/var/log/journal 日志膨胀:journalctl --vacuum-size=100M ,/tmp目录堆积:rm -rf /tmp/*.tmp

逻辑卷无法扩展
故障现象:lvextend后文件系统为扩容
正确操作流程:lvextend -L +10G /dev/vg01/lv_data ,resize2fs /dev/vg01/lv_data # 对ext4文件系统 , xfs_grwfs /data 对XFS文件系统
注意事项:确保物理卷有足够空间:vgs查看Free PE ,在线扩容无需卸载
内核模块冲突
故障现象:系统更新后网卡失效
解决方案:第一步lsmod |grep e1000 查看加载模块 ,第二步modinfo e1000检查模块信息 filename: /lib/modules/4.18.0-533.e18_10.x86_64/kernel/drivers/net/ethernet/intel/e1000/e1000.ko.xz,第三步rmmod e1000 && modprobe e1000重载驱动 ,第四步回滚驱动:dnf reinstall kmod-e1000-4.18.0
或者驱动安装:insmod 驱动的路径

NTP时间不同步
故障现象:日志出现“Clock skew detected”警告
排错流程:第一步ntpq -pn 查看时间源状态 ,第二步chronyc sources -v 检查chrony同步状态 ,第三步systemctl restart chronyd ,第四步硬件时钟同步:hwclock --systohc

SELinux导致服务异常
故障现象:Apache无法访问自定义目录
诊断方法:第一步tail -f /var/log/audit/audit.log | grep httpd ,第二步sealert -a /var/log/audit/audit.log
解决方案:#临时解决:setenforce 0,#永久方案 第一步:semanage fcontext -a -t httpd_sys_cibtebt_t "/webroot(/.*)?" ,第二步:restorecon -Rv /webroot
root密码遗忘
在RHEL/CentOS 7 及更新版本中,如果忘记root密码,可以通过以下步骤重置(需物理/虚拟控制台访问权限):方法原理:通过修改GRUB2启动参数进入单用户模式,绕过身份验证直接获取root权限
详细步骤:第一步:重启系统并中断引导: 当系统启动到GRUB菜单时,快速按下方向键阻止自动引导 ,选择默认内核条目(通常第一条) 按‘e’键进入编辑模式
第二步:修改内核参数: 在linux16行(或linux行)末尾追加:rd.break enforcing=0 ,修改后的完整行示例:linux16 /vmlinuz-3.10.0-1160.e17.x86_64 root=/dev/mapper/rhel-root rw rd.break enforcing=0
第三步:进入紧急模式:按Ctrl+X 启动系统,进入紧急救援模式的shell环境 ,此时文件系统挂载在/sysroot(只读模式)
第四步 :切换根目录:chroot /sysroot
第五步:修改root密码:此时以获得完整的root权限 passwd root 输入新密码两次(不会显示输入内容)(如果输入不了export LANG=c)
第六步:修复SELinux上下文:强制重新标记文件系统(重要!) touch /.autorelabel
第七步:推出并重启:exit ,reboot

注意事项:
磁盘加密系统:若启用了LUKS加密,需先解密再操作,
云服务器:部分云平台需通过VNC或救援模式操作
时间控制:.autorelabel 会导致首次重启时间较长(约5-15分钟)
UEFI系统:可能需要关闭Secure Boot功能
审计日记:系统日志会记录密码修改操作(/var/log/audit/audit.log)
更多推荐
所有评论(0)