启动及目标

一.管理启动过程

一.管理启动过程
1.加电自检环节(POST:Power-OnSelf-Test)
2.BIOS/UEFI从磁盘开始单元读取启动加载器(bootloader)来选择操作系统 
  (linux的启动加载器是GRUB)
 【2.输入e可以临时修改grub菜单项,从而控制启动过程】 
3.加载linux内核
 a.内核再加载板卡的驱动和功能模块
 b.然后启动/sbin/init(systemd)对系统进行初始化
 c.只读方式将磁盘根目录挂载为/sysroot
 【rd.break中断,不加载磁盘上的操作系统】
4.把/切换到磁盘根目录,启动磁盘的systemd
 【4.可以选择启动到各种target】
5.启动到约定的target
 emergency.target(紧急模式):刚切换到磁盘根目录
 rescue.target(救援模式):切换到磁盘根目录后,基本功能已经实现,但有一些服务起不来。
注意:
[root@host -]# cd /boot #看到grub和linux内核文件
drwx------. 4 root root      99 9月 24 18:09 grub2
-rwxr-xr-x. 1 root root 7872864 3月 13 2019 vmlinuz-4.18.0-80.el8.x86_64
-rw-------. 1 root root     24M 9月 24 18:09 initramfs-4.18.0-80.el8.86_64.img 
 a. vmlinuz(内核,只有7.6M):决定linux资源管控的方式
 b. initramfs-xxx.img(文件系统镜像,24M):相当于一个虚拟的临时中转的根目录
View Code

 

二.重置root密码

1.在grub界面选择指定系统,按e编辑启动菜单

2.删掉ro后面内容,写rd.break,然后ctrl+x启动

  /boot/vmlinuz-4.18.0-80.el8.x86_64:启动的内核程序
  root=UUID=884f…923:                 指定根目录的位置
  ro                                                表示根目录一开始只读挂载,功能完善后才会读写挂载。
  console=tty0:                              控制台(显示命令行的窗口)是ttys0
  注意:
      将rd.break改为:systemd.unit=emergency.target,进入紧急模式(输入密码才能进入)
      将rd.break改为:systemd.unit=rescue.target,进入救援模式
View Code

3.救援模式命令 

  读写挂载:          mount -o remount,rw /sysroot
  切换系统到磁盘/:chroot /sysroot
  修改密码:          passwd
  重标文件:          touch /.autorelabel
  退根目录:          exit
  重启系统:          reboot
View Code

 三.知道密码进紧急救援模式排错

1.在grub界面选择指定系统,按e编辑启动菜单
2.删掉ro后面内容,写systemd.unit=emergency.target,然后按ctrl+x进入ergency模式。

3.进入紧急模式会提示ctrl+d,此时有下面两种方案

 【若开机有ctrl+d提示,很可能是/etc/fstab写错了】
方案一:按ctrl+d
             若文件系统能够根据日志进行修复就继续启动
             修复不了就会重启。
 方案二:输入root密码登录进去,修改fstab
        1.读写方式重新挂载根目录
            mount -o remount,rw / 
        2.mount -a重新挂载全部内容
            系统会提示文件中出现问题的地方
        3.读写挂载后就可以修改/etc/fstab
            vim /etc/fstab
        4.重新加载
            systemctl daemon-reload
        5.继续启动系统
            exit 
View Code

4.系统启动过程中排错的另一个工具:日志

 a.默认情况下系统日志保存在/run/log/journal目录中,重启会被清除。
   将/etc/systemd/journald.conf中Storage的值设为persistent
   然后创建/var/log/journal目录永久保存日志
 b.系统启动日志由systemd产生的二进制文件。可以使用journalctl工具对日志进行复查。
   [root@host -]# journalctl -b -1 -p err
View Code

四.选择启动目标

1.查看
[root@host -]# systemctl list-dependencies graphical.target | grep target
[root@foundation0 ~]# systemctl get-default
2.设置默认
[root@foundation0 ~]# systemctl set-default multi-user.target
3.切换当前
[root@foundation0 ~]# systemctl isolate graphical.target
View Code

 

 

posted @ 2023-04-19 00:18  8300110  阅读(44)  评论(0)    收藏  举报
levels of contents