Linux系统故障排除
可能出现的故障:
1,管理员密码忘记
进入单用户模式修改密码
2.系统无法正常启动
a.grub损坏(MBR损坏,grub配置文件丢失)
b.系统初始化故障(某文件系统无法正常挂载、驱动不兼容)
c.服务故障
d. 用户无法登陆系统(bash程序故障)
3.命令无法运行
4.编译过程无法继续(开发环境缺少基本组件)
模拟故障
1 MBR损坏#
1.1.先备份好MBR:dd if=/dev/sda of=/root/mbr.back bs=512 count=1
说明:主引导记录512字节中前446是MBR代码(即:bootloader),后64字节包含分区表信息,最后2字节标识是MBR。(在装双系统的时候一般本分的是前446个字节)
1.2.破坏掉MBR:
1 dd if=/dev/zero of=/dev/sda count=1 bs=200 2 sync
3 shutdown -r now
解决办法:
1. 借助别的主机的进行恢复
2. 使用紧急救援模式
a. boot.iso
b. 使用完整的系统安装盘
在紧急救援模式下,文件系统都被挂载到/mnt/sysimage下(read-only,rw)
1 root (hd0,0) 2 3 setup (hd0) 4 5 quit 6 7 sync 8 9 reboot
grub配置文件丢失#
mv /boot/grub/grub.conf /root/,系统重启将直接进入grub
解决办法:
root (hd0,0) kernel /vmlinuz-(再按tab键) initrd /initrd-(再按tab键) boot
如果不小心 rm -rf /bin/bash,系统将不能正常开机
按F2通过光盘启动进入紧急救援模式,通过挂在光盘的方式安装bash.rpm:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了