Linux 版 (精华区)

发信人: tcpip (俺的昵称改了), 信区: Linux
标  题: FreeBSD连载(05):安装之前的准备--2
发信站: 紫 丁 香 (Fri Nov 12 21:22:32 1999), 转信

【 以下文字转载自 Linux 讨论区 】
【 原文由 tcpip 所发表 】
准备硬盘和软盘

  在IBM兼容的个人计算机上使用的硬盘控制器有以下种类:


最古老类型的ST-506以及ESDI,当前已经很少人使用这些驱动器,但是FreeBSD的wd驱动
程序仍然支持它们;


IDE和增强型IDE(EIDE),是当前最流行的个人计算机硬盘控制器,每台计算机能接两个
控制器,每个控制器可以接两个设备(硬盘或光驱),分别为这个控制器上的主设备和从
设备。FreeBSD的wd驱动程序支持EIDE,wd驱动程序探测到的第一个IDE控制器的主硬盘为
wd0,第一个IDE控制器的从硬盘为wd1,第二个IDE驱动器的主硬盘为wd2,从硬盘为wd3;



SCSI控制器,由于SCSI控制卡承担了大量的处理任务,降低了中央处理器的负载,更适合
用做服务器和高性能工作站的磁盘驱动器。早期的SCSI控制器能接7个设备,而Wide SCSI
控制器可以接15个设备。SCSI板卡种类繁多,对不同的SCSI控制器,FreeBSD需要使用不
同的驱动程序来进行支持。与IDE驱动器相同,SCSI硬盘驱动器也按检测到的顺序排列或
在内核中规定的顺序,从da0向后,依次类推。

  在FreeBSD 2.2.x版本中使用的SCSI驱动程序为与3.x版本不同,旧版本驱动程序使用
的SCSI 硬盘设备名为sd0等。 


硬盘分区方式及命名

  在个人计算机中,每个硬盘可以分为四个磁盘分区,其分区信息存储在该硬盘前部的
分区表中,而每个分区可以由不同的操作系统进行管理。常见的分区分为基本分区和扩展
分区,又根据使用的不同文件组织格式,可以分为DOS的FAT分区,FreeBSD的UFS分区、NT
的NTFS分区,Linux的EXT2FS分区等。

  一个硬盘上可以划分一个扩展分区,扩展分区与基本分区不同,它实际上不直接在上
面存储实际数据,而是在上面再划分逻辑分区,这样又可以划分四个逻辑分区。使用
DOS/Windows操作系统的计算机必须拥有一个使用DOS的F AT文件系统的基本分区,这个将
对应于DOS下的C盘,然后将其他空间划分到扩展分区中,在扩展分区中再划分DOS逻辑分
区,相应的FAT分区依次对应于D盘、E盘等。当其他的操作系统使用硬盘时,这个操作系
统应该单独占用一个分区,在这个分区上使用自己的文件组织格式。

  DOS只能使用C、D等盘符来标志FAT格式的磁盘分区,它不能标识其他文件组织格式的
磁盘分区,如果一个硬盘上没有FAT格式的磁盘分区,那么就不会存在C盘、D盘等。然而
其他更强大的操作系统通常能识别多种文件组织格式,通常按照分区在分区表中的顺序来
标识他们。例如FreeBSD将记录在分区表上的分区,分别称作wd0s1,wd0s 2,wd0s3,
wd0s4,wd0为第一个IDE硬盘,使用s1标识第一个分区等。如果某个分区(例如第二个分
区w d0s2)为扩展分区,那么其上面的逻辑分区,其顺序就从5算起,为wd0s5,wd0s6,
wd0s7,wd0s8 。因此一个磁盘上最多只能有8个不同的分区同时存在。

  然而毕竟扩展分区上的逻辑分区和基本分区还有所差别,因此不是所有类型的文件组
织方式都可以适合在逻辑分区中使用。FAT、NTFS和EXT2FS类型可以被在逻辑分区上使用
,但是FreeBSD使用的UFS不能被逻辑分区使用,只能是在基本分区中使用UFS文件组织格
式。这是由于FreeBSD是一个完全独立的操作系统,使用的分区方式继承自BSD Unix,早
在个人计算机出现之前,BSD就已经形成了自己的管理硬盘和分区的方式了。

  BSD Unix传统的使用硬盘方式是独占整个硬盘,只有文件系统或交换空间而没有分区
的概念,也不使用硬盘的分区表来保存分区信息,因此也不存在基本或扩展分区。BSD使
用Slice来表示硬盘上的一个部分,一个Slice 是硬盘的一个部分,它可以是一个文件系
统也可以是一个交换空间。Slice的概念与个人计算机传统使用的Partit ion(分区)概
念类似,因此也可以使用分区来称呼它。BSD方式的管理方法能管理多达8个Slice,BSD按
字母顺序依次命名他们为wd0a,wd0b等。按习惯用法,wd0a用于根文件系统 “/” ,
wd0b用于交换空间,w d0c用于表示整个硬盘空间,wd0e用于/usr文件系统等。

  然而FreeBSD毕竟是运行在个人计算机平台上的操作系统,其他操作系统使用
Partition,而Fre eBSD使用Slice,就必须采用一种折中的方式,使得FreeBSD能和其他
操作系统相互协作,处理磁盘分区。F reeBSD的磁盘管理方式就是一种兼容的硬盘使用方
式。每个FreeBSD系统将占用一个独立的UFS基本分区,这个分区与其他操作系统使用分区
的方式相同。在基本分区内再使用BSD的Slice方式进行管理,这种方式就类似于DO S在扩
展分区内分割逻辑分区的方式。

  假设FreeBSD使用了第三个分区wd0s3,则在这个分区内划分的相应Slice就被称为
wd0s3a, wd0s3b等,其中wd0s3a缺省被用做根文件系统等。这时仍然可以使用传统的名
字wd0a来称呼wd0s3a,使用wd0b称呼wd0s3b,以与BSD传统方式兼容的方式称呼这些Slice
,但条件是wd0s3应该是wd0硬盘上第一个UFS类型的基本分区(或唯一的UFS基本分区),
wd0盘上的其他UFS分区中的Slice就只能使用全称了。由于Slice和Partition都是用于分
隔磁盘(或分区),以更方便的利用磁盘空间,为了简捷,可以将在 UFS基本分区中划分
的Slice,如wd0s3a,称作wd0s3分区的子分区。

  下面为DOS和FreeBSD(多操作系统并存)下常用硬盘分割的方式。 




准备硬盘

  如果不是在新系统中安装FreeBSD,安装系统之前需要备份相应硬盘上的重要数据。
因为安装过程将直接操作硬盘,对硬盘进行分区和格式化(在Unix下称为建立文件系统)
,虽然在一定条件下安装者能够不破坏原有的数据,但是有可能由于某次误操作,导致重
要数据的无法恢复。因此建议对该计算机上的所有硬盘数据做一次完整备份。这些数据的
备份任务要使用计算机已经安装好的操作系统来完成。

  然后需要确定将系统安装在何处,FreeBSD必须独占一个基本分区,要保留出自由空
间就行了。硬盘上的自由空间包括两个含义,一是分区表中的位置上的空间,四个分区表
没有占满,另一个是硬盘空间,现有的分区没有占满所有的硬盘。然而,安装程序也能删
除现有分区,并重新分割硬盘。

  如果是在一个新硬盘上安装FreeBSD系统,但又打算以后还安装DOS等其他操作系统,
最好使用DOS程序 fdisk.exe先划分出一个基本分区。这个分区的大小都没有什么意义,
它只是用来给FreeBSD安装程序提示B IOS的硬盘数据映射方式的,否则FreeBSD安装程序
就不考虑BIOS的映射方式。由于这个分区只起到提示作用,可以在安装过程中删除,重新
按照原有的考虑分割硬盘。如果没有这样的分区,FreeBSD安装程序中的硬盘映射数据可
能和BIOS中的设置不一致,当然安装者可以进入BIOS,记录下硬盘的柱面、磁道和扇区映
射数据,在安装过程中手工更改映射数据设置。

  硬盘映射数据不一致的问题,来源于个人计算机BIOS与Unix对硬盘的理解不同。个人
计算机使用柱面、磁道和扇区的概念来理解硬盘上数据的位置,而Unix只将硬盘等存储设
备理解为分为一个个块的简单线形设备。这就导致Fr eeBSD中的Slice和BIOS中的
Partition划分时的不同。如果计算机上只有FreeBSD一种系统独占硬盘,FreeBSD只需要
知道每个Slice的大小就行了,按块读取数据,不会出现任何问题。但如果与另一种操作
系统共享硬盘,那么就必须首先确定相应的Partition位置,这就受到BIOS的限制。一旦
FreeBSD对柱面、磁道和扇区理解与BIOS设置的不同,必然就发生不能找到分区的正确位
置问题。

  一般情况下,找不到分区位置的情况不会发生,因为FreeBSD系统能够侦测到硬盘的
数据。但是个人计算机上的BIOS会对柱面、磁道和扇区数据重新进行映射,导致BIOS以与
硬盘本身并不一致的方式来分割硬盘上的Parti tion。因此对于在一个新硬盘上安装
FreeBSD,BIOS又对磁盘数据进行了重新映射的情况下,就需要记录下B IOS映射的数据用
于纠正可能出现的映射数据问题。BIOS对硬盘数据进行映射发生于两种情况下,一种情况
为使用SC SI硬盘时,SCSI硬盘本身使用线性地址,而BIOS必须要求柱面、磁道和扇区的
概念,因而BIOS就对SCSI硬盘进行映射。另一种情况是对EIDE硬盘,由于个人计算机BIOS
的设计问题(系统调用仅支持1024柱面的限制),支持大硬盘的BIOS也要将EIDE硬盘重新
映射为合法的硬盘数据(使用LBA或其他映射方式)。因此即使在安装系统之后,如果随
意更改BIOS中的硬盘映射方式,就会使得分区的位置被映射到一个错误的位置上,发生启
动错误。

  FreeBSD本身并不使用任何BIOS调用来处理硬盘存取,而是使用自己内部的硬盘驱动
程序。因此,只要启动程序将控制权交给FreeBSD系统之后,BIOS中的硬盘映射方式就没
有意义了。但是,启动系统的任务是由BIO S或使用BIOS调用的启动管理程序来完成的,
BIOS必须能找到操作系统的启动部分才能载入相应的操作系统。这样就有两种有趣的情况
发生,第一种情况下,虽然BIOS的映射数据可能被改动了,但是改动之后的数据中操作系
统分区的初始位置没有变化,这样BIOS仍然能载入操作系统的启动部分,来启动FreeBSD
。这种情况最常发生在让FreeBS D系统独占整个硬盘的情况时,这样操作系统的启动就基
本不受BIOS的映射数据的影响了,这种情况就是传统的BSD的硬盘管理模式,硬盘中不存
在Partition。

  另一个情况发生在FreeBSD分区的位置在1024柱面之后,由于BIOS的1024柱面限制,
它不能引导 1024柱面之后的分区。因此给FreeBSD留的空间要位于1024柱面之内,才能使
安装后的FreeBSD系统能够正常启动。在系统启动之后,FreeBSD就不再使用BIOS进行任何
操作,则此时就可以处理1024柱面之后的硬盘了。在这种情况下,BIOS的硬盘映射能起到
帮助作用,因为如果BIOS使用了LBA或其他方式重新映射了硬盘数据,每个硬盘分区就将
保留在1024柱面之内,就不存在这个问题了。因此,如果大硬盘使用的是LBA等模式,就
不存在启动问题,如果BIOS没有映射硬盘数据,就要注意分区的位置,以便系统能正确启
动。但是,在硬盘上已有分区的情况下,不应该调整硬盘的映射数据,因为这将丢失已有
的分区数据。

  因此如何处理分割分区就需要安装者仔细考虑。对于一个新系统,可以选择让
FreeBSD独占整个硬盘或者保留一个小的DOS分区。让FreeBSD独占整个硬盘的好处是硬盘
不受BIOS的影响,因此这个硬盘可以立即安装到其他 FreeBSD系统下,而不需要考虑不同
BIOS的不同映射方式。但是保留一个小DOS基本分区也存在相当多的好处,因为Intel平台
下的多数硬件配置和诊断程序为DOS程序,将这些配置程序保留在DOS分区内,便于更改硬
件配置和诊断故障。具体如何选择依赖于安装者的考虑,一般建议保留一个DOS分区。

  对于在已安装有操作系统的硬盘上安装FreeBSD系统,处理分区就更需要小心。大多
数预装DOS/Wind ows的个人计算机通常使用DOS基本分区和扩展分区占满了整个硬盘空间
,没有空余的自由硬盘空间留给FreeBSD 。因此就需要将一个分区留给FreeBSD,就需要
在安装之前把这个分区中的数据都进行备份。此外还需注意如果是要将扩展分区留给
FreeBSD,就必须将整个扩展分区留给FreeBSD,FreeBSD不能在扩展分区中的某个逻辑分
区上安装。如果使用者想保留已有分区和数据,情况就比较复杂了,有一些软件能够在不
损失数据的条件下,更改已有分区大小,这样就能从现存分区中挤出空余空间来安装
FreeBSD,这些软件有自由软件FIPS(在安装光盘中提供),商业软件PartitionMagic等


  FIPS能够将FAT类型的DOS基本分区分割为两个分区,第一个分区保留原有数据,而可
以使用FIPS分出的第二个分区安装FreeBSD。然而这种操作直接操作硬盘,具有非常大的
危险性,如果操作失误,很可能导致分区错误及数据丢失。建议在FIPS操作之前,备份硬
盘上的重要数据。此外,还应该首先使用磁盘整理工具来整理磁盘上的文件。长期使用计
算机,使硬盘上的文件被零零碎碎的放在硬盘的不同位置上,因此必须将所有的文件都移
动到硬盘的前面,以减少错误发生的可能性。微软的Defrag工具以及其他第三方厂商的工
具,如Norton SpeedDisk,都提供了这个能力。

  Defrag程序不移动系统和隐藏文件,因此对于可能位于磁盘后部的系统和隐藏文件,
必须在运行Defrag 之前使用微软的attrib命令去除这些属性(包括Windows的交换文件)
,由于有这些属性的DOS系统文件IO .sys和MSDOS.sys总是位于磁盘的前部,因此不需要
对它们进行处理。运行Defrag不能使用 “Defr ag File Only” (只整理文件碎片)选
项,因为该选项并不把所有的文件都移动到硬盘前部。

  运行了Defrag之后,最好使用Scandisk来检查一下是否存在磁盘错误,如果一切正常
,并且分区表还没有占满(总计不到四个分区),就可以运行FIPS来分割DOS基本分区了
。FIPS执行程序位于安装介质下tool s目录中,由于FIPS是一个DOS程序,直接访问硬盘
,因此应该在DOS模式运行它。它在运行时能将原有分区表保存到软盘上,命名为
RESTORRB.000(如果多次运行FIPS,文件名将依次增加为RESTORRB.00x),可以使用随
FIPS一起提供的RESTORRB来恢复原有分区数据。 


准备软盘

  常用的启动FreeBSD安装程序方式主要有三种,光盘启动、DOS启动和软盘启动。如果
计算机的不支持光盘启动,并且没有安装有DOS系统或没有DOS启动程序fbsdbot.exe和
kernel文件,那么就需要使用启动软盘启动。

  在安装介质的floppies目录中保存有启动软盘的镜象文件boot.flp,使用者可以在其
他计算机中的 DOS或者Unix下制作出这张软盘。然而,在新版本下这个镜象文件是2.88MB
的高密度软盘镜象,必须要求计算机支持2.88MB的软盘驱动器才可以,因此一般不使用这
个镜像文件,它更常用来作为启动光盘的启动盘镜像。系统也提供了两个1.44MB的普通磁
盘镜象文件kern.flp和mfs.flp,其中kerm.flp为系统内核,mfs. flp为将被读到内存中
MFS文件系统中的root文件系统,一般需要制作这两个软盘,用来启动安装系统。由于磁
盘镜像要占满整个磁盘,因此对软盘要求很高,软盘中不能有坏块。如果制作的软盘不能
正常启动,最大的原因就是使用了非10 0%完好的软盘,

  制作启动软盘必须使用一个现存Unix或DOS系统。

  在DOS下,使用程序rawrite.exe或fdimage.exe(tools目录下)来将一个软盘镜象文
件复制到软盘中。可以使用它来制作启动软盘、fixit软盘等。

  E:\TOOLS:> FDIMAGE E:\FLOPPIES\KERN.FLP

  在FreeBSD或其他Unix中要使用dd命令制作启动软盘,然而要注意在不同的Unix下,
软驱对应的设备文件名字是不同的,FreeBSD下为rfd0。

  # dd if=/cdrom/floppies/kern.flp of=/dev/rfd0

未完,待续。。。  

--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;

※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 202.118.239.10] 
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.239.10]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.065毫秒