Linux学习笔记(22) Linux启动管理
1. 系统运行级别
|
运行级别 |
含义 |
|
关机 |
|
|
1 |
单用户模式,可想象为windows的安全模式,主要用于系统修复 |
|
2 |
不完全的命令行模式,不含NFS服务 |
|
完全的命令行模式,就是标准字符界面 |
|
|
4 |
系统保留 |
|
图形模式 |
|
|
重启动 |
(1) 运行级别命令
runlevel #查看运行级别命令 N表示进入3前面的级别
init 运行级别 #改变运行级别命令
(2) 系统默认运行级别
在配置文件/etc/inittab中进行修改即可
id:3:initdefault: #系统开机后直接进入指定的运行级别
2. 启动流程

(1) initramfs内存文件系统,位于/boot中
CentOS 6.x中使用initramfs内存文件系统取代了CentOS 5.x中的initrd RAM Disk。它们的作用类似,可以通过启动引导程序加载到内存中,然后加载启动过程中所需要的内核模块,比如USB、SATA、SCSI硬盘的驱动和LVM、RAID文件系统的驱动。
# 创建initramfs目录
[root@localhost initramfs]# mkdir /tmp/initramfs #拷贝
[root@localhost initramfs]# cp /boot/initramfs-2.6.-.el6.i686.img /tmp/initramfs/ #进入
[root@localhost initramfs]# cd /tmp/initramfs/ #查看文件类型
[root@localhost initramfs]# file initramfs-2.6.-.el6.i686.img #修改后缀
[root@localhost initramfs]# mv initramfs-2.6.-.el6.i686.img initramfs-2.6.-.el6.i686.img.gz #解压缩
[root@localhost initramfs]# gunzip initramfs-2.6.-.el6.i686.img.gz #查看文件类型 [root@localhost initramfs]# file initramfs-2.6.-.el6.i686.img #提取文件
[root@localhost initramfs]# cpio -idvcu < initramfs-2.6.-.el6.i686.img
(2) 调用/etc/init/rcS.conf配置文件
主要功能有两个:
先调用/etc/rc.d/rc.sysinit,然后由/etc/rc.d/rc.sysinit配置文件进行Linux系统的初始化。
然后再调用/ect/inittab,然后由/etc/inittab配置文件确定系统的默认运行级别。
(3) 调用/etc/rc.d/rc文件
运行级别参数传入/etc/rc.d/rc这个脚本之后,由于这个脚本文件按照不用的运行级别启动/etc/rc[0-6].d/目录中的相应的程序。
如:/etc/rc3.d/K??开头的文件(??是数字),会按照数字顺序依次关闭;/etc/rc3.d/S??开头的文件,会按照数字顺序依次启动。
3. 启动引导程序grub
(1) grub中分区表示
|
硬盘 |
分区 |
Linux中设备文件名 |
Grub中设备文件名 |
|
第一个SCSI硬盘 |
第一个主分区 |
/dev/sda1 |
hd(0,0) |
|
第二个主分区 |
/dev/sda2 |
hd(0,1) |
|
|
扩展分区 |
/dev/sda3 |
hd(0,2) |
|
|
第一个逻辑分区 |
/dev/sda5 |
hd(0,4) |
|
|
第二个SCSI硬盘 |
第一个主分区 |
/dev/sdb1 |
hd(1,0) |
|
第二个主分区 |
/dev/sdb2 |
hd(1,1) |
|
|
扩展分区 |
/dev/sdb3 |
hd(1,2) |
|
|
第一个逻辑分区 |
/dev/sdb5 |
hd(1,4) |
(2) grub配置文件
vi /boot/grub/grub.conf
default=0 默认启动第一个系统
timeout=5 等待时间,默认是5秒
splashimage=(hd0,0)/grub/splash.xpm.gz 指定grub启动时的背景图像文件的保存位置
hidemenu 隐藏菜单
title CentOS(…) title就是标题的意思
root (hd0,0) 是指启动程序的保存分区
kernel /vmlinuz-…. ro 定义内核加载时的选项
initrd /initramfs 指定了initramfs内存文件系统镜像文件的所在位置
(3) VMware中的Linux虚拟机的grub界面
启动时按任意键,可以进入GRUB界面

按e键可进入编辑模式:

4. grub加密与字符界面分辨率调整
(1) grub加密
#设置grub密码
[root@localhost ~]# grub-md5-crypt
Password:
Retype password:
$$C71lN$BHBoOHGIQJ0xYkgn0K9QX0 #将生成的密码写入grub配置文件中的整体设置处
[root@localhost ~]# vi /etc/grub.conf
.......
password --md5 $$C71lN$BHBoOHGIQJ0xYkgn0K9QX0
......
重启后,进入grub界面,可以看到需要输入密码才能进入grub编辑模式

(2) 纯字符界面分辨率调整
#查看内核是否支持分辨率修改
grep "CONFIG_FRAMEBUFFER_CONSLE" /boot/config-2.6.32-279.el6.i686

然后在grub配置文件中的kernel后加入vga=791即可调整。
5. 系统修复模式
(1) 单用户模式
启动单用户模式:在grub界面中修改kernel的选项,在grub命令行末尾加上1,然后启动即可进入单用户模式。

单用户模式常见的错误修复:遗忘root密码和修改系统默认运行级别
(2) 光盘修复模式
如果忘记grub密码,可以通过光盘修复模式来进行修改。
如何进入光盘修复模式:
放入光盘:

按F2进入BIOS,设置为光盘启动。按F10保存并启动,可以看到如下图:

重要系统文件丢失,导致系统无法启动,如inittab。可以通过如下命令进行修复:

(3) Linux的安全性

Linux学习笔记(22) Linux启动管理的更多相关文章
- [转帖]Linux学习笔记之rpm包管理功能全解
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...
- linux学习笔记2 - linux常用命令
转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...
- Linux学习笔记之Linux启动级别
对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等.但是通常我们刚安装完Linux系统,然后进去以后是 ...
- linux学习笔记--程序与进程管理
.工作管理 1.前台程序放后台程序 命令后 加 & 2.任务执行时将前台任务任务放到后台中并[暂停] ctr + z 3.jobs 观察后台工作状态 及多少任务在执行,可以通过 help ...
- Linux学习笔记之Linux启动引导过程
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...
- Linux学习笔记之Linux相关知识
[想成为某一方面的大神,没有捷径可走,只能不断的记录.练习.总结.coding……] notes:主要从网上摘录了一些关于Linux的历史以及一些相关内容,以便对Linux系统有一定的了解.这不但可以 ...
- Linux学习笔记之Linux系统启动过程
Linux系统的启动过程可以分为五个阶段: 内核的引导 运行init 系统初始化 建立终端 用户登录系统 1.内核引导: 当计算机打开电源后,首先进行BIOS开机自检,按照BIOS中设置的启动设备(一 ...
- Linux学习笔记之Linux第一课-基本介绍
Linux简介 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基 ...
- Linux学习笔记(21) Linux日志管理
1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式 ...
随机推荐
- Linux下编译安装python3
Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...
- ABAP ALV单个单元格状态编辑-简单版本
*&---------------------------------------------------------------------* *& Report ZPPR0024 ...
- Effective C++ -----条款06:若不想使用编译器自动生成的函数,就该明确拒绝
为驳回编译器自动提供的功能,可将相应的成员函数声明为private并且不予实现. 使用像Uncopyable这样的base class也是一种做法(即先声明一个基类,然后私有继承它).这其实有点像使用 ...
- 运行Myeclipse发生这事这是怎么回事,大神们
- iOS 自定义返回按钮,保留系统滑动返回
原文链接 自定义返回按钮保留系统滑动返回手势.gif 1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使 ...
- XMPP框架下微信项目总结(6)刷新好友列表(删除,添加好友)
原理:1 服务器(openfire)添加/删除 好友,会向客户端(app)发送消息, 2 代理(xmppStreamDelegate)监听到添加/删除消息后,花名册模块(RosterModule)会在 ...
- JavaScript基础——使用数组
Array对象提供存储和处理一组其他对象的一种手段.数组可以存储数值.字符串或其他JavaScript对象.创建JavaScript数组有几种不同的方法.例如,下面的语句穿件同样的驻足的3个相同的版本 ...
- rpm -qc 来查找安装包的配置文件
rpm -qc elasticsearch /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/jvm.options /etc/elast ...
- Java Eclipse进行断点调试
如何调试Java程序? 大家最开始学习Java,都会觉得IDE调试好高端有木有,其实很简单了. 下文会尽量简单直观的教会你在Eclipse中调试,其他的IDE调试步骤也是类似的. 1.在你觉得有错的地 ...
- Linux系统启动过程分析
[原创]Linux系统启动过程分析-wjlkoorey258-ChinaUnix博客http://blog.chinaunix.net/uid-23069658-id-3142047.html 经过对 ...