当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 15 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-18 12:50 

注册: 2007-06-14 10:20
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
理解Linux的启动过程,对于解决Linux系统启动问题还是非常有帮助的,知道Linux系统在每个阶段做了哪些事,将会帮助你更快的找到问题出处,并解决这些问题。
提示:在进行重要文件编辑之前,最好是先对文件进行备份。
首先,我们来看机器启动的第一步–自检(Power-On Self Test)在启动过程中的第一步,就是自检,自检是由电脑的BIOS(基本输入输出系统)完成的,是对机器系统组件进行检查,不同的计算机架构可能有不同的检查方式,但它们是最终目的都是相同的。在自检过程中,如果发生错误,警报就会产生,机器就会产生一系列有规则的“滴”的声音,来标识特定的错误;如果自检通过,则BIOS就会读取硬盘上的主引导记录,然后载入在内存中找到的引导程序。

主引导记录(MBR):
图片
主引导记录(MBR)是通过BIOS读取启动驱动器的第一个512字节到内存(这里假设我们使用x86架构)在这512字节中,前面446字节一般包含一个底层启动代码,由它指向硬盘中的引导程序,后面64个字节包含了这个硬盘的分区表(由4个16字节组成),最后剩下的2个字节是Magic Number,它是用来进行错误检测。
引导程序(Boot Loader)
引导程序的目的是用来载入操作系统,在Linux系统中,有许多引导程序可以使用,但在Linux中最主要的引导程序是LILO和GRUB; Windows也有自己的引导程序,叫NTLDR(New Technology Loader),你可能曾经也在windows启动的时候看到,这样子的信息”NTLDR is missing”;这就是windows引导程序出错后显示的提示信息。

GRUB
图片

在当今Linux发行版本中最为流行的引导程序就是GRUB(GRand Unified Bootloader ),GRUB是一个写入到主引导记录和硬盘上的启动分区(/boot)中,并且用于加载操作系统的程序。GRUB是基于模块化设计,由不同的工作阶段组成。其中GRUB的启动阶段分为 Stage1和Stage1_5和Stage2这三部分组成。

Stage1

stage1代码被写入到主引导记录的512字节中去,但由于MBR大小方面的限制;GRUB stage1 通常指向GRUB的下一阶段stage1_5或stage2,GRUB是否需要载入stage1_5这取决于当前文件系统的类型。可以查看GRUB stage1,只要在系统的/boot/grub目录下运行以下命令:

[root@localhost grub]# file stage1
stage1: x86 boot sector, code offset 0×48

Stage1_5

Stage1_5是位于Stage1和Stage2之间的中间阶段
如果你查看过/boot/grub目录,你应该会看到各种不同文件系统类型名称的stage1_5文件,这些文件会让stage1_5阶段准确的识别文件系统类型
以下是保存在/boot/grub目录下的stage1_5文件:

e2fs_stage1_5
fat_stage1_5
ffs_stage1_5
iso9660_stage1_5
jfs_stage1_5
minix_stage1_5
reiserfs_stage1_5
ufs2_stage1_5
vstafs_stage1_5
xfs_stage1_5

Stage2

这是grub的主要阶段,它通常在/boot分区中的/boot/grub/stage2位置,它读取/boot/grub/grub.conf文件中的配置信息来确认如何加载内核,它拥有交互界面,允许你通过它来解决启动问题,重新或修改GRUB,如何让系统工作,stage2给用户显示出一个图形启动菜单,如果没有使用相关的按键进行操作,如e,i键等,那么在规定时间内,没有进行选择,GRUB就会从默认菜单项启动。

/boot/grub/grub.conf

该文件指定特定内核和initrd文件所有模块,并载入到你的Linux系统中去。

以下是RedHat中典型的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/hdb9
# initrd /initrd-version.img
#boot=/dev/hdb
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-53.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-53.el5.img

以下是经常出现的启动错误界面:

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else, TAB lists the possible
completions of a device/filename.]

grub>
什么都没有,只有GURB的提示符,我们该怎么办?通过GRUB中的TAB键来手动启动,以下是操作步骤:
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0×83
grub> kernel /<TAB>
Possible files are: lost+found grub initrd-2.6.18-8.el5.img System.map-2.6.18-
8.el5 config-2.6.18-8.el5 symvers-2.6.18-8.el5.gz vmlinuz-2.6.18-8.el5
grub> kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x1ad054]
grub> initrd /<TAB>
Possible files are: lost+found grub initrd-2.6.18-8.el5.img System.map-2.6.18-
8.el5 config-2.6.18-8.el5 symvers-2.6.18-8.el5.gz vmlinuz-2.6.18-8.el5
grub> initrd /initrd-2.6.18-8.el5.img
[Linux-initrd @ 0xfe8a000, 0x15547c bytes]
grub> boot
其中,root (hd0,0)专指第一块硬盘中的第一个分区;
在kernel行中,你可以输入”/”,<TAB>就可以查看显示内核列表,在输入所要启动内核名称的几个关键字符之后,按<TAB>键让GRUB自动帮你补全;
另外”ro root=LABEL=/”选项,来自我对RedHat系统使用的经验,你可能会有所不同;所以你需要在你的grub.conf文件中检查这些内容。
在initrd行,也可以使用同样的操作,显示相关内容列表。
最后,输入boot,回车,Linux系统就可以启动。

此文为转载http://seikai.net.ru/archives/15.html[b][/b]


页首
 用户资料  
 
2 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-18 13:18 
头像

注册: 2007-12-09 14:35
帖子: 1230
送出感谢: 0 次
接收感谢: 0 次
不错的文章,支持~


_________________
Linux is for human being,love is for human making


页首
 用户资料  
 
3 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-18 13:20 
头像

注册: 2008-02-17 23:47
帖子: 22109
地址: 美丽富饶的那啥星球
送出感谢: 11
接收感谢: 82
好文,顶 :em11


_________________
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手


页首
 用户资料  
 
4 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-18 14:42 
头像

注册: 2008-07-21 9:44
帖子: 2371
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
adagio 写道:
好文,顶 :em11


页首
 用户资料  
 
5 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-18 15:13 
头像

注册: 2007-10-18 17:40
帖子: 1006
送出感谢: 0 次
接收感谢: 0 次
http://www.google.com/search?site=ncr%2 ... tnG=Search


_________________

千帖户,享有论坛特权!


页首
 用户资料  
 
6 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-18 18:18 

注册: 2007-06-14 10:20
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
继续加强转载功力,希望有人用的到。。


_________________
网赚600


页首
 用户资料  
 
7 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-18 18:39 
头像

注册: 2007-08-05 17:40
帖子: 4968
送出感谢: 0 次
接收感谢: 4
grub提示符也支持tab啊

学到了


_________________
free VPN
YouKuDownLoader
代码:
pip3 install ykdl

install YouKuDownLoader, have fun in downloading.
YouKuDownLoader所支持网站列表


页首
 用户资料  
 
8 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-18 18:51 

注册: 2006-01-02 3:15
帖子: 156
送出感谢: 0 次
接收感谢: 0 次
fhc2007 写道:
adagio 写道:
好文,顶 :em11

:em04


页首
 用户资料  
 
9 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-19 0:38 

注册: 2009-02-16 23:49
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
学习了, :em02 :em02 :em02 :em02


页首
 用户资料  
 
10 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-19 1:22 
头像

注册: 2007-10-21 16:41
帖子: 1289
地址: GD
送出感谢: 0 次
接收感谢: 0 次
好文。。收藏。。


_________________
吼吼


页首
 用户资料  
 
11 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-19 10:05 
头像

注册: 2007-12-08 23:33
帖子: 4088
地址: SCUT-guangzhou
送出感谢: 0 次
接收感谢: 0 次
学习了,顶,呵呵


页首
 用户资料  
 
12 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-20 8:24 

注册: 2008-09-13 19:24
帖子: 117
送出感谢: 0 次
接收感谢: 0 次
不幸我遇到这样的问题了。提示一摸一样:[Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else, TAB lists the possible
completions of a device/filename.]
grub>
按照grub> root (hd0,0),出现提示no ……command,进行不下去了。我是菜菜,请再提示一下!
谢谢!


页首
 用户资料  
 
13 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-21 11:45 

注册: 2007-10-03 18:18
帖子: 27
送出感谢: 0 次
接收感谢: 0 次
root (hd0,x)//root和括号之间是有空格的
下一步
setup (hd0) //setup与括号之间也有空格


页首
 用户资料  
 
14 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-21 20:11 

注册: 2009-01-16 18:48
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
好文,收藏了


页首
 用户资料  
 
15 楼 
 文章标题 : Re: GRUB 启动窥探 (希望对各位菜菜有所提示)
帖子发表于 : 2009-02-24 15:02 

注册: 2009-02-13 22:24
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
不错的文章,支持


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 15 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译