Linux学习笔记(三)

来源:互联网 发布:linux起进程命令 编辑:程序博客网 时间:2024/05/17 03:03
GRUB配置文件
/boot/grub/menu.lst
/boot/grub/grub.conf


有某些系统,真正的配置文件存放在etc中/etc/grub.conf




/boot目录中
vmlinuz----- 内核文件
initrd---.img 初始化内存磁盘


config----  内核源代码配置文件
system.map  内核函数描述




file命令用于查看指定文件的文件类型
file /etc/hosts


grub配置文件格式
#表示注释
default=0  默认进入系统在菜单编号,从0开始
timeout=10 如果10秒未输入,则使用默认项进入系统
splashimage= 背景图片文件具体路径和名称
hiddenmenu  只显示倒计时和系统名称,除非按键才显示grub菜单
title  启动菜单中的一个标签
password 全局密码设置,使用户需要口令才可以修改grub在启动时的配置。




菜单项内容
root (hd0,0)  表示之后的kernel和initrd命令所需要读取的文件都在此分区中。
hd代表硬盘,不区分类型。
第一个0,代表计算机找到的第一个硬盘
第二个0,代表此硬盘上的分区编号,与Linux系统内部的sda1编号不同。此处从0开始。(root和括号中间有空格)


kernel  读取内核文件,指定绝对路径和完成文件名。之后是内核启动参数。由grub将内核载入到内存后,使内核运行,并把相应参数发送给内核,对其进行配置。
kernel  /boot/vmlinuz  root=LABEL=/ rhgb  quiet
root=LABEL=/  指定Linux系统的根分区是哪个
root=/dev/sda1 使用设备名称指定linux根分区位置(还可以使用UUID)
rhgb centos系统在服务启动过程中的图形背景
quiet  在启动内核时,不显示内核对硬件检测的信息。


initrd 载入initrd文件。


=============
grub通过配置文件,将指定位置的内核文件、initrd文件逐一载入内存。并执行内核。内核进行自解压后检测硬件,并挂载初始化磁盘。通过初始化磁盘上的脚本,将需要的驱动模块加载到内核中。之后再寻找参数指定的硬盘上的根分区。运行根分区上的初始化脚本,系统中各服务启动。最终进入shell环境。
kernel panic。


grub启动时
e——修改菜单项(临时修改)
c——进入grub命令行模式




/根分区——相当于是windows的C盘


Windows系统在grub中的配置
title  Windows XP
rootnoverify (hd0,1)
chainloader +1


rootnoverify指定windows分区位置
chainloader将引导功能交给该分区0扇区引导程序去处理




给grub加密
password 功能可以给grub在启动时增加密码,使没有密码的用户不能随便修改系统启动设置。
password也可以指定给某个启动项,使没有密码的用户无法使用该启动项进入系统。


全局密码password放置在第一个title之前。如果将password写在title之后,是启动项密码。


设定密码时,可以使用明码,但登录以后的用户都可以看到密码的内容。为了保证安全性,可以使用md5加密。
明码  password=123456
md5加密   password  --md5  kjsdf98su9sd89fs99


产生md5密码的工具为
grub-md5-crypt
将产生的密码复制到grub配置文件中,并保证密码的字符没有遗漏
password --md5  $sdois09s09x98sd98as


在grub菜单中,使用c快捷键进入命令行模式
在使用命令行进行启动配置时,不会写入到配置文件中,也是临时的一种启动方式。当配置文件错误,或磁盘错误时,可能只能使用命令行进行启动。
如果有密码设置,则需要先输入密码后,才能进入命令行模式。
在命令行模式中,基本的启动语句写法与配置文件相同。
在最后,使用boot指令执行启动。
在输入命令和文件名及路径时,可以使用和shell一样的tab补全功能,来补全命令、路径、磁盘编号、分区、文件0名等。