通电原因与系统本身无关。
BIOS:Basic Input Output System,在IBM PC兼容系统上,是一种业界标准的固件接口。bios是个人电脑启动时加载的第一个软件,是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,BIOS是连接软件程序与硬件设备的一座"桥梁只有在开机时才可以进行设置。
bios的自检功能: 微机接通电源后,系统将有一个对内部各个设备进行检查的过程,这是由一个通常称之为POST(Power On Self Test,上电自检)的程序来完成的。完整的POST自检将包括CPU、640K基本内存、1M以上的扩展内存、ROM、主板、 CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘测试。。自检中若发现问题,系统将给出提示信息或鸣笛警告。
bios的初始化功能: 对硬件进行检测,初始化硬件时钟,当电脑启动时会读取硬件设置的参数,并和实际硬件设置进行比较,如果不符合,会影响系统的启动。
bios的引导程序: 引导DOS或其他操作系统。BIOS先从软盘或硬盘的开始扇区读取引导记录,如果没有找到,则会在显示器上显示没有引导设备,如果找到引导记录会把电脑的控制权转给引导记录,由引导记录把操作系统装入电脑,在电脑启动成功后,BIOS的这部分任务就完成了。
磁道: 当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。
主引导记录(MBR,Master Boot Record):是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。 当mbr数据丢失系统会因为找不到启动分区而停止启动。
mbr(主引导记录):0磁道1扇区446 作用: 记录grub2引导文件的位置
问题模拟方式:清空系统磁盘dev/nvme0n1上的mbr引导数据
dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1
问题解决方式: 用光盘进入系统挽救模式 ,重新安装grub2到系统硬盘上
chroot /mnt/sysimage grub2-install /dev/xxxxxx
实验:
在rhel8中
问题模拟:
解决方式:
1.使光盘在启动时自动连接,从固件bios里设置从光盘启动
2.选择排错系统,进入挽救模式
3.再次更改为硬盘启动,可以正常启动
GRUB(GRand Unified Bootloade):是一个来自GNU项目的多操作系统启动程序。GRUB允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
rhel7中的文件位置: /boot/grub2/grub.cfg
指定/boot位置 指定系统启动时加载文件名称
rhel8中的grub2文件位置:
/boot/grub2/grub.cfg 指定/boot位置
/boot/loader/entries/xxxxxxxxx.conf 指定系统启动时加载文件名称
rhel7中模拟问题:
rm -fr /boot/grub2/grub.cfg
解决问题:
1.grub2-mkconifg > /boot/grub2/grub.cfg
2.永久记录引导过程:
kerne-install add 内核版本号 内核镜像
kernel-install add $ (uname -r) /lib/modules/$(uname -r)/vmlinuz
rhel8中模拟问题:
rm -fr /boot/loader/entries/xxxxxxxxx.conf
解决问题:
1.手动对设备进行引导(不能够永久记录引导过程)
1> set root=‘hd0,msdos1’ (设置分区:第一块硬盘的第一个分区,/boot分区)
2> linux16 /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/nvme0n1p3 (内核镜像只读挂载在根/分区,可用df查看)
3> initrd16 /initramfs-4.18.0-80.el8.x86_64.img boot(系统初始化镜像)
2.永久记录引导过程:
kerne-install add 内核版本号 内核镜像
kernel-install add $ (uname -r) /lib/modules/$(uname -r)/vmlinuz
实验:
在rhel8中
问题模拟:
解决问题:
1.手动对设备进行引导
手动对设备进行引导不能够永久记录引导过程
/boot/vmlinuz-$ (uname -r)
内核镜像:/boot/vmlinuz-3.10.0-957.el7.x86_64
加载内核作用: 系统初始化硬件设备,只读挂载根/设备,为下一步系统初始化做准备。
模拟问题: rm -fr /boot/vmlinuz-$(uname -r)
解决问题:重装内核
1>进入到挽救模式
2>chroot /mnt/sysimage 得到真实的跟/挂载
3>mount /dev/cdrom /mnt 内核镜像在光盘中,挂载光盘
4>cd /mnt/BaseOS/Packages
rhel8中: rpm -ivh kernel-core-4.18.0-80.el8.x86_64.rpm --force 重新安装,因为已经安装过所以要强制安装
rhel7中: rpm -ivh kernel-3.10.0-957.el7.x86_64.rpm --force 重新安装,因为已经安装过所以要强制安装
rhel8系统初始化镜像: /boot/initramfs-4.18.0-80.el8.x86_64.img
rhel7系统初始化镜像: /boot/initramfs-3.10.0-957.el7.x86_64.img
系统初始化镜像的作用:加载系统时钟,加载selinux,加载系统主机信息,加载/etc/fstab文件中磁盘挂载策略,加载磁盘配额,初始化系统程序开启开机启动服务,开启虚拟控制台,开启图形等。
问题出现: rm -fr /boot/initramfs-xxxxx.img
恢复: mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
系统启动级别 |
---|
0 关机 |
1 单用户 |
2 无图形网络模式 |
3 无图形网络模式 |
4 无图形网络模式 |
5 有图形网络模式 |
6 重启 |
问题出现: systemctl set-default reboot.target
解决问题:
1>在开机选择界面按进入到引导文件编辑模式
2>在内核加载选项最后加入启动级别5 ctrl+x
3>systemctl set-default graphical.target
问题出现:超级用户密码忘记
解决问题:
1>在开机选择界面按进入到引导文件编辑模式
2>在内核加载选项最后删除到ro选项
3>更改ro---->rw
4>加入rd.break参数终止系统启动进入单用户模式
5>ctrl+x启动
6>chroot /sysroot
7>echo lee| passwd --stdin root
8>touch /.autorelabel ##当/.autorelabel文件存在selinux会重新初始化