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,这学点那学点,结果没有成体系,串不起来: 二.记忆时间短暂,非常多的内容学了就忘,最后的结果 ...
随机推荐
- vue与Element实际应用参考
https://www.cnblogs.com/dmcl/p/6722315.html https://www.cnblogs.com/hbb0b0/p/8399996.html https://ww ...
- EF直接更新数据(不需查询)
//0.0创建修改的 实体对象 Models.BlogArticle model = new BlogArticle(); model.AId = ; model.ATitle = "新的数 ...
- IDEA不能读取配置文件,springboot配置文件无效、IDEA resources文件夹指定
- 基于MicroPython:TPYBoard心率监测器
转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 一.前言 这几年智能穿戴设备大火,尤其是手环类,从A ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- mongodb复杂条件查询 (or与and)
分类专栏: mongodb 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/tjbsl/ ...
- AD读取Excel新建客户邮箱的测试环境部署有感
现有AD的账户操作所有服务几乎用WebApi方式,此 方法是便于搭建和部署,做到了前后端的分离 ,其中验证Exchange邮箱转发模块时发现foxmail的exchange本地邮箱配置极其简单,以此记 ...
- Flutter 安装笔记
一. 安装镜像(有vpn的不用理) 1 打开终端 输入 open ~ ,回车 2 双击 .bash_profile 3 添加以下代码 后保存关闭即可(代码可能会变请直接到https://fl ...
- ROW_NUMBER()实现分页
1. 在数据表基础上面添加一个自增的一列记录行数(虚拟的实际数据库不存在,不会影响数据库结构)的列当然也顺便起一个别名(我这里起了一个rowNum) 2.由于rowNum是一个虚拟的.若直接使用会报' ...
- 在VideoFileClip函数中获取“OSError:[WinError 6]句柄无效”
我正在使用python通过导入moviepy库创建一个程序,但收到以下错误: from moviepy.editor import VideoFileClip white_output = 'vide ...