1.红帽系统引导过程
故障一
救援模式修复mbr引导失效
linux rescue
模拟故障一:
[root@localhost ~]# if=/dev/zone of=/dev/sda count=446 bs=1
有光盘的话,重新从光盘引导来修复mbr,进入救援模式,
选择操作的语言,
只是进入修复模式,不用开启网络权限,
重新引导,故障恢复
故障二.grub引导文件丢失
grub.conf文件解释
故障现象:
grub无法引导
故障三、修复文件系统分区表
就可以正常编辑/etc/fstab文件了,init[3、5] 即可进入相应的终端界面了,
5.制作自己的linux(为了解启动过程)
1 磁盘 分区创建
2 grub-install --root-diretory =/mnt/ /dev/sdb
3 创建grub菜单 (拷贝内核,驱动/boot/vm)
4 创建相应目录,init进程
bin boot dev etc home lib proc sbin root sys tmp usr var
chmod o+t tmp
init 系统调用 ldd /sbin/init
cp /lib/libsepol.so.1 /mnt/sysroot/lib
5 inittab rc.sysinit
cp /bin/bash /mnt/sysroot/bin/
ldd /bin/bash 查看加载链接库,并拷贝
mkdir etc/rc.d
cd rc.d
vim rc.sysinit
#! /bin/bash
/bin/bash
chmod a+x rc.sysinit 添加可执行权限
cp /bin/ls /mnt/sysroot/bin
查看加载的库文件 ldd /bin/ls
拷贝库文件 cp .5.1添加硬盘
5.2为新添加的硬盘创建相应分区
5.3挂载、创建mbr/grub
5.4添加grub菜单
5.5 inittab及rc.sysinit
5.6添加应用
ls指令
[root@localhost ~]# cp /bin/ls /mnt/sysroot/bin/
[root@localhost ~]# ldd /bin/ls
linux-gate.so.1 => (0x00226000)
librt.so.1 => /lib/librt.so.1 (0x00900000)
libacl.so.1 => /lib/libacl.so.1 (0x0090b000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00968000)
libc.so.6 => /lib/libc.so.6 (0x00770000)
libpthread.so.0 => /lib/libpthread.so.0 (0x008e7000)
/lib/ld-linux.so.2 (0x00752000)
libattr.so.1 => /lib/libattr.so.1 (0x00c4a000)
libdl.so.2 => /lib/libdl.so.2 (0x008e1000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00920000)
[root@localhost ~]# cp /lib/libpthread.so.0 /mnt/sysroot/lib/
5.7添加开机背景
[root@localhost ~]# convert -resize 640x480! 1.jpg a.jpg //!指的是忽略图片的原有比例,一定要加!不然图片可能铺满全屏。
[root@localhost ~]# convert a.jpg -colors 14 -geometry 640x480 splash.xpm
[root@localhost ~]# gzip splash.xpm
[root@localhost ~]# cp splash.xpm.gz /mnt/boot/grub/
[root@localhost ~]# sync;sync;sync; 多次执行,使内存中数据写入硬盘中
关机或挂起,
5.8测试
创建一个新的虚拟机运行环境,采用刚才创建的硬盘作为系统盘
开机界面如下图,正常:
实验结束。