一、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系统——引导过程与服务控制的更多相关文章

  1. Linux 系统管理——引导过程与服务控制

    一. 系统引导流程 1.开机自检(BIOS)(基本的输入输出系统) 2.MBR引导1.2. MBRIS 当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR (Master Boot Record ...

  2. linux系统引导过程

    linux系统引导过程 linux-0.11引导时,将依次运行BIOS程序.bootsect.s.setup.s和head.s,完成引导过程后进入到main函数运行.BIOS完成硬件的检查与初始化等工 ...

  3. Linux系统引导过程及排除启动故障

    一.Linux操作系统引导过程二.系统初始化进程1.init进程2.Systemd3.Systemd单元类型三.排除启动类故障[1].修复MBR扇区故障(含实验过程)[2].修复GRUB引导故障●方法 ...

  4. Linux引导过程与服务控制

    一:系统引导流程: 开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化  二:系统引导级别: 0 poweroff.t ...

  5. 【Linux系统引导过程】

    *** 第一步 开机自检 根据主板BIOS中的启动顺序,移交系统控制权. 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它. 这是因为BIO ...

  6. Linux引导过程和服务过程

    目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2. ...

  7. 轻松学习Linux之详解系统引导过程

    轻松学习Linux之详解系统引导过程-1 轻松学习Linux之详解系统引导过程-2 本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  8. Linux学习笔记之Linux启动引导过程

    早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...

  9. linux系统开机过程描述

    本文描述linux系统开机过程,属于个人理解范畴,如果文中表述有误请大家批评指正! 计算机开机之后,首先要加载BIOS(基本输入输出系统)信息,BIOS包含了很多重要的信息,包括CPU信息,设备启动顺 ...

随机推荐

  1. QTreeWidget 获取被双击的子项的层次路径

    from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout, QTreeWidget, QTreeWidgetItem, QGrou ...

  2. JSON美化输出

    echo '{"a": 1, "b": 2}' | python -m json.tool 转自: http://blog.csdn.net/chosen0ne ...

  3. jqgrid demo

    本人是用php写的,相信只要稍微用点时间看本人写的,就一定能看懂 前台代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//E ...

  4. Javascript实现图片的预加载的完整实现

    图片预加载是web开发中一种应用相当广泛的技术,比如我们在做图片翻转显示等特效的时候,为了让图片在转换的时候不出现等待,我们最好是先让图片下载到本地,然后在继续执行后续的操作.今天我们将来实现一个完整 ...

  5. [JAVA]基于微信公众平台开放接口编写的sdk

    最近在研究微信公众平台提供的公众服务号,以及提供的开放接口. 写了一个相对来说比较简单的基于java的微信sdk,目前实现的功能没有覆盖所有接口. 有兴趣的话,大家可以在这个基础上进行改进和完善,这样 ...

  6. 【BZOJ2067】[Poi2004]SZN 二分+树上贪心

    [BZOJ2067][Poi2004]SZN Description String-Toys joint-stock 公司需要你帮他们解决一个问题. 他们想制造一个没有环的连通图模型. 每个图都是由一 ...

  7. Objective-C内存管理基础

    2011-05-11 15:45 朱祁林 http://zhuqil.cnblogs.com 字号:T | T 本文我们将介绍<Objective-C内存管理基础>,在iOS开发中,内存管 ...

  8. Vue基础-双向绑定:从 html 到 模板 到 渲染函数

    Vue 测试版本:Vue.js v2.5.13 在 Vue 中,可以利用 v-model 语法糖实现数据的双向绑定,例如: <div id="app"> <inp ...

  9. lofter个人网站文艺愤青下载

    lofter地址→点击访问 你妹扫我        生成地址

  10. 虚拟机VMWare安装苹果系统MacOS详细教程(联网设置,全屏插件、文件互传)

    运行环境: VMware® Workstation 12 Pro(自行安装,或者用这个) 推荐(下面以10.11.6版本做的教程,但是安装时推荐使用此版本安装然后升级到10.11.6):MacOS X ...