centos驱动如何恢复
导读:CentOS 驱动恢复实用指南 一、先判断场景与进入救援环境 判断症状:是内核升级后起不来(找不到磁盘/根文件系统)、网卡/显卡驱动丢失(如 nvidia-smi 报错)、还是新内核启动黑屏/卡登录。 进入救援:重启,在 GRUB 菜单按...
CentOS 驱动恢复实用指南
一、先判断场景与进入救援环境
- 判断症状:是内核升级后起不来(找不到磁盘/根文件系统)、网卡/显卡驱动丢失(如 nvidia-smi 报错)、还是新内核启动黑屏/卡登录。
- 进入救援:重启,在 GRUB 菜单按 e,在内核行末尾临时追加参数(如 single、nomodeset、或 systemd.unit=rescue.target)进入单用户/救援模式;必要时用安装介质进入 Rescue Mode。
- 优先回退内核:若新内核导致问题,临时切回旧内核启动,后续再修复驱动或 initramfs。
二、常见场景与对应恢复步骤
-
内核升级后无法启动(initramfs 缺驱动,典型如存储控制器从 mpt2sas 到 mpt3sas)
- 查看旧/新内核模块与 initramfs 是否包含驱动:
lsinitrd -k 3.10.0-327.el7.x86_64 | grep mpt[23]sas
lsinitrd -k 4.4.46 | grep mpt[23]sas - 将缺失驱动打入 initramfs(二选一):
- 修改配置并重建:
echo ‘add_drivers+=“mpt3sas”’ > > /etc/dracut.conf
dracut -f /boot/initramfs-4.4.46.img 4.4.46 - 直接强制加入驱动:
dracut --force --add-drivers mpt3sas --kver=4.4.46
- 修改配置并重建:
- 验证并重启:
lsinitrd -k 4.4.46 | grep mpt[23]sas 有输出后再重启。
- 查看旧/新内核模块与 initramfs 是否包含驱动:
-
NVIDIA 驱动失效(nvidia-smi 报错无法通信,常见于内核升级)
- 切回旧内核启动(临时方案):
grub2-set-default ‘CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)’
grub2-editenv list
reboot - 在新内核上重建 DKMS 模块(推荐):
yum install -y dkms查看已存驱动版本目录:ls -l /usr/src/ | grep nvidia
dkms install -m nvidia -v 470.82.01 - 若仍异常,按当前运行内核重装驱动(安装器需匹配内核头文件):
bash NVIDIA-Linux-x86_64-440.82.run --no-opengl-files --kernel-source-path=$(uname -r) - 如与 ACPI 冲突导致黑屏/卡登录,可在启动时临时加 acpi=off 进入系统后再调整驱动或重装。
- 切回旧内核启动(临时方案):
-
网卡驱动缺失(ifconfig 仅 lo,或 lspci 识别到网卡但无驱动)
- 确认硬件与驱动:
lspci | grep -i ethernet
ethtool -i eth0 - 无编译环境时,用 CentOS ISO 制作本地 YUM 源,安装 gcc 与对应 kernel-devel;或提取 RPM 手动安装依赖。
- 获取并编译安装官方驱动(以 Broadcom NetXtreme II BCM5709 为例):
rpm -ivh netxtreme2-6.0.53-1.src.rpm
cd /usr/src/redhat/SPECS & & rpmbuild -bb netxtreme2.spec
cd …/RPMS/x86_64 & & rpm -ivh netxtreme2-6.0.53-1.x86_64.rpm
rmmod bnx2 & & modprobe bnx2 - 验证:ip a 能看到 eth0 即恢复。
- 确认硬件与驱动:
三、有备份时的快速回滚
- 备份内容:/etc/modprobe.d/、/etc/modules-load.d/、/etc/dracut.conf、/etc/dracut.modules.d/,以及硬件驱动信息(如 lshw)。
- 恢复步骤:
- 还原配置文件:
cp -r /path/to/backup/modprobe.d /etc/
cp -r /path/to/backup/modules-load.d /etc/
cp /path/to/backup/dracut.conf /etc/
cp -r /path/to/backup/dracut.modules.d /etc/ - 重建 initramfs 并重启:
dracut -f
reboot
- 还原配置文件:
- 专有驱动(如 NVIDIA)可按备份的版本信息重装对应 kmod-nvidia 或执行 nvidia-xconfig 后重启。
四、预防与排查要点
- 内核升级前备份关键配置,升级后在旧内核验证;必要时使用 DKMS 管理专有驱动模块,减少升级后重装。
- 存储/网卡等关键驱动未进 initramfs 是常见根因,使用 lsinitrd 核验并按需加入 /etc/dracut.conf 的 add_drivers 或执行 dracut 强制加入。
- 遇到 ACPI 与 NVIDIA 冲突,优先尝试临时引导参数(如 acpi=off)进入系统,再调整驱动或重装;必要时回退内核到已验证版本。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos驱动如何恢复
本文地址: https://pptw.com/jishu/779040.html
