Linux爱好者入门教程.docx

上传人:b****8 文档编号:24012751 上传时间:2023-05-23 格式:DOCX 页数:22 大小:28.15KB
下载 相关 举报
Linux爱好者入门教程.docx_第1页
第1页 / 共22页
Linux爱好者入门教程.docx_第2页
第2页 / 共22页
Linux爱好者入门教程.docx_第3页
第3页 / 共22页
Linux爱好者入门教程.docx_第4页
第4页 / 共22页
Linux爱好者入门教程.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

Linux爱好者入门教程.docx

《Linux爱好者入门教程.docx》由会员分享,可在线阅读,更多相关《Linux爱好者入门教程.docx(22页珍藏版)》请在冰豆网上搜索。

Linux爱好者入门教程.docx

Linux爱好者入门教程

Linux爱好者入门教程(随时更新)!

!

文章来源:

(LinuxSir)

下面的是国内的优秀的Linux论坛:

http:

//www.linuxfans.org

声明:

本笔记并非原创,只是我个人的学习笔记!

很多的内容来自www.linuxfans.orgwww.linuxAID.com

非常感谢以上网站对我的学习提供的莫大的帮助,本着学习和分享的原则我贴出我的学习笔记,更希望兄弟们能给我指出其中错误的地方.谢谢!

!

!

学习这部分知识,首先要学到问题的思路,其次你还要记住一些东西,是死记硬背下来!

你会发现这点东东的确是很有用的!

尽管如此,本文档归属linuxsir-probing!

转载请注明出处!

更不能被用到商业用途上!

1首先要了解的几个概念

1.1启动管理器

启动管理器是存储在磁盘开始扇区中的一段程序,例如,硬盘的MBR(MasterBoot

Record),在系统完成启动测试后,如果系统是从MBR启动,则BIOS(BasicInput/Output

System)将控制传送给MBR。

然后存储在MBR中的这段程序将运行。

这段程序被称为启动管理器。

它的任务就是将控制传送给操作系统,完成启动过程》有许多可用的启动管理器,包括GNU

GRUB(GrandUnifiedBootLoader),Bootmanager,LILO(LInuxLOader),

NTLDR(bootloaderforWindowsNTsystems),等等等.

1.2什么是GRUB?

grub是一个多重启动管理器。

grub是GRandUnified

Bootloader的缩写,它可以在多个操作系统共存时选择引导哪个系统。

它可以引导的操作系统包括:

Linux,FreeBSD,Solaris,NetBSD,BeOSi,OS/2,Windows95/98,Windows

NT,Windows2000,WinXP。

它可以载入操作系统的内核和初始化操作系统(如Linux,FreeBSD),或者把引导权交给操作系统(如Windows

98)来完成引导。

1.3GRUB的特点

特别适用于linux与其它操作系统共存情况。

支持大硬盘

现在大多数Linux发行版本的lilo都有同样的一个问题:

根分区(/boot分区)不能分在超过1024柱面的地方,一般是在8.4G左右的地方,否则lilo不能安装,或者安装后不能正确引导系统。

而grub就不会出现这种情况,只要安装时你的大硬盘是在LBA模式下,grub就可以引导根分区在8G以外的操作系统。

支持开机画面 

grub支持在引导开机的同时显示一个开机画面。

对于玩家来说,这样可以制作自己的个性化开机画面;对于PC厂商,这样可以在开机时显示电脑的一些信息和厂商的标志等。

grub支持640x480,800x600,1024x768各种模式的开机画面,而且可以自动侦测选择最佳模式,与Windows那320x400的开机画面不可同日而语。

两种执行模式

grub不但可以通过配置文件进行例行的引导,还可以在选择引导前动态改变引导时的参数,还可以动态加载各种设备。

例如你在Linux下编译了一个新的核心,但不能确定它能不能工作,你就可以在引导时动态改变grub的参数,尝试装载这个新的核心进行使用。

Grub的命令行有非常强大的功能,而且支持如bash或doskey一样的历史功能,你可以用上下键来寻找以前的命令。

菜单式选择 grub使用一个菜单来选择不同的系统进行引导。

你还可以自己配置各种参数,如延迟时间,默认操作系统等。

分区大小改变后不必重新配置  grub是通过文件系统直接把核心读取到内存,因此只要操作系统核心的路径没有改变,grub就可以引导系统。

除此之外,Grub还有许多非常强大的功能。

例如支持多种外部设备,动态装载操作系统内核,甚至可以通过网络装载操作系统核心。

Grub支持多种文件系统,支持多种可执行文件格式,支持自动解压,可以引导不支持多重引导的操作系统,支持网络启动等。

1.4MBR和第一扇区

你可以简单的理解为MBR是整个硬盘的物理第一位置,而第一扇区是硬盘的物理第二位置.

1.5一个GRUB配置文件

基于本例的分区如下:

hda15G

hda18G/REDHATLINUX8.0

hda57G/home

hdc20G

hdc16.4GWinXP

hdc56.4G

hdc66.4G

hdc76.4G

#fdisk-l

#Disk/dev/hdc:

255heads,63sectors,2434cylinders

Units=cylindersof16065*512bytes

DeviceBootStartEndBlocksIdSystem

/dev/hdc1*18947181023+bWin95FAT32

/dev/hdc2895243412370050fWin95Ext'd(LBA)

/dev/hdc589517877172991bWin95FAT32

/dev/hdc6178824345196996bWin95FAT32

Disk/dev/hda:

255heads,63sectors,1867cylinders

Units=cylindersof16065*512bytes

DeviceBootStartEndBlocksIdSystem

/dev/hda1*110208193118+83Linux

/dev/hda210211802628141583Linux

/dev/hda318031867522112+82Linuxswap

grub.conf,这个文件位于;/boot/grub/grub.conf

#grub.confgeneratedbyanaconda

#

#Notethatyoudonothavetorerungrubaftermakingchangesto

thisfile

#NOTICE:

Youdonothavea/bootpartition.Thismeansthat

#allkernelandinitrdpathsarerelativeto/,eg.

#root(hd0,0)

#kernel/boot/vmlinuz-versionroroot=/dev/hda1

#initrd/boot/initrd-version.img

#boot=/dev/hda

default=0

timeout=3

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

titleRedHatLinux(2.4.18-14)

root(hd0,0)

kernel/boot/vmlinuz-2.4.18-14roroot=LABEL=/

initrd/boot/initrd-2.4.18-14.img

titleMicrosoftWindowsXP

map(hd0)(hd1)

map(hd1)(hd0)

root(hd1,0)

chainloader(hd1,0)+1

makeactive

boot

2解读grub.conf文件

我们将来看看grub.conf文件内语句,(注:

...)内的东西是我们的解读内容.

#grub.confgeneratedbyanaconda

#

#Notethatyoudonothavetorerungrubaftermakingchangesto

thisfile

#NOTICE:

Youdonothavea/bootpartition.Thismeansthat

#allkernelandinitrdpathsarerelativeto/,eg.

#root(hd0,0)

#kernel/boot/vmlinuz-versionroroot=/dev/hda1

#initrd/boot/initrd-version.img

#boot=/dev/hda(注:

以上以符号井"#"开头的行表示被注释掉,没有任何意义)

default=0(注:

默认的操作系统就是由default控制的。

default后加一个数字n,表明是第

n+1个。

需要注意的是,GRUB中,计数是从0开始的,第一个硬盘是hd0,第一个软驱是fd0,等等。

所以,default0

表示默认的操作系统在这儿是RedHatLinux(2.4.18-14)如果你修改成1就是WinXP了)

timeout=3(注:

timeout表示默认等待的时间,这儿是3秒钟。

超过3秒,用户还没有作出选

择的话,系统将自动选择默认的操作系统;当然你可以改成任何你乐意的时间)

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

(注:

指定开机画面文件splash.xpm.gz的位置)

titleRedHatLinux(2.4.18-14)(注:

表示RedHatLinux的菜单项)

root(hd0,0)(注:

表示第一个硬盘第一个分区,这里的root和系统内的root不是一码事!

详细如下说明)

kernel/boot/vmlinuz-2.4.18-14roroot=LABEL=/(注:

指定内核的位置,详细说明如下文)

initrd/boot/initrd-2.4.18-14.img(注:

初始化)

titleMicrosoftWindowsXP(注:

表示MicrosoftWindowsXP的菜单项)

map(hd0)(hd1)(注:

map是命令,详细如下)

map(hd1)(hd0)

root(hd1,0)(注:

这是指第二个硬盘(从硬盘)上第一个分区)

chainloader(hd1,0)+1(注:

链式装入器,装入一个扇区的数据然后把引导权交给它。

详细说明如下)

makeactive

boot

(注:

在Linux中,当谈到"root"文件系统时,通常是指主Linux分区。

但是,GRUB有它自己的root

分区定义。

GRUB的root分区是保存Linux内核的分区。

这可能是您的正式root文件系统,也可能不是。

我们讨论的是

GRUB,需要指定GRUB的root分区。

进入root分区时,GRUB将把这个分区安装成只读型,这样就可以从该分区中装入

Linux内核。

GRUB的一个很“酷”的功能是它可以读取本机的FAT、FFS、minix、ext2和ReiserFS

分区.到目前为止,您可能会感到一点疑惑,因为GRUB所使用的硬盘/分区命名约定与Linux使用的命名约定不同。

在Linux

中,第一个硬盘的第五个分区称作"hda5"。

而GRUB把这个分区称作"(hd0,4)"。

GRUB对硬盘和分区的编号都是从0

开始计算。

另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。

现在,可以发现如果要引导Linux硬盘hda5,应输入"root

(hd0,4)"。

知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。

kernel/boot/vmlinuz-2.4.18-14ro

root=LABEL=/说明/boot/vmlinuz-2.4.18-14就是要载入的内核。

后面的都是传递给内核的参数。

root=LABEL=/就是linux的硬盘分区表示法,ro是readonly的意思。

initrd用来初始的linux

image,并设置相应的参数。

命令map:

当你有两块硬盘,一个无法从第二块硬盘启动的操作系统,例如Windowsxp,就可以使用map命令.你能够将hd0映射为hd1,将hd1映射为hd0。

换句话说,你可以虚拟的交换两个硬盘而启动所需要的操作系统

命令形式如下:

grub>;map(hd0)(hd1)

grub>;map(hd1)(hd0)

GRUB使用了“链式装入器”(chainloader)。

链式装入器从分区(hd1,0)

的引导记录中装入winxp自己的引导装入器,然后引导它。

这就是这种技术叫做链式装入的原因--

它创建了一个从引导装入器到另一个的链。

这种链式装入技术可以用于引导任何版本的DOS或Windows。

GRUB的配置文件要简单就这么简单,如果你要更个性化一点,试一试把“colorlight-gray/blue

”加在default语句的下面,下一次启动GRUB时,看看有什么变化,再试一试“colorlight-blue/red",惊喜吗?

有趣吧!

3如何使用grub?

3.1安装

你可以从ftp:

//alpha.gnu.org/pub/gnu/grub下载GRUB的源代码。

得到文件grub-0.5.96.1.tar.gz,所以这样做:

#tar-xvzfgrub-0.5.96.1.tar.gz

这个命令将解开的文件和目录放在一个名为grub-0.5.96.1的目录中。

现在运行如

下命令:

#cdgrub-0.5.96.1

#./configure

如果你想定制GRUB,使之包含流行的文件系统和对网卡的支持,或者删除你不需要的网卡,可以运行如下命令:

#./configure--help

这个命令将输出所有的命令选项。

现在可以使用—enable和—disable选项增加或

删除对特定网卡的支持。

(注意:

GRUB支持网络启动)

为了开始编译过程,键入如下命令:

#make

#makeinstall

至此你已经为安装GRUB真正做好了准备。

将GRUB的相关文件保存在诸如/boot/grub的目录中是一个好主意。

为此,按如下步骤:

1.默认状态下,GRUB所有文件将安装在/usr/share/grub/i386-pc(或者在

/usr/local/share/grub/i386-pc目录下,这只取决于你的shell变量的设置。

2.建立一个叫做/boot/grub的目录,然后拷贝下列文件到这个目录:

stage1stage2*stage15

稍候将解释这些文件。

同时也要把GRUB(可能在/usr/sbin或者/usr/local/sbin

目录下)拷贝到/boot/grub目录下。

安装GRUB可以分为三个单独的步骤:

1.将“stage1”安装到MBR中。

2.设置“stage2”的地址或者位置。

3.设置一个菜单或选项,用来决定启动哪一个操作系统。

使用下面的命令开始安装GRUB。

#cd/boot/grub

#./grub

这个命令根据BIOS的设置检测硬件设备,同时产生一些输出信息。

这会花较长的时间。

end_request:

I/Oerror,dev02:

00(floppy),sector0

GRUBversion0.5.96.1(640Klower/3072Kuppermemory)

TAB键可列出可能的命令列表。

其它情况下TAB会列出设备或文件名。

类似下面的提示会出现:

grub>;

现在,假设你将Linux安装在了第一块硬盘的第一个分区中或者/dev/hda1中。

记住GRUB的命名规则,将上面的名字改为(hd0,0)。

键入下面的命令:

grub>;install(hd0,0)/boot/grub/stage1(hd0)

(hd0,0)/boot/grub/stage2

p(hd0,0)/boot/grub/menu.conf

现在分析一下这个命令的细节。

install

一个内置的命令,它告诉GRUB将(hd0,0)/boot/grub/stage1安装到hd0的主引导纪录中。

(hd0,0)/boot/grub/stage2

告诉GRUBstage2映象的位置。

pwiththethefollowingoptions:

(hd0,0)/boot/grub/menu.conf

为菜单的显示设置配置文件。

下面是对这个命令用法的总结:

1.install

2.ource_of_stage1

3.where_to_install

4.source_of_stage2

5.psource_of_configuration_file

现在,你完成了硬盘上的基本安装工作。

在软盘上的安装:

为了在软盘上安装GRUB,你要会用“dd”命令,并且了解它是如何工作的。

为了做一张GRUB启动盘,你要将stage1和stage2文件放到软盘的开始扇区中。

安装stage1到软盘上:

插入一张已格式化的软盘,键入命令:

#ddif=stage1of=/dev/fd0bs=512count=1

命令的详细说明如下:

if=inputfile

i.e.,stage1

of=outputfile

i.e.,floppydrive(thismaybedifferentonyourcomputer)

bs=bytestoreadandwrite

Hereitis512bytes.

count=howmanytimestoperformthisoperation

每次拷贝“bs”数目的块到目标地址。

安装stage2到软盘

#ddif=stage2of=/dev/fd0bs=512seek=1

这里的步骤同stage1的相同,除了一个seek选项外。

Seek选项将调过一个“bs”。

例如,在上面的命令中bs的值是512,这样seek=1意味着将跳过软盘上前512个字节

,从513字节开始。

这将使得第一步操作不会覆盖stage1的前512字节。

现在你完成了基本的软盘驱动器安装。

如果已经安装了grub要把grub重新安装到主引导扇区上,只需要简单打入makebootable命令就可以了。

3.2配置grub

grub启动时会在/boot/grub/中寻找一个名字为menu.lst的配置文件,如果找不到此文件则不进入菜单模式而直接进入命令行模式。

现在,我们来看一下如何在启动后进入各种操作系统,如何建立menu.conf文件。

我们就从GRUB支持的启动过程开始。

可以有两种方法来完成启动过程:

·A.通过调用内核本地启动

·B.连续启动或者将控制转给另一个引导器

A模式启动过程

1.配置跟设备或者告诉GRUB你的根文件系统。

2.告诉GRUB你的内核影像的位置,然后将参数传送给内核。

3.重新启动,试一下。

为了启动Linux,将内核以bzImage的文件名放在/boot/目录中,跟文件系统是

/dev/hda1,或者GRUB中的(hd0,0)。

启动过程如下:

1.root(hd0,0)[Thissetstherootpartition]

2.kernel/boot/bzImageroot=/dev/hda1[Thissetsthekernel]

B模式启动过程(这种模式假设当前的分区中安装了另一个启动管理器,例如LILO

或者NTLDR):

1.设置根分区但不要安装它

2.激活这个分区

3.配置需要启动的分区的第一个扇区

4.重新启动,看一下效果。

我们在试试启动安装在/dev/hdc1或者(hd1,0)的widows。

启动windows的过程如下:

1.rootnoverify(hd1,0)

2.makeactive

3.chainloader+1[+1setsthefirstsectorofthecurrentroot

partition]

4.boot[transfersthecontrolandquitsGRUB]

menu.conf文件:

它用于建立启动多操作系统时的菜单。

建立menu.conf并不难。

它使用简单的英语,就象你在这一节看到的那样。

所有的菜单项目都以没有逗号分隔的“titleTITLENAME”开头。

你可以随意设置

TITLENAME。

设置Linux启动菜单步骤如下:

1.设置标题

2.设置根分区

3.设置内核的相应参数

4.启动

一个菜单例子:

titleRedHatLinux(2.4.18-14)

root(hd0,0)

kernel/boot/vmlinuz-2.4.18-14roroot=LABEL=/

initrd/boot/initrd-2.4.18-14.img

前面有#的行是一个注释。

建立启动Windows或者DOS的菜单:

titleWindoze

rootnoverify(hd0,0)

makeactive

chainloader+1

boot

#----

又或者:

titleMicrosoftWindowsXP

map(hd0)(hd1)

map(hd1)(hd0)

root(hd1,0)

chainloader(hd1,0)+1

makeactive

boot

----

注意:

root和rootnoverify都是一样的,把rootnoverify改成root也行。

不过经过实践来看。

有时引导win时,系统安装好后,是rootnoverify

(hdX.Y)这样形式的,这样会出现windows起不来,出现什么windows什么文件损坏的情况。

这时,我们就要把在grub中,引导windows的那段中的rootnoverify改为root

root英文的意思

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1