Linux引导过程与服务控制
一:系统引导流程:
开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化
二:系统引导级别:
|
0 |
poweroff.target |
关机状态,使用该级别时将会关闭主机 |
|
1 |
rescue.target |
单用户模式,不需要密码验证即可登录系统,多用 于系统维护 |
|
2 |
multi-user.target |
用户定义/减特定运行级别。默认等同于3,但是不支持网络 |
|
3 |
multi-user.target |
字符界面的完整多用户模式,大多数服务器主机运行在此级别 |
|
4 |
multi-user.target |
用户定义/或特定运行级别,默认等同于3 |
|
5 |
graphical.target |
图形界面的多用户模式,提供了图形桌面操作环境 |
|
6 |
reboottarget |
重新启动,使用该级别时将会重启主机 |
三:Linux中服务的管理方式:
1、独立管理(门市房)
systemctl start dhcpd
systemctl stop dhepd
2、集中管理(商场)xinetd
vim /etc/xinetd.ditftp
disable = no
systemctl start tftp
四:修复文件系统:扫盘:
Ext4:fsck -y -t ext4 /dev/sdb1
Xfs: xfs_repair /dev/sdb1
五:服务控制及优化启动
1、系统服务控制
(1)常用方法:
·/etc/rc.d/init.d/ 服务名称 控制类型(/etc/init.d/ 是/etc/rc.d/init.d/的快捷方式)
【推荐使用上述方法】
·service 服务名称 控制类型
(2)常用控制类型
·start 启动
·stop 停止
·restart 重启
·reload 平滑重启,无需停止服务【常用】
·status 查看状态
五:优化启动过程:
(1)ntsysv 工具
·提供一个交互式、可视化窗口
·可以在字符终端运行
·便于集体管理多个服务
1>示例:ntsysv --level 35
六:系统服务控制
系统服务控制在CentOS系统中,各种系统服务的控制脚本默认放在(snib/systemd/system/自泉下,通过systemcti令工具可以实现对指定系统服务的控制语法格式如下systemcti控制类型服务名称service)
对于大多数系统服务来说常见的几种控制类型如下所述,
stant启动:运行指定的系统服务程序.实现服务功能。. stop(停止):终止指定的系统服务程序 .关闭相应的功能。
restat(重启) :先退出,再重新运行指定的系统服务程序。
reload (重载):不退出服务程序.只是刷新配置.在某些服务中与restat的操作相同。
status(查看状态):查看指定的系统服务的运行状态及相关信息,
查看当前系统中所已激活的系统服务:
Systemctl list-units -type=service
chkconfig工具使用方式:
chkconfig -list #列出所有服务的状态
chkconfg -list network #制出某 个服务的状态
chkconfg I-level 35]服务名称fonlof) #设置服务状态,默认2345级别
七:引导级别查看及切换
Linux 系统的运行级别
(1)查看运行级别:runlevel 命令
(2)临时切换运行级别:使用 init 命令结合 0-6 运行级别参数

八:MBR修复:
建立一个目录

挂载dev/sdb1到/backup

将MBR扇区备份

将mbr扇区毁坏


九:修复GRUB引导故障
boot/grub2/grub cfg配置文件说明:
menuentry :指定在启动菜单中显示的操作系统名称set root :指定包含内核等引导文件的/boot分区所在位置insmod :加载指定的模块到内核
linux16 :指定内核文件所在的位置,内核加载时权限为只读"ro”,并通过root=”指定根分区的设备文件位置。
initrd16 :指定启动内核所使用的临时系统镜像文件所在位置。
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount /dev/sdb1 /abc
[root@localhost ~]# dd if=/dev/sda of=/abc/sda-mbr-bak bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000224936 秒,2.3 MB/秒
[root@localhost ~]#cp /boot/grub2/grub.cfg /abc/grub.cfg
进入急救模式




切换到root根目录下

方法一:重建grub.cfg文件

方法二:提前备份,然后复原

grub引导程序遭到破坏
方法一:备份恢复

方法二:重建

十:/boot目录误删除:
通过chroot sysimage 切换根目录

新建临时文件挂载点 /mnt/temp,并挂载光盘

rpm -ivh /mnt/temp/Packages/kernel-3.10--force

grub2-install /dev/sda

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

Sync同步数据

十一、root密码修复
1、第一种方法:
重新启动reboot

2、第二种方法:
把里面的密文删掉(用x)

十二:文件系统修复 (扫盘)




十三、空间耗尽故障
添加一块硬盘,分区格式化,挂载
[root@localhost ~]# fdisk /dev/sdb
[root@localhost ~]# mkfs.ext4 /dev/sdb1
[root@localhost ~]# mkdir /disk
[root@localhost ~]# mount /dev/sdb1 /disk/
[root@localhost ~]# df –I
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb1 65536 10 65526 1% /disk
创建多个文件,耗尽容量
[root@localhost ~]# cd /disk/
[root@localhost disk]# touch {1..65526}
验证文件占用情况
[root@localhost ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb1 65536 65536 0 100% /disk
尝试创建文件
[root@localhost disk]# touch q
touch: 无法创建"q": 设备上没有空间
查看磁盘剩余空间
[root@localhost ~]# df -hT /disk/
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sdb1 ext4 976M 4.3M 905M 1% /disk
修复磁盘耗尽故障
寻找0字节的文件,并删除
[root@localhost maomao]# sudo find /maomao -type f -size 0 -exec rm {} \;
改变inode节点大小
[root@localhost ~]# mv 重要数据 /root
[root@localhost ~]#umount /dev/sdb1
[root@localhost ~]#mkfs.ext4 /dev/sdb1 -N 500000
[root@localhost ~]# df -i /dev/sdb1
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb1 501760 11 501749 1% /aa
[root@localhost ~]# mount /dev/sdb1 /disk/
[root@localhost ~]# mv重要数据 /disk
十四、磁盘坏道故障
磁盘坏道分为逻辑坏道和物理坏道两种
dmesg
当有硬盘坏道时,通常在dmesg输出的信息中会有 Buffer I/O Error,所以经常检查dmesg的输出可以及时发现是否存在硬盘问题。
badblocks
adblocks 可以用来检查硬盘是否有坏道,也可以修复坏道,但仅限于逻辑坏道,物理坏道只能更换硬盘。
检查命令:
[root@localhost ~]# badblocks -s -v -o /root/bb.log /dev/sda
检查 /home 是否有坏道,则命令如下:
[root@localhost ~]# badblocks -s -v -o /root/bb-home.log /dev/mapper/centos-home
逻辑坏道修复方式
下面是badblocks在/dev/mapper/ centos-home e分区检查出的坏道列表:
217874591
217874592
217874593
217874594
217874595
先备份数据
[root@localhost ~]# dd if=/dev/mapper/centos-home skip=217874591 of=/tmp/217874591-217874595.dat count=5
修复
[root@localhost ~]# umount /dev/mapper/ centos-home(umount可能出现"Device busy"的错误, 解决方法fuser -m /home //列出使用/home的进程ID fuser -m -v -i -k /home //列出PID并kill掉进程)
修复命令:
[root@localhost ~]# badblocks -s -w /dev/mapper/ centos-home 217874595 217874591
修复后检查
[root@localhost ~]# badblocks -s -v /dev/mapper/ centos-home 217874595 217874591
恢复数据(可选)
[root@localhost ~]# dd if=/tmp/217874591-217874595.dat of=/dev/mapper/ centos-home
重新分区检查
[root@localhost ~]# badblocks -s -v -o /root/bb-home.log /dev/mapper/ centos-home
若没有坏道说明修复已完成,若有坏道可以尝试重复以上方法。
完成后重新mount分区
[root@localhost ~]# mount /dev/mapper/ centos-home
Linux引导过程与服务控制的更多相关文章
- Linux引导过程和服务过程
目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2. ...
- Linux系统——引导过程与服务控制
一.Linux开机启动原理(十步) (1)开机自检BIOS 开机检测,主板检测 (2)MBR引导 硬盘512字节 (3)GRUB菜单 操作系统菜单 (4)加载内核(kernel) 启动操作系统核心,根 ...
- Linux 系统管理——引导过程与服务控制
一. 系统引导流程 1.开机自检(BIOS)(基本的输入输出系统) 2.MBR引导1.2. MBRIS 当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR (Master Boot Record ...
- Linux 引导过程内幕
转载:http://www.ibm.com/developerworks/cn/linux/l-linuxboot/index.html 从主引导记录到第一个用户空间应用程序的指导 引导 Linu ...
- 【转】Linux 高级的视角来查看Linux引导过程
[原文]https://www.toutiao.com/i6594210975480545800/ 1.概述 图 1 是我们在20,000 英尺的高度看到的视图. 当系统首次引导时,或系统被重置时,处 ...
- Linux引导过程
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...
- Linux引导过程!(重点)
1.开机自检:服务器开机后,将根据主板BIOS (基本输入系统),中的设置对CPU .内存.显卡.键盘等设备进行初步检测,并初始化部分硬件. 2.MBR 引导:当从本机硬盘中启动系统时,首先根据硬盘中 ...
- Linux学习笔记之Linux启动引导过程
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...
- Linux学习笔记:系统启动引导过程
Linux系统启动引导过程 近期发现自己在仅仅是掌握上有几个比較硬的伤: 一.知识体系碎片,比方Linux,这学点那学点,结果没有成体系,串不起来: 二.记忆时间短暂,非常多的内容学了就忘,最后的结果 ...
随机推荐
- 剑指offer:二叉树打印成多行(层次遍历)
1. 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 2. 思路 层次遍历 3. 递归 public class Solution { ArrayList<Array ...
- 工具类docker for k8s
alpine-tools 安装了常用 工具,curl,telnet, wget 等 apiVersion: extensions/v1beta1 kind: Deployment metadata: ...
- 能耗监测平台GPRS通讯服务器的架构设计
在这个文章里面我将用一个实际的案例来分享如何来构建一个能够接受3000+个连接的GPRS通讯服务器软件.在这里,我将分享GPRS通讯服务器设计过程中面临的问题,分享通讯协议的设计,分享基于异步事件的设 ...
- mac pe简单安装方法
1.工具下载 TechTool Pro for mac V11.0.4:http://www.pc6.com/mac/112462.html 2.准备16g u盘 3.安装工具并按照注册码注册 在Te ...
- CentOS7安装Oracle 11g数据库
转载:https://blog.csdn.net/lia17/article/details/82256565 rpm -ivh --force --nodeps *.rpm 强制装 rpm依赖包下载 ...
- 图片服务器FastDFS的安装及使用
FastDFS介绍 FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS ...
- 如何判断服务器之间的服务是否可用?ping 还是 telnet?
1. 背景 机器A需要调用机器B的服务,为此要保证服务的可用性,我们有时候用ping,有时候用telent来验证机器A和B的连通性,但有时候会出现这种情况,A可以ping通B,但A调用B的服务会一直报 ...
- .NET Core RabbitMQ探索(1)
RabbitMQ可以被比作一个邮局,当你向邮局寄一封信时,邮局会保证将这封信送达你写的收件人,而RabbitMQ与邮局最主要的区别是,RabbitMQ并不真的处理信件,它处理的是二进制的数据块,它除了 ...
- Google开发者F12工具面板-network详解
1 开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板.Performance面板.Memory面板.Application面板.Sec ...
- 百度地图API 基本用法
百度地图 百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富.交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持H ...