linux——————grub的简介

来源:互联网 发布:网络问政 高新园 编辑:程序博客网 时间:2024/06/01 08:18

一.linux的安装
注意:安装linux前,需要从windows中删除一部分硬盘,必须至少有两个分区:
根分区(主分区 '/')和swap(交换分区)
swap的作用:swap分区一般情况下大小设置为内存的2倍。相当于一块虚拟内存,当内存出现不足时,有这个分区临时充当内存的角色。

二、关于linux的用户
分3类:
1.root(超级管理员):拥有修给linux系统任何文件的权限,甚至可以将根目录删除。(UID:0)
2.普通用户(用户自定义的用户):权限有限,需要root权限时可以切换用户(su 用户名) (UID:500---)
3.不用于登陆的用户(伪用户):管理linux的服务(UID:1-499)

三、linux各个目录的作用
/boot :  存放linux的内核文件(不要动)
/bin  : 存放普通用户的命令
/sbin : 超级管理员的命令
/usr/bin   /usr/sbin   (whereis lvs)
/dev  : 外部设备
/home : 存放用户信息(当创建一个用户之后,默认的在home中创建指定用户的文件夹,桌面上的主文件夹)
lost+found:存储异常信息(断电后的日志/数据文件)
/misc :杂物箱
/net :网络信息
/root :root用户的主目录
/sys :系统信息
/usr :存放用户的应用数据
/etc :存放配置文件和文件目录(不要动)
/lib :存放linux动态链接库文件(相当于win中的*.dll文件)
/media和/mnt :挂载目录(挂载:mount)
/opt  :软件默认的安装目录(C:\Program Files)
/proc :存放获取的系统信息
/srv :存放原数据
/tmp :存放系统产生的临时文件
/var :存放系统的可变文件(日志文件/数据文件)

三 、linux的引导流程及grub的配置
1.linux的启动流程
步骤1:加载固件(固件:引导程序,固化到主板上的一段程序)
(类似于:BIOS/CMOS)对于linux:(firmware)
作用:
主要:识别硬件(硬件加电)体现在windows中,新的硬件添加后需要重启,用固件程序去加电
其他: 设置时间固件时间(hwclock) 与之对应的系统的时间date
  密码:设置固件密码
步骤2:根据选择启动相应的操作系统(为了解决linux本身的多系统(一个linux可以有选择的启动))
在linux下引导程序分两类
LILO:Last IN Last OUT(后进的服务,最后运行)
GRUB:(GRand Unified Bootloader)
linux如何写入计算机
 先烧写:bootloader
 在Bootloader中区选择kenal文件


通过设置/etc/grub.conf或/boot/grub/grub.conf去更改GRUB的启动信息
grub.conf文件内容:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2
#          initrd /initrd-version.img
#boot=/dev/sda  (说明引导程序是在硬盘上:sd代表SATA DISK )

GRUB的全局变量:(从grub.conf开始的到第一个title结束)

default=0   (默认启动的操作系统:win:1  linux:0)
timeout=5 (选择操作系统延迟的时间,单位为秒)
splashimage=(hd0,0)/grub/splash.xpm.gz (选择操作系统时的图片背景)

hd(0,0)代表:hd(hard disk)除了用hda/hdb...表示之外还可以用数字表示,
如:hd(0,0)表示:第0快硬盘的第0个分区,前面的数字表示第几块硬盘,后面的数字表示第几分区。

passwd=....

hiddenmenu
局部变量:
title Red Hat Enterprise Linux Server (2.6.18-164.el5)(title设置启动显示的标题)版本号:主版本号.次版本号.具体的内核版本(根据次版本号来选择,当次版本号为奇数,表示测试版,如果是偶数表示为正式版)
 root (hd0,0)      (/root)
 kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet
 initrd /initrd-2.6.18-164.el5.img
 passwd

kernel是什么?里面存放的是系统有关的硬件驱动,文件系统
用户自己可以根据平台的不同对kernel进行裁减(u盘    pad  手机)

 

内核服务(进程)管理
通过修改/etc/initab文件对内核服务进行修改

#
# inittab       This file describes how the INIT process should set up
#               the system in a certain run-level.
#
# Author:       Miquel van Smoorenburg, <
miquels@drinkel.nl.mugnet.org>
#               Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS(Red Hat SERVICE(红帽的服务等级runlevel)) are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode(单用户模式)
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode(2,3都是多用户的文本模式(text))
#   4 - unused (4保留)
#   5 - X11 (图形模式)
#   6 - reboot (Do NOT set initdefault to this)(重启)
#
id:5:initdefault:

inittab中文件的语法格式:
优先顺序:操作类型:脚本名称


# System initialization.(修改启动项)
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left.  Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly. 
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"


# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon