Linux系统引导.服务与实验

本文详细介绍了Linux开机引导流程,包括BIOS自检、MBR、GRUB加载内核及启动进程,还涵盖了BIOS的作用、启动顺序选项、Systemd的管理系统级程序、不同发行版的初始化机制、以及修复MBR和GRUB文件、修改密码和服务管理的方法。
摘要由CSDN通过智能技术生成

1.开机完整引导过程

     bios加电自检--mbr---grub---加载内核文件----启动第一个进程

     加电后biso程序会自检硬件,硬件无故障后,会根据第一启动项去找到内核。

     一般来说第一启动项是硬盘,找到硬盘后,会根据mbr的指引 找到完整的grub程序,

     再根据grub的配置文件找到内核文件的具体位置,

     然后将内核文件加载到内存中运行,内存加载好后会启动第一个程序

2. biso作用:检测硬件是否正常,然后根据biso中的启动项设置,去找内核文件

   boot开机启动顺序:你可以把内核文件放在何处

                 硬盘

                 移动设备,U盘 移动硬盘 ,光驱

                 网络启动

  mbr(二进制):因为grub太大第一扇区存不下所有的grub程序,所以分为两部分

                            指引找到内核文件

文件系统的驱动

grub:根据grub配置文件中记录的位置。去找内核文件(高级语言)

加载内核:把内核运行在内存中

启动进程:启动第一个进程

centos6 : init

centos7: systemd

区别:int串行启动后续的程序,一个一个按顺序启动

systemd是并行启动程序 全部一起启动

3.systemd 系统级的程序,代理管理系统上的程序

yum以及rpm安装的软件可以直接使用systemctl去启动关闭,重启,开机自启等功能

编译安装,不可以直接使用systemctl命令去管理程序,需要写一个配置文件

systemd  unit(单元),systemd方便管理程序,将程序按照特定的功能分成很多单元,服务,单元,写配置

4.linux操作系统有运行级别

       0 关机

       1 单用户 类似于Windows的急模式

       2 字符界面  少些功能

       3 字符界面

       4 字符界面

       5 图行界面

       6 重启

init

runlevel 查看当前运行级别

systemctl   get-default   查看默认的运行级别

systemctl   set-defalut   设置默认的jibie

5.实验一:模拟破坏mbr和分区表然后修复

(1).新加一块盘,将备份文件备份到新盘

(2).dd  if=/dev/sda  of=/mnt/mbr   count=1  bs=512备份分区表以及mbr

(3).模拟破坏

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

然后进入急救模式修复

3

2

1

mkdir bak

mount   /dev/sdb1   bak

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

 

 

 

 

 

6.实验2 修复grub文件及程序

(1)先模拟破坏grub.cfg配置文件

mv  /boot/grub2/grub.cfg   /opt

(2)重启进入急救模式3 2 1

(3)先切换根,从光盘的根切换到自己系统的根

chroot  /mnt/sysimage

(4)重新安装grub2程序在sda磁盘

grub2-install   /dev/sda

(5)重新生成配置文件

grub2-mkconfig   -o  /boot/grub2/grub.cfg

exit

reboot

 

 由于破坏了grub.cfg,这时界面已卡在grub

 

 重启按esc键,选CD

 

 

 

 

成功 

 

 7.实验3 修改密码

(1)有光驱

进入急救模式后,更改环境

​​​chroot /mnt/sysimage

passwd修改密码

(2)无光驱

进入系统在选择 内核界面 选着带一个选着 按e

将光标移动到linux开头行的最后  添加rd.break

ctrl  +x运行

进入单用户

重新挂载

mount  -o  remount,rw   /sysroot

重新挂载,添加读写权限

chroot  /sysroot

切换到真正的根

passwd

修改密码

touch  /.autorelabel

如果你开启了selinux要重新打上标志

 

 

 

8.服务管理

chkconfig        centos6

service  服务程序  start

                              stop

                              restart

                              reload

                              status

在/etc/init.d/写一个同名文件的脚本(必须要有执行权限)

chkconfig  --add   服务名称

chkconfig   --level  35   服务程序   on  开机自启

chkconfig   --level   35  服务程序  off   关闭开机自启

systemd          centos7

systemctl    start   服务名

                   stop

                   status

                   reload

                   restart

开机自启

systemctl  enable  服务名

开机自启并立即启动

systemctl  enable  --now  服务名

开机不自启

systemctl  disable  服务名

开机不自启,并立即关闭

systemctl  disable  --now  服务名

                                 

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值