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日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式 ...
随机推荐
- 使用swift 中的注意,不断完善中
1. 应该充分利用swfit的新特性 比如如果按照oc里的习惯,调用一个delegate中都optional函数应该这样写 if delegate != nil && delegate ...
- MPlayer-2016 最新版本
MPlayer 和 FFmpeg 最新版本 运行 Install.cmd 添加右键播放功能 mplayer\outformat.conf 配置视频分割命令参数 ; 往前0.05秒 大概10多个帧 ' ...
- js验证手机号
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 【processing】小代码2
函数: 绘制直线自由图形: beginShape(), vertex(), endShape() 分别是绘制图形开始,连接图形的节点,绘制结束 endShape(CLOSE)表示闭合图形. 绘制曲线边 ...
- struts 拦截器 Interceptor
拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用.正如上面 Struts2的Reference中讲述的,Stru ...
- 启动Eclipse弹出:Failed to load JavaHL Library 错误框的解决办法
一.问题背景描述: eclipse安装完svn插件以后,在启动时出现:Failed to load JavaHL Library. These are the errors that were en ...
- iOS应用架构谈(三):View层的组织和调用方案(下)
iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.下篇主要讨论做View层架构的 ...
- 模拟赛1101d1
完美的序列(sequence)Time Limit:1000ms Memory Limit:64MB题目描述LYK 认为一个完美的序列要满足这样的条件:对于任意两个位置上的数都不相同.然而并不是所有的 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十) 之 自定义系统消息和总结
前言 本篇主要讲解一个东西,就是我们自定义系统消息.效果如下: 首先我们要做的准备工作就是改写 layim 的消息模板,如果不改的话就成为某个用户发送的消息了,那么体验就稍微差一些.找到模板我们看一下 ...
- 阿里云服务器出现Warning: Cannot modify header information - headers already sent by (output started at 问题的解决方法
阿里云服务器出现Warning: Cannot modify header information - headers already sent by (output started at 问题的解决 ...