Linux系统——引导过程与服务控制
一、Linux开机启动原理(十步)
(1)开机自检BIOS
开机检测,主板检测
(2)MBR引导
硬盘512字节
(3)GRUB菜单
操作系统菜单
(4)加载内核(kernel)
启动操作系统核心,根据grub设定的内核映像所在路径,系统读取内存影响并进行解压缩操作
(5)运行INIT进程
执行kernel的任务。INIT是一个由内核启动的用户级进程,内核被加载后,第一个运行的程序便是/sbin/init
(6)读取/etc/inittab配置
设定开机时默认的启动模式
(7)执行/etc/rc.d/rc/sysinit初始化脚本
设定了运行级别后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,他做的工作非常所,包括设定PATH、设定网络配置、启动swap分区、生成在/proc目录李刚开机时必须有的文件;/proc,临时存放内存数据的目录
(8)执行/etc/rc.d/rc脚本
进入/etc/rc3.d/*(3模式) 执行该文件里所有S开头的脚本
(9)执行/etc/rc.d/rc.local个人配置脚本
除了五个开机必须启动的程序外,需要单独启动的在个人配置脚本中实现
(10)启动mingetty进程
启动终端进程
socket守护进程:24小时不间断监听某个固定端口的进程
/proc目录:临时存放内存数据的目录
二、修复MBR扇区故障
故障原因:
病毒、木马等造成的破坏;不正确的分区操作,磁盘读写误操作
故障现象:
找不到引导程序,启动中断,无法加载操作系统,开机后黑屏
解决思路:
应提前做好备份文件,以安装光盘引导进入应急模式,从备份中恢复
eg:(提前对系统盘进行备份)
挂载/dev/sdb1到/backup,将MBR扇区备份至此,毁坏MBR扇区,重启
(备份数据)
# mkdir /backup
# mount /dev/sdb1 /backup
# dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1
# ls /backup
(破坏数据)
# dd if=/dev/zero of=/dev/sda bs=512 count=1
(重启)
#t


(进行故障修复)
进入安全模式
rescue installed system
(进入命令行)
# fdisk -l | grep "/dev/"
# mkdir /backup
# mount /dev/sdb1 /backup
# ls /backup
# dd if=/backup/sda.mbr.bak of=/dev/sda bs=512 count=1
# reboot


三、修复grub引导故障
故障原因:
MBR中的grub引导程序遭到破坏;grub.conf文件丢失,引导配置有误
故障现象:
系统引导停滞,显示“grub>”提示符
解决思路:
方法一:尝试手动输入
方法二:进入急救模式,重建grub程序
方法三:若无MBR备份,进入急救模式,重新安装grub程序
eg:
方法一:手动输入(需记下内核的UUID或存储的绝对路径)
# cat /boot/grub/grub.conf
记下UUID,kernel的路径
将grub.conf文件备份,重启
###########################
# mount /dev/sdb1 /backup
# cd /boot/grub
# cp grub.conf /backup
# mv grub.conf grub.conf.bak
# ls
# reboot
此时,出现“grub>”提示符,手动输入
grub>root(hd0,0)
grub>kernel /vmlinuz-2.6.32-431.e16.x86-64 ro root=/dev/mapper/vg www-lv root
grub>initrd /initramfs-2.6.32-431.e16.x86-64.img
grub>boot
进入系统后修改grub.conf文件
# cd /boot/grub
# mv grub.conf.bak grub.conf
方法二:
进入急救模式,重建grub程序,需提前备份MBR前446字节
(进行破坏)
# dd if=/dev/zero of=/dev/sda bs=446 count=1
# reboot
进入急救模式:ok,ok,shell start shell,ok
进入shell后,将根路径修改为/mnt/sysimage (chroot/mnt/sysimage)
bash-4.1# chroot /mnt/sysimage
bash-4.1# fdisk -l | grep "/dev/"
bash-4.1# mount /dev/sdb1/ /backup
bash-4.1# dd if=/backup/sda.mbr.bak of=/dev/sda bs=446 count=1
bash-4.1# exit
bash-4.1# reboot
至此,进入安全模式进行grub引导的修复完成
方法三:若无MBR备份,进入急救模式,重新安装grub程序
# dd if=/dev/zero of=/dev/sda bs=446 count=1(模拟破坏)
# reboot
进入安全模式shell 同方法三
改变磁盘根目录到/mnt/sysimage
重新安装grub引导程序
退出重启
bash-4.1# chroot /mnt/sysimage
bash-4.1# fdisk -l /dev/sda
bash-4.1# grub -install /dev/sda
Disk /dev/mapper/vg-www-lv-root
sh-4.1# ls /boot/
initramfs-2.6.32-431.e16.x86-64.img
vimlinuz-2.6.32-431.e16.x86-64
sh-4.1# ls /boot/grub/
sh-4.1# vim /boot/grub/grub.conf (手动建立grub.conf文件)
末行输入
root (hd0.0)
kernel /vimlinuz-2.6.32-431.e16.x86-64 ro root=/dev/mapper/vg-www-lv-root rhgb quiet
initrd /initramfs-2.6.32-431.e16.x86-64.img
退出
sh-4.1# exit
bash-4.1# reboot
四、清除Linux各种密码
方法一:
重启,读秒状态下,按Esc,按e,光标选择kernel,按e
若此时,在quit后,空格,输入1,进入1模式,引导b
进入1模式,可直接登录
# passwd
设置新密码
# reboot
方法二:
进入急救模式shell修改密码
执行passwd root命令,修改root密码即可
方法三:
修改/etc/shadow/文件
# vim /etc/shadow
删除密文,x!(强制保存退出)



五、清空grub引导密码
进入单用户模式,将/boot/grub/grub.conf文件内的passwd内容删除并重启
六、系统服务控制
service 服务名称 控制类型
/etc/init.d 服务名称 控制类型
# /etc/init.d start|stop|restart|reload|status
# service start|stop|restart|reload|status
启动 停止 重启 平滑重启 查看状态
*************************************************
chkconfig命令
格式:
chkconfig --list
chkconfig --list 服务名称
chkconfig --level 级别列表 服务名on/off
eg:# chkconfig --level 35 iptables on
************************************************
添加服务,使服务可以用/etc/init.d或service启停
添加:
方法一:将该服务的脚本拷入/etc/rc.d/init.d文件夹下,保证其状态为可执行;
方法二:使用chkconfig命令将服务添加到服务列表中:
# chkconfig --add camsd (可用service来启动/停止)
删除:
# chkconfig --del camsd
Linux系统——引导过程与服务控制的更多相关文章
- Linux 系统管理——引导过程与服务控制
一. 系统引导流程 1.开机自检(BIOS)(基本的输入输出系统) 2.MBR引导1.2. MBRIS 当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR (Master Boot Record ...
- linux系统引导过程
linux系统引导过程 linux-0.11引导时,将依次运行BIOS程序.bootsect.s.setup.s和head.s,完成引导过程后进入到main函数运行.BIOS完成硬件的检查与初始化等工 ...
- Linux系统引导过程及排除启动故障
一.Linux操作系统引导过程二.系统初始化进程1.init进程2.Systemd3.Systemd单元类型三.排除启动类故障[1].修复MBR扇区故障(含实验过程)[2].修复GRUB引导故障●方法 ...
- Linux引导过程与服务控制
一:系统引导流程: 开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化 二:系统引导级别: 0 poweroff.t ...
- 【Linux系统引导过程】
*** 第一步 开机自检 根据主板BIOS中的启动顺序,移交系统控制权. 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它. 这是因为BIO ...
- Linux引导过程和服务过程
目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2. ...
- 轻松学习Linux之详解系统引导过程
轻松学习Linux之详解系统引导过程-1 轻松学习Linux之详解系统引导过程-2 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- Linux学习笔记之Linux启动引导过程
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...
- linux系统开机过程描述
本文描述linux系统开机过程,属于个人理解范畴,如果文中表述有误请大家批评指正! 计算机开机之后,首先要加载BIOS(基本输入输出系统)信息,BIOS包含了很多重要的信息,包括CPU信息,设备启动顺 ...
随机推荐
- 嵌入式驱动开发之采集方式bypass mode---bypass mode
http://baike.baidu.com/link?url=HifFTlNRROR24lW_gSdTiG-eXooi08O0Eeq1mU6Yy0I1LOMW4kdumv25BOQbohV_428M ...
- (转)内核container_of(ptr,type,member) 解析
container_of(ptr,type,member) 用于在已知结构体里面成员member和该成员指针ptr(就是地址)和结构体类型type, 返回该成员所在的结构体的指针(就是地址), 例如 ...
- VC++ 轻松实现“闪屏” SplashWnd
我们平时使用的好多软件在运行启动时都会有一个“闪屏”画面显示,一般用于标识软件的一些信息,如软件版本名称.公司等,通过查找资料发现,其实实现起来很简单,一个类就能搞定! SplashWnd.h C+ ...
- WebService远程调用(命令行调用)
远程调用webservice 方法, 通过wsdl命令,生成webservice 对应asmx 文件的对应类(cs文件),然后将此cs文件引用到当前项目中,项目其他地方需要调用webservice方法 ...
- Visual Studio 32位64位的问题和如何编译32位64位工程的问题
Visual Studio自身没有32位和64位的分别,对于某一个特定的版本只有一个版本安装文件(即不存在32位版本的VS2015安装文件和64位版本的VS2015安装文件) 对于自己开发的工程,编译 ...
- VS2008 AddIn 操作DTE2
在VS2008扩展开发中,最重要的就是DTE对象.DTE对象提供了对扩展性模型中其他对象的访问.DTE是VS自动化模型中的顶级对象. 在按照http://www.cnblogs.com/yjf512/ ...
- [Ahoi2014]支线剧情[无源汇有下界最小费用可行流]
3876: [Ahoi2014]支线剧情 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1538 Solved: 940[Submit][Statu ...
- WEB安全番外第三篇--关于XXE
一.什么是XXE 1.XML实体简介 (1)在一段时间中,XML都是WEB信息传输的主要方法,时至今日XML在WEB中作为前后台之间传递数据的结构,依然发挥着重要的作用.在XML中有一种结构叫做实体: ...
- Java中对List集合的常用操作(转载)
目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...
- fieldmeta 基于springboot的字段元数据管理,通用代码生成,快速开发引擎
fieldmeta: 基于springboot的字段元数据管理 version:Alpha 0.0.1 ,码云地址:https://gitee.com/klguang/fieldmeta 元数据(Me ...