打印

grub2

[复制链接]
121|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
香菇选手|  楼主 | 2018-10-6 09:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
系统引导流程:

固件firmware (CMOS/BIOS)                   -----  作用:post加电自检

|

自举程序BootLoader(MBR、GRUB/LILO/ntldr)      ---- 作用: 载入内核

|

载入内核Kernel                            -----  作用: 驱动硬件

|

启动进程init                              ------  作用:启动系统的第一个进程init,

|

读取执行init的配置文件/etc/inittab



BIOS的时钟叫硬件时钟:hwclock

操作系统的时钟叫软件时钟:date



Hwclock命令:查看硬件时钟,同步硬件时钟和软件时钟,还可以设置硬件时钟

Date命令:查看软件时钟,修改软件时钟。



MBR:Masterboot record,主引导记录,位于磁盘的0磁头,0柱面,1扇区,共512bytes。

MBR保存了三部分信息:bootloader(自举程序,446b),partition table(磁盘分区表,四个,64b),magic number(磁盘结束字,2b)。



Linux内核可执行的内核文件:/boot/vmlinuz-3.2.0-4-amd64

Linux内核源代码文件:/usr/src/…



Init进程的工作:

Init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。在unix/linux系统中,init是第一个可以存在的进程,它的PID恒为1,但它必须向一个更高级的功能负责,:PID为0的内核调度器(Kernelscheduler),从而获取cpu时间。



Linux运行级别(runlevel):

0:halt(关机)

1:singleuser mode(单用户模式-安全模式-只有root可登陆-没有图形界面)

2:multiuser(多用户模式-没有图形界面-没有NFS服务)

3:fullmultiuser mode(完整个的多用户模式-没有图形界面)

4:unused(没有使用的,用户自定义模式)

5:x11(缺省的级别,xwindows-linux的图形环境)

6:reboot(重启)



Runlevel命令:查看当前运行级别

Init或telinit n命令:切换运行级别



Inittab文件格式:

Id:runlevel:action:process



/etc/inittab文件的内容:

Id:n:initdefault:                            #执行initdefault,设置默认运行级别

si::sysinit:/etc/init.d/rcS                   #执行sysiniit,启动脚本rcS

Ln:n:wait:/etc/init.d/rc n                    #执行wait,启动/etc/init.d/rc

Ca::ctrlaltdel:/sbin/shutdown –t3 –r now    #执行组合键关机

Pf::powerfail:/sbin/shutdown –f –h +2 “…”#执行组合键

Pr:12345:powerokwait:/sbin/shutdown –c …    #执行组合键

N:2345:respawn:/sbin/mingetty ttyn           #ctrlaltFn组合键启动新的命令行终端



Chkconfig命令:

Ntsysv命令:

Dmesg命令:查看系统诊断的错误日志



/var/log/存放所有的系统日志文件

-------------------------------------------------

怎样配置自举程序(grub为例)

/boot/grub/grub.conf->/etc/grub.conf

default=n         定义缺省启动的系统

timeout=t                 系统启动的等待时间

splashimage=(hd0,n)/grub/splash.xpm.gz         默认的grub界面图片

hiddenmenu                                 隐藏菜单,不会显示grub直接进入系统

title XXX                                  grub菜单中系统的名称

root (hd0,n)                             定义根目录位置,有时候root和boot不是一个分区。

kernel                                    内核位置,在/boot中

initrd                                    载入镜像文件,在/boot中



grub启动菜单的命令

e:编辑当前启动菜单项,相当于编辑grub.conf文件

p:数据grub的密码

c:进入grub命令行

b:启动当前的菜单项

d:删除当前行

esc:返回

enter:确认

----------------------------------------------------

单用户模式

作用:单用户模式只有root能登录,用于在忘记root密码时修改root密码。

方法:开机进入grub界面,选中一个title,按e进入编辑模式,选中kernel再按e进入编辑模式,在最后空格输入1或s,按回车保存,按b启动。

----------------------------------------------------

给grub设置密码有两种方法:

#grub-md5-crypt                                终端命令

grub>md5crypt                                   grub命令行命令

上述两个方法生成一个密码的密文,继续下面操作:

在grub.conf文件中第一个title前面一行进行设置:

password –md5 密文

---------------------------------------------------

grub命令行模式

作用:当开机不能进入系统,或者有错误提示,进入grub命令行进行修复,此时一般时grub.conf文件出现问题。

grub>。

Grub命令行命令:

ls

cat

set root=(hd0,n)

linux

initrd

--------------------------------------------------

grub修复模式

作用:当inittab文件被修改,sudoers文件被修改等,

此时只能用安装光盘或者u盘进行修复,修复损坏的文件。

-----------------------------------------------------

当格式化了grub文件的分区或者删除了grub配置文件,但是没有删除MBR中的grub,开始会进入grubrescue>模式。

此时需要用启动盘进行修复,也就是修复grub。让MBR能够找到grub配置信息。

或者重装linux系统。

-------------------------------------------------

sudo命令

/etc/sudoers文件是sudo的配置文件。

Visudo命令可以进行配置。

Root ALL=(ALL:ALL) ALL

chengwei ALL=(ALL:ALL) ALL

%sudo      ALL=(ALL:ALL) ALL

---------------------------------------------------

无法挂载的问题

移动硬盘或u盘不能打开,提示无法挂载。

/etc/fstab文件存放挂载信息,删掉最后一行,也就是sdb行,保存,重新插拔就可以。

---------------------------------------------------

linux软件管理:

安装软件有三种方法:

1.二进制软件包,.deb,.rpm等;使用命令安装dpkg(apt),rpm(yum)。

2.标准源代码软件包,.tar.gz,.tar.bz2等;./configure,make。

3.非标准源代码软件包,.tar.gz,.tar.bz2等;./setup,先查看readme文件。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

450

主题

462

帖子

0

粉丝