码迷,mamicode.com
首页 > 系统相关 > 详细

Linux启动和故障排错

时间:2019-06-22 19:57:33      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:enc   mamicode   禁用   otf   tar   centos 7   --   通过   控制   

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启动和故障排错

标签:enc   mamicode   禁用   otf   tar   centos 7   --   通过   控制   

原文地址:https://blog.51cto.com/14322593/2412339

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!