Linux启动和故障排错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux启动和故障排错相关的知识,希望对你有一定的参考价值。

Linux启动和故障排错

系统启动流程:

系统初始化:
POST --> BootSequence (Bios) --> Bootloader(MBR) -->kernel(ramdisk) -->rootfs(只读) -->init(systemd)
init程序的类型:
Upstart: init,CentOS 6
配置文件:
/etc/inittab, /etc/init/*.conf
Systemd:systemd, CentOS 7
配置文件:/usr/lib/systemd/system
/etc/systemd/system
———————————————————————————————
1、上电POST自检,加载BIOS的硬件信息,获取第一个启动设备
2、读取第一个启动设备MBR里的引导加载程序(grub)的启动信息
3、加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4、核心执行init程序,并获取默认的运行信息
5、init程序执行/etc/rc.d/rc.sysinit文件
6、启动核心的外挂模块
7、init执行运行的各个批处理文件(scripts)
8、init执行/etc/rc.d/rc.local
9、执行/bin/login程序,等待一会登录
10、登录之后开始以shell控制主机
———————————————————————————————

实验一:破坏本机grub stage1,并修复

①将/dev/sda硬盘前446字节清零

技术图片

②reboot,排错,进入救援模式修复
重启系统?法进?正常的原来系统,启动时按F2键,进?BIOS设置第?启动设备为CD-ROOM设备
光盘启动界?,选择救援模式即第3?,回车确定

技术图片
切根,安装grub修复即可
技术图片

实验二:删除vmlinuz和initramfs?件后?法启动,并修复

①删除两个文件

技术图片

②reboot,进入救援模式修复
方法一
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
chroot /mnt/sysimage #切换/
mkinitrd /boot/initramfs-uname -r.img uname -r
cp /mnt/cdrom/isolinux/vmlinuz /boot/vmlinuz-uname -r
sync #写入磁盘
方法二
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/kernel-2.6.32-696.e16.x86_64.rpm --root=/mnt/sysimage/ --force

实验三:删除grub.conf?件,修复启动

①rm -f /boot/grub/grub.conf;reboot
②进?grub界?,指定内核及参数和虚拟磁盘映像?件

技术图片

③boot启动后,重新创建grub.conf文件
vim /boot/grub/grub.conf

技术图片

④reboot;测试是否可以正常启动

实验四:破坏grub stage2;删除/etc/fstab和/boot?录的所有?件,并修复

①删除fstab和/boot下所有文件

技术图片

②重启,进入救援模式,通过挂载测试看到/dev/sda2是根目录

技术图片

③vi /mnt/roofs/etc/fstab;创建fstab文件

技术图片

④exit;reboot;
⑤建立文件夹并挂载;解压缩

技术图片

⑥切根并安装gurb;自建配置grub.conf文件

技术图片
技术图片

⑦禁用selinux,重启测试即可

技术图片

以上是关于Linux启动和故障排错的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#启动流程和grub故障排错

LINUX系统开启故障排错及linux-4.16.8内核编译安装

Linux命令应用大词典-第37章 Linux系统故障排错

CentOS启动故障排错

NFS服务器故障排错日记

[白开水]-故障-启动类故障排错记录- Read-only file system