Samuel Learning

  • 联系
  •  
  • 管理

文章分类(203)

  • 01 ASP/HTML(6)
  • 02 Script/CSS(16)
  • 03 C/C++
  • 04 XML(4)
  • 05 微软编程(26)
  • 06 J2EE(60)
  • 09 Linux(14)
  • 10 Database(27)
  • 11 报表打印
  • 12 打包安装(1)
  • 13 模式重构(2)
  • 14 系统架构
  • 15 敏捷开发(11)
  • 16 案例分析(30)
  • 17 Workflow(1)
  • 18 配置管理(1)
  • 19 项目管理
  • 20 英语(4)

新闻分类(52)

  • CXF学习
  • Hibernate学习(1)
  • iBatis学习(16)
  • Struts1学习(1)
  • Struts2学习(34)

.NET资源

  • adxmenu
  • C# Open Source
  • DNN Directory
  • M2Land
  • Windows Form FAQ
  • 中国DNN
  • 中国DNN联盟

Ajax

  • DoJo
  • GWT
  • JQuery
  • jquery autocomplete
  • jquery flexgrid
  • JQuery Form
  • jquery masked input
  • JQuery UI
  • jquery validation
  • Jquery 图表
  • jquery报表
  • jquery插件集合
  • Qooxdoo
  • Tibco GI
  • YUI
  • YUI-EXT
  • ZeroKode

Java开源

  • ABLE
  • Agile Tao
  • Ajax4JSF
  • Alfresco
  • AppFuse
  • Compiere
  • Equinox
  • Findbugs
  • Geronimo
  • Grails
  • Harmony
  • Hibernate论坛
  • JAG
  • Java开源大全
  • Java视线论坛
  • jBPM工作流
  • JSFTutorials
  • Nereide ERP
  • Ofbiz ERP
  • Opentaps ERP
  • operamasks
  • Petstore
  • Prototype.js
  • RIFE
  • Runa
  • SpringSide
  • Struts Menu
  • Sun Glassfish
  • Trails
  • YUI4JSF
  • 满江红

Mobile

  • Sencha

WEB资源

  • DHTML中心
  • DHTML参考手册
  • DHTML文档
  • EclipsePlugin
  • Firebug
  • GRO Clinux
  • jMaki
  • JSTL文档
  • LoadIcon
  • Openlaszlo
  • Struts Menu 展示
  • Web Test Tools
  • WebCtrs
  • Webdeveloper
  • 中国RIA开发者论坛

Workflow

  • E-Workflow
  • JBPM
  • OpenWFE
  • OSWorkflow
  • WFMC
  • Workflow Research

其他连接

  • confach
  • CPP
  • ejay
  • Giovanni
  • 丹佛
  • 交大e-learning
  • 交大研究生院
  • 可恶的猫
  • 天天@blog
  • 我的相册
  • 阿飞

大牛人

  • 32篇JBPM
  • David.Turing
  • HongSoft@业务集成
  • Joel
  • Koen Aers
  • Martinfowler
  • Raible Matt
  • Raible Wiki
  • Scott W.Ambler
  • Tom Baeyens
  • Uncle Bob
  • 一个世界在等待
  • 子在川上曰
  • 小布老师
  • 小明
  • 差沙
  • 徐昊
  • 江南白衣
  • 汪博士
  • 汪小金
  • 银狐999

开源软件

  • 2Bizbox ERP
  • CompiereCRM&ERP
  • EGW
  • Vtiger CRM
  • webERP

敏捷

  • Canoo
  • Cruisecontrol
  • DBUnit
  • EL4Ant
  • Extreme Programming
  • Fit
  • Fitnesse
  • JFrog
  • Liquibase
  • Maven
  • MockObjects
  • Selenium
  • Squish
  • xpairtise
  • XPlanner
  • XProgramming
  • 敏捷联盟

数据库

  • Oracle 中国
  • Oracle-ERP
  • Oracle在线社区

未归类

  • Aquarius Orm Studio
  • mambo建站系统
  • Oracle产品下载
  • 远程同步管理工具Capivara

经典框架

  • Apache Shale
  • formdef-struts
  • FreeMarker 主页
  • JBoss Seam
  • JSF 中心
  • JSF 入门应用
  • JSF中国
  • MyFaces官方
  • Spring 社区
  • Spring专业网站
  • Spring中文论坛
  • Spring参考手册
  • Spring官方网站
  • strecks-struts
  • Struts1
  • Struts2
  • Struts-layout
  • StrutsWiKi
  • Tapestry WIKI
  • Tapestry 官方
  • Tapestry4开发指南
  • Tapestry中文文档
  • Webwork2文档
  • Wicket

网络教程

  • Laliluna
  • RoseIndia
  • Sang Shin
  • Visualbuilder

著名站点

  • Buildix
  • Dev2Dev
  • IBM dev中国
  • InfoQ
  • ITPub
  • Java Eye
  • Java Research
  • JavaRead
  • JavaWorldTW
  • Matrix
  • PHP100
  • PHPX
  • SpringSideWiKi
  • TheServerSide
  • TWPHP
  • 中国工作流论坛

项目管理

  • 管理人网

最新评论

View Post

用实验快速掌握grub和lilo

用实验快速掌握grub和lilo

 

[实验目的]

1.灵活应用grub和lilo引导系统。

2.当系统出现无法引导时,会快速修复。

 

[实验要求]

1.RH8.0系统。

2.能够熟练应用rescue模式,应急实验中无法预料的错误。

 

[实验步骤]

1.安装grub。

    情景:假设你现在用grub引导系统,今天grub.conf这个文件突然丢失啦,开机出现的grub如下:grub>,而且你又不能确定系统装在哪个分区。

1) 创建情景,手动删除/boot/grub/grub.conf

   # mv /boot/grub/grub.conf   /boot/grub/grub.conf.BAK

2) 重启,出现假设的情景。

   # reboot

3) 首先,学会在不用光盘rescue模式进入系统。

① 用root (hdx,x)定位到每个分区。

   grub> root (hd0,0)

   注意:a.(hdx,x)是给BIOS看的,hd0表示第1个硬盘,hd1表示第2个硬盘,逗号后面的数字0表示第1个分区,1表示第2个分区以此类推。

   b.作这一步的目的是找到含vmlinuz和initrd*.img文件的那个分区,及根目录分区/。

   c.寻找的方法如下:

   grub> root (hd0,0)

   显示:什么文件系统,什么分区系统

   grub> kernel /<tab键>

   显示:有什么目录和文件。由此找出包含/boot/vmlinuz和initrd*.img文件的分区,及根目录/分区。也有可能,/boot和/在同一个分区。这里姑且,/boot和/独立分区。在同一分区的情况会另有说明。

   d.root后,括弧前有个空格。

②根据上述方法,假设找到/boot分区在(hd0,0),/分区在(hd0,10)。

③现在打如下列命令,进入系统:

  grub> root (hd0,0)<回车键>

  grub> kernel /vmlinuz-<tab键>补全<空格键>ro<空格键>root=/dev/hda11<回车键>

  grub> boot<回车键>

  注意:a./dev/hdax是给linux内核看的,对于同一个分区,hdax里的x要比(hd0,x)里的x大1。

  b.如果,你找出的/和/boot分区不在(hd0,)上,而在(hd1,x)上,那么可能在root=/dev/hda11这而变为:root=/dev/hdbx啦,x根据(hd1,x)里的x而定,比它大1,这个上面说过。

4) 创建一个/boot/grub/grub.conf,方法为拷贝文档里的样本。

   # cp  /usr/share/doc/grub-<tab键>补全/menu.lst    /boot/grub/grub.conf

   原文如下(等于号中间的部分):

=======================================

#

# Sample boot menu configuration file

#

 

# Boot automatically after 30 secs.

timeout 30

 

# By default, boot the first entry.

default 0

 

# Fallback to the second entry.

fallback 1

 

# For booting GNU/Hurd

title  GNU/Hurd

root   (hd0,0)

kernel /boot/gnumach.gz root=hd0s1

module /boot/serverboot.gz

 

# For booting GNU/Linux

title  GNU/Linux

root (hd1,0)

kernel /vmlinuz root=/dev/hdb1

 

# For booting Mach (getting kernel from floppy)

title  Utah Mach4 multiboot

root   (hd0,2)

pause  Insert the diskette now!!

kernel (fd0)/boot/kernel root=hd0s3

module (fd0)/boot/bootstrap

 

# For booting FreeBSD

title  FreeBSD 3.4

root   (hd0,2,a)

kernel /boot/loader

 

# For booting OS/2

title OS/2

root  (hd0,1)

makeactive

# chainload OS/2 bootloader from the first sector

chainloader +1

# This is similar to "chainload", but loads a specific file

#chainloader /boot/chain.os2

 

# For booting Windows NT or Windows95

title Windows NT / Windows 95 boot menu

rootnoverify (hd0,0)

makeactive

chainloader  +1

# For loading DOS if Windows NT is installed

# chainload /bootsect.dos

 

# For installing GRUB into the hard disk

title Install GRUB into the hard disk

root    (hd0,0)

setup   (hd0)

 

# Change the colors.

title Change the colors

color light-green/brown blink-red/blue

===================================================

现在假设,你只想引导linux和windows系统,那么只保留下面部分就行,其他的要么注释掉,要么删除。保留部分如下(等于号中间的部分):

==============================================

# For booting GNU/Linux

title  GNU/Linux

root (hd1,0)

kernel /vmlinuz root=/dev/hdb1

 

# For booting Windows NT or Windows95

title Windows NT / Windows 95 boot menu

rootnoverify (hd0,0)

makeactive

chainloader  +1

# For loading DOS if Windows NT is installed

# chainload /bootsect.dos

==============================================

根据测试,(hd0,0)为/boot分区,(hd0,10)为/分区,而且,用fdisk -l 找到C:\ ,这里假设为:/dev/hda2,那么给BIOS看的东西就是(hd0,1),所以,现在做相应修改如下(等于号中间的部分):

==============================================

# For booting GNU/Linux

title  GNU/Linux

root (hd0,0)

kernel /vmlinuz ro root=/dev/hda11

 

# For booting Windows NT or Windows95

title Windows NT / Windows 95 boot menu

rootnoverify (hd0,1)

makeactive

chainloader  +1

# For loading DOS if Windows NT is installed

# chainload /bootsect.dos

==============================================

如果你有其他系统,请做相应修改。另外,如果你觉的title太土的话,也可以修改一下。

5) 重新安装grub,检查一下上述文件有无错误。

   # grub-install  /dev/hda

6) 重启后,应该能看到grub的选择菜单,虽然土了一点,但绝对能用。

7) 其次,如果你有安装光盘,可以利用rescue模式,进入系统。

① 安装光盘放入光驱,写linux rescue | 选择English | 选择 us 键盘 | 点击Continu| OK|  进入虚拟系统。

②  进入硬盘linux环境。

   # chroot  /mnt/sys<tab键>补全

③接着以上 4) 直到 6)。

8) 上面提到,如果/和/boot在同一个分区,这样的话,在grub>提示下进入系统,具体操作如下修改,假设/和/boot在(hd0,10),那么进入系统的命令如下:

grub> root (hd0,10)

grub> kernel  /boot/vmlinuz  ro  root=/dev/hda11

grub> boot

进入系统后,/boot/grub/grub.conf也做如下修改:

==============================================

# For booting GNU/Linux

title  GNU/Linux

root (hd0,10)

kernel /boot/vmlinuz ro root=/dev/hda11

 

# For booting Windows NT or Windows95

title Windows NT / Windows 95 boot menu

rootnoverify (hd0,1)

makeactive

chainloader  +1

# For loading DOS if Windows NT is installed

# chainload /bootsect.dos

==============================================

不知大家注意没有,grub>提示,手动进入的命令和/boot/grub/grub.conf的菜单几乎一样,只是少了titile。

 

2.安装lilo。

情景:你起初是用lilo引导,现在lilo坏了,无法引导,出现LI 或LIL等字样,无法进入系统。或者你起初是用grub引导,现在想用lilo引导。所以你现在必须安装lilo。

1) 因为lilo要求/boot下的文件要在前512柱面内,所以,如果条件不符合,无法用lilo引导,放弃此实验。

2)创造实验条件,破坏掉MBR内的LILO或grub。

# dd if=/dev/sero  of=/dev/hda  bs=446  count=1

# reboot

注意:上面的bs=446,千万不能大于446,否则可能损坏硬盘分区表。

3)重启后,出现系统无法引导。

4) 根据1的7)步,进入rescue模式,在进入硬盘linux环境。

5) 打开lilo.conf的manpage,拷贝里面的部分代码。

   # man lilo.conf

6)拷贝其中的下列代码,制作新的文件/etc/lilo.conf

==================================

boot = /dev/hda

delay = 40

compact

vga = normal

root = /dev/hda1

read-only

image = /zImage-2.5.99

label = try

image = /zImage-1.0.9

label = 1.0.9

image = /tamu/vmlinuz

label = tamu

root = /dev/hdb2

vga = ask

other = /dev/hda3

label = dos

table = /dev/hda

=======================================

6) 编辑此/etc/lilo.conf 只保留下面部分(等于号中间的部分):

=======================================

boot = /dev/hda

image = /tamu/vmlinuz

label = tamu

root = /dev/hdb2

 

other = /dev/hda3

label = dos

=======================================

假设,/boot 分区在(hd0,0),/ 分区在(hd0,10) C:\在:(hd0,1)

现在做如下修改:

=======================================

prompt

boot = /dev/hda

image = /boot/vmlinuz

label = linux

root = /dev/hda11

 

other = /dev/hda2

label = windows

=======================================

注意:添加了prompt,其实不加也行,在开机时注意按<shift键>,这样,你才有机会选择系统,否则默认进入第一个操作系统。

7) 安装lilo,这是必须的。

  #lilo

  注意,如果无错,你会看到菜单。如果有错,它会提示你做相应修改。

8) 重启,后提示输入lilo的菜单选项,如果你不知道 的话,可以按<tab键>,它会显示所有菜单,这样,你就容易写如要进入的系统菜单名。

 

3.原来的lilo引导改为grub。

1) 采用1的7) 步,进入rescue模式,在利用chroot进入硬盘linux环境。

2)编辑/boot/grub/grub.conf文件。

3)安装grub。

  # grub-install /dev/hda

4) 重启应该就是grub引导啦。

[实验总结]

    通过此实验,大家可以对lilo和grub的菜单比较熟悉。如果菜单出错,你可以把配置文件修改为最简单,最必要的条目。另外,请大家一定要留意一下,最终的lilo.conf和grub.conf文件,这两个文件已经是精简的不能在精简啦。另外,比照最初的安装配置的lilo.conf或grub.conf,你会发现,最起码少了 initrd*.img这一项目,它的作用是为进行引导而初始化RAM。即便少了也不会影响正常引导。

 

posted on 2005-09-26 09:08 MingIsMe 阅读(246) 评论(0)  编辑  收藏 所属分类: 09 Linux

 
Powered by:
BlogJava
Copyright © MingIsMe