botang 发表于 2019-5-14 21:24:11

课程第15次

2019-05-14

RHEL7启动的顺序:
1. BIOS/UEFI自检
   BIOS->init13->找定义的外存的第一个扇区
   UEFI->找UEFI分区->对应的文件夹下面的文件(efi/redhat/...)

2. grub2
   root(不是根文件系统,是指boot挂载点)在哪里?7.6开始/boot已经可以在逻辑卷里,如果在逻辑卷里set root写成这样(lvm/uuid...),正常的分区(hd0,1...)in
   linux16 /vmlinuz....ro root=/dev/rhel/root   这个位置留给我们传递参数
   initrd16 /initramfs....   

3. initramfs在内存中解开(cpio打包文件)
    bindevetcusr usr/lib(认识文件系统的那个模块,比如xfs.ko.xz, ext4.ko.xz ) ........
    第一个断点
                   原因a 如果是systemd本身启动出现问题:出现提示符drafcut#
                   原因b人为传递linux16 /vmlinuz....ro root=/dev/rhel/rootinit=/bin/bash: 出现提示符#
                   可能采取的解决方案都是手工挂载根文件系统到/sysroot,再chroot /sysroot
    第一次启动systemd

4. initramfs去挂载/sysroot
   因为linux16 /vmlinuz....ro root=/dev/rhel/root,所以只读挂载了/sysroot
    第二个断点
                  原因人为传递linux16 /vmlinuz....ro root=/dev/rhel/rootrd.break:出现提示符switch_root#
                   可能采取的解决方案都是手工重新读写挂载根文件系统switch_root#mount-o remount,rw/sysroot
                   chroot /sysroot
                   因为进入switch_root#是不需要密码的,所以一般用来改root的密码, 最好能够记得做switch_root#touch/.autorelabel(要SELinux下次开机重新打上下文标签)

5. 其他断点:    linux16 /vmlinuz....ro root=/dev/rhel/root systemd.rescue.target   (类似于rd.break+mount -o remount,rw+chroot, 但是需要用户输入密码)
   linux16 /vmlinuz....ro root=/dev/rhel/rootsystemd.emergency.target(类似于drafcut#+试图挂载/sysroot,一般自动进入这个目标,都是因为根文件系统需要手工检查,比如xfs_repair -v -L/dev/rhel/root)

见RH134 P268,记录内核空间日志,有利于出错。

补装重要的rpm包:






页: [1]
查看完整版本: 课程第15次