系统的启动过程

系统的启动过程
常见启动错误排错
救援模式

开机键开机—>BIOS 加电自检 确定引导设备,加载boot loader—>mbr 512
|
446 64 2
boot loader 分区表 魔法分割符
|
stage1–>stage1.5—>stage2 是由stage1.5引导的,是真正的引导程序,即加载grub的配置文件

boot loader 引导加载器 grub主要功能就是识别操作系统的文件格式和加载内核和驱动。
stage1 是主程序(引导程序的指针,安装在mbr中),执行bootloader
stage1.5是文件系统,是stage1和stage2的桥梁
stage2 是由stage1.5引导的,是真正的引导程序,即加载grub的配置文件grub.conf

cat /etc/grub.conf /boot/grub/gub.conf
default=0 //默认启动系统,第一个title编号就是0 第二个title编号就是1
timeout=5 //读秒时间
splashimage=(hd0,0)/grub/splash.xpm.gz //读秒是的背景图片 hd0,0 hd0是第一块硬盘 0第一个分区 hd0,0 第一块硬盘的第一个分区
hiddenmenu //隐藏菜单
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64) //系统的名称
root (hd0,0) //root的引导分区 hd0,0 第一块硬盘的第一个分区
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=64ee0f70-4051-41f4-ab46-aa17fd8969fe nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet //指定内核的位置以及传递给内核一个参数,第一个/是引导分区,不是根,引导分区就是/boot下的文件,后面的uuid才是真正的根
initrd /initramfs-2.6.32-431.el6.x86_64.img //提供虚拟文件系统
|
内核启动第一个进程init
|
init的配置文件
/etc/inittab
/etc/init/rcS.conf – /etc/rc.d/rc.sysinit 初始化系统文件
/etc/init/rc.conf 运行对应级别的服务的脚本(脚本位置/etc/rc.d/init.d)
/etc/rc.d/rc5.d
K 开机不启动 S 开机启动
|
进入系统之前最后一个执行脚本rc.local
|
login
|
加载图形资源
|
login
|
加载环境变量

第一阶段:bios
案例:设备引导顺序错误
解决方法:进入bios调整

第二阶段:GRUB
mbr的bootloader损坏怎么办?

案例:

df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 5.3G 12G 33% /
tmpfs 931M 228K 931M 1% /dev/shm
/dev/sda1 194M 34M 150M 19% /boot
/dev/sr0 3.6G 3.6G 0 100% /mnt/redhat6u5

dd if=/dev/zero of=/dev/sda bs=1 count=400

reboot

解决方案:使用光盘进入救援模式
选择跳过加载网络,选择shell
bash-4.1#grub
grub> root (hd0,0) //指定引导分区
grub> setup (hd0) //安装grub主程序到mbr
grub> quit
bash-4.1# poweroff

mbr损坏怎么办?512
系统装在/dev/sda上破坏sda的mbr
准备分区/dev/sdb1 挂载在/quota
备份mbr

dd if=/dev/sda of=/quota/mbr.txt bs=1 count=512

破坏

dd if=/dev/zero of=/dev/sda bs=1 count=512

reboot

解决方案:使用光盘进入救援模式
选择跳过加载网络,选择shell
bash-4.1# cd /mnt/sysimage
bash-4.1# mkdir aa
bash-4.1# mount /dev/sdb1 aa
bash-4.1# cd aa
bash-4.1# ls
mbr.txt
bash-4.1# dd if=mbr.txt of=/dev/sda bs=1 count=512
bash-4.1# reboot

grub.conf文件损坏怎么办?
案例:

df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 5.3G 12G 33% /
tmpfs 931M 228K 931M 1% /dev/shm
/dev/sda1 194M 34M 150M 19% /boot
/dev/sr0 3.6G 3.6G 0 100% /mnt/redhat6u5

cp /etc/grub.conf /tmp

rm -rf /boot/grub/grub.conf

reboot

解决方案:
grub > root (hd0,0) hd0,0 = /dev/sda1
grub > kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/sda2
grub > initrd /initramfs-2.6.32-431.el6.x86_64.img
grub > boot

做完实验 还原grub.conf文件
cp /tmp/grub.conf /boot/grub

破解密码:
读秒5…—>按上下方向键(进入grub)—>a–> 空格 1–>进入特权模式—>修改密码或删除密码 passwd vim /etc/passwd root的代表密码

给grub加密:
制作加密密码
grub-md5-crypt

vim /etc/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password --md5 dsadsfkjsadfksdkjfk //给grub加密
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)
password --md5 dsadsfkjsadfksdkjfk //给OS加密
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=64ee0f70-4051-41f4-ab46-aa17fd8969fe nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img

ipv4、ipv6
网络接口
网卡的配置文件
路由
写路由条目

猜你喜欢

转载自blog.csdn.net/weixin_45177186/article/details/91415196
今日推荐