Bo's Oracle Station

查看: 2589|回复: 0

课程第15次

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2019-5-14 21:24:11 | 显示全部楼层 |阅读模式
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打包文件)
    bin  dev  etc  usr usr/lib(认识文件系统的那个模块,比如xfs.ko.xz, ext4.ko.xz ) ........
    第一个断点
                   原因a 如果是systemd本身启动出现问题:出现提示符drafcut#
                   原因b  人为传递linux16 /vmlinuz....  ro root=/dev/rhel/root  init=/bin/bash: 出现提示符#
                   可能采取的解决方案都是手工挂载根文件系统到/sysroot,再chroot /sysroot
    第一次启动systemd

4. initramfs去挂载/sysroot
   因为linux16 /vmlinuz....  ro root=/dev/rhel/root,所以只读挂载了/sysroot
    第二个断点
                  原因  人为传递linux16 /vmlinuz....  ro root=/dev/rhel/root  rd.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/root  systemd.emergency.target  (类似于drafcut#+试图挂载/sysroot,一般自动进入这个目标,都是因为根文件系统需要手工检查,比如xfs_repair -v -L  /dev/rhel/root)

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

补装重要的rpm包:

QQ图片20190514223318.png


1.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-11-21 23:29 , Processed in 0.041976 second(s), 27 queries .

快速回复 返回顶部 返回列表