Linux系统引导.服务与实验

发布时间:2024年01月04日

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? 服务名

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

文章来源:https://blog.csdn.net/yunjisuanxietu/article/details/135374201
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。