专栏首页咻一咻CentOS7启动及排错

CentOS7启动及排错

CentOS7引导顺序

  • UEFi或BIOS初始化,运行POST开机自检
  • 选择启动设备
  • 引导装载程序, centos7是grub2
  • 加载装载程序的配置文件: /etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg
  • 加载initramfs驱动模块加载内核选项
  • 内核初始化,centos7使用systemd代替init
  • 执行initrd.target所有单元,包括挂载/etc/fstab
  • 从initramfs根文件系统切换到磁盘根目录
  • systemd执行默认target配置,配置文件/etc/systemd/system/default.target
  • systemd执行sysinit.target初始化系统及basic.target准备操作系统
  • systemd启动multi-user.target下的本机与服务器服务
  • systemd执行multi-user.target下的/etc/rc.d/rc.local
  • Systemd执行multi-user.target下的getty.target及登录服务
  • systemd执行graphical需要的服务

设置内核参数

  • 设置内核参数,只影响当次启动
  • 启动时,在linux16行后添加systemd.unit=desired.target
  • systemd.unit=emergency.target
  • systemd.unit=rescue.target
  • rescue.target 比emergency 支持更多的功能,例如日志等
  • systemctl default 进入默认target

启动排错

  • 文件系统损坏 先尝试自动修复,失败则进入emergency shell,提示用户修复
  • 在/etc/fstab不存在对应的设备和UUID 等一段时间,如不可用,进入emergency shell
  • 在/etc/fstab不存在对应挂载点 systemd尝试创建挂载点,否则提示进入emergency shell.
  • 在/etc/fstab不正确的挂载选项 提示进入emergency shell

破解CentOS7的root口令方法一

  • 启动时任意键暂停启动
  • 按e键进入编辑模式
  • 将光标移动linux16开始的行,添加内核参数rd.break
  • 按ctrl-x启动
  • mount –o remount,rw /sysroot
  • chroot /sysroot
  • passwd root
  • touch /.autorelabel
  • exit
  • reboot破解

破解CentOS7的root口令方法二

  • 启动时任意键暂停启动
  • 按e键进入编辑模式
  • 将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh
  • 按ctrl-x启动
  • chroot /sysroot
  • passwd root
  • touch /.autorelabel
  • exit
  • reboot

centous7设置默认启动内核,并删除

配置文件 :/boot/grub2/grub.cfg 修改:/etc/default/grub GRUB_DEFAULT=saved saved改为0 grub2-mkconfig -o /boot/grub2/grub.crg 重新生成

删除没用的内核 /boot/ 和 /lib/modules/ 里面内核版本的东西 3.10.0.xxxx grub2-mkconfig -o /boot/grub2/grub.crg 重新生成

修复GRUB2

  • GRUB”the Grand Unified Bootloader”引导提示时可以使用命令行界面可从文件系统引导
  • 主要配置文件/boot/grub2/grub.cfg
  • 修复配置文件grub2-mkconfig > /boot/grub2/grub.cfg
  • 修复grub grub2-install /dev/sdaBIOS环境grub2-install UEFI环境
  • 调整默认启动内核vim /etc/default/grubGRUB_DEFAULT=0

删除boot下所有

  1. 进入救援模式
  2. 输入 1 continue
  3. 2 进入shell
  4. chroot /mnt/sysimage
  5. mkdir /mnt/cdroom
  6. mount -o /dev/cdroom /mnt/cdroom
  7. rpm -ivh /mnt/cdroom/Packages/kernel-3.10.0.693.e17.x86.rpm –force
  8. grub2-install /dev/sda
  9. 修复配置文件grub2-mkconfig > /boot/grub2/grub.cfg
  10. exit
  11. reboot

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 状态码大全

    咻一咻
  • 解决Mysql报错缺少libaio.so.1

    咻一咻
  • 四、bind(named)配置文件

    CentOS下,yum install bind安装bind软件来实现DNS服务,yum info bind可以查看到描述:

    咻一咻
  • Python数据库操作 MySQL数据库与数据表操作#学习猿地

    create database if not exists tlxy default charset=utf8;

    学习猿地
  • Python数据库操作 MySQL数据库与数据表操作#学习猿地

    create database if not exists tlxy default charset=utf8;

    学习猿地
  • 资深专家深度剖析Kubernetes API Server第3章(共3章)

    在本系列的前两部分中我们介绍了API Server的总体流程,以及API对象如何存储到etcd中。在本文中我们将探讨如何扩展API资源。

    用户1108251
  • mac执行git命令出现xcrun: error: invalid active developer path解决方法

    运行git clone的时候报错 xcrun: error: invalid active developer path (/Library/Developer...

    Albert陈凯
  • Java 枚举类型enum 的使用

    Java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public fin...

    用户1220053
  • VRLA 2018回顾丨世嘉推出首款VR音游,Neurogaming带来VR FPS网游

    VRPinea
  • java枚举类型enum的使用

    最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以...

    java达人

扫码关注云+社区

领取腾讯云代金券