引导过程与服务控制

发布于:2022-10-15 ⋅ 阅读:(469) ⋅ 点赞:(0)

 目录:

1、Linux操作系统引导过程

1.1BIOS 和 MBR引导

1.2 GRUB功能和组成

2、修复GRUB引导故障

2.1 实验:删除grub.cfg后再重启

2.2 修改密码总结

2.3 系统服务控制

2.4 开机自启

1、Linux操作系统引导过程

引导过程总览

1.1BIOS 和 MBR引导

MBR有464个字节

MBR由主引导程序,硬盘分区表DPT和有效硬盘标书(SSAA,如果这个标志位OxAA55,就认为这个是MBR)组成,MBR的Bootloader里面安装有GRUB程序的一部分,在安装系统写入。

打开电源进入部件  查看  BIOS

 读取grub下的,不能缺少grub2

1.2 GRUB功能和组成

GRUB内核很大,grub的三个阶段

第一阶段:MBR的前446个字节,引导硬件去找内核

  • 1.5 stage:MBR 之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统

  • secondary boot loader :2nd stage,分区文件/boot/grub2/grub.cfg

查看pstree

 系统初始化进程

init进程 :由Linux内核加载运行 /sbin/init程序

init进程是系统中第一个进程

init进程的PID(进程标记)号永远为1

Systemd 功能非常强大

Systemd是Linux操作系统的一种init软件

CentOS7中采用全新的Systemd启动方式,带去传统的SysVinit

CentOS7中运行的第一个init进程是/lib/systemd/systemd

Systemd单元类型

Service  .service描述一个系统服务

Socket .socket 描述一个进程间通信的套接字

一、备份 /dev/sda的前512字节到 /mnt目录下:

dd                 if=/dev/sda               of=/mnt/mvr.bak                        count=1        bs=512

复制             从哪里复制                复制到哪里去                       复制几次          一次取多大

不要备份在一块盘上,要读准备一块硬盘

查看是否挂载上

ll /mnt/

二、模拟破坏前512字节:

dd     if=/dev/zero    of=/dev/sda    count=1  bs=512

hexdump -C -n 512 /dev/sda   看 sda硬盘的512字节

三、重启    选第三选项 ,再选第二选项,最后写1

mkdir  bak

mount  /dev/sdb1   /bak

dd   if=/bak/mbr.bak    /dev/sda   bs=512  count=1

2、修复GRUB引导故障

故障原因

MBR中的GRUB引导程序遭到破坏;grub.conf文件丢失、引导配置有误

故障现象

系统引导停滞,显示“grub”提示符

解决思路

尝试手动输入引导命令

进入急救模式,重写或者从备份中恢复grub.conf

向MBR扇区中重建grub程序

实验内容:把此文件消掉 把MBR前464个字节毁掉然后再恢复它

2.1 实验:删除grub.cfg后再重启

统装在光驱里重新启动

方法:引导界面进入急救模式,重建GRUB菜单的配置文件

rm -rf /boot/grub2/grub.cfg

#进入急救模式,加载光盘镜像,切换到硬盘的系统根环境

sh-4.2 #  chroot  /mnt/sysimage

#重新将GRUB引导程序安装到第一块硬盘(/dev/sda)的MBR扇区,如果有多个分区可省略

bash-4.2 # grub2-mkconfig -o /boot/grub2/grub.cfg

#退出chroot环境,并重启

bash-4.2 #exit

sh-4.2 #reboot

#####遗忘root用户的密码

#进入急救模式,加载系统镜像,切换到系统根目录

sh-4.2 #chroot /mnt/sysimage

#重设root用户密码

bash-4.2 #passwd root

3、遗忘root密码

更改root密码:执行完后exit   然后reboot

 

 现在进入到单用户模式/急救模式:

 

 切换到root目录再输密码:

 setenforce 0 关闭,不想关的话touch /.autorelabcl 告诉已经改过密码了。改完之后exit,然后reboot。

查看是否连接上,如果连接上,就是完成了。

2.2 修改密码总结

1、有光驱

chroot  /mnt/sysimage

passwd

exit
reboot

2、没有光驱

启动时任意键暂停启动

按e键进入编辑模式

将光标移动linux 开始的行,添加内核参数 rd.break
按ctrl-x启动
mount –o remount,rw /sysroot
chroot /sysroot
passwd root
#如果SELinux是启用的,才需要执行下面操作,如没有启动,不需要执行
touch /.autorelabel
exit
reboot

3、centos 6 修改密码

启动时按上下键

按a输入 s1 进入单用户模式

passwd

exit
reboot

2.3 系统服务控制

 关闭防火墙:

 systemctl的控制类型;

开启关闭系统中的服务

systemctl start 服务名     ------开启

systemctl stop 服务名     ------ 停止

systemctl status 服务名   ------查看状态

systemctl reload 服务名   ------ 重新加载

开启系统服务会伴随开启一个系统端口

Linux系统的运行界别

查看运行级别:

runlevel命令(runlevel只能查看切换运行级别与当前运行级别)

systemctl工具(能查看默认的运行级别)

临时切换运行命令:

init命令(init的命令参数是运行级别所对应的数字 )

systemctl工具(systemctl命令参数是具体的target)

打开虚拟机的运行终端,用runlevel命令查看运行级别从5变成了3

 systemctl 查看的是默认级别,显示的是图形界面

 

2.4 开机自启

systemctl  enable 服务名   --->    开机自启  

systemctl  disable 服务名   --->    开机不自启  

systemctl enable   --now 服务名 ----->   立刻启动并且开机自启

systemctl  disable  --now  服务名 ----->  立刻关闭服务并且开机不自启

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到