| race 回复于:2003-11-11 21:30:32 |
| 题目是bluegirl发的,我编辑了。
这个资料涉及到solaris之外许多计算机硬件,特别是硬盘方面的术语,难度大了点。但是对于使用X86的是一本很好的资料。 能有这方面的字典最好了,如果没有,最好统一一下术语。 根据以前翻译那两篇的经验,都是网友分段翻译的,一些术语翻译过来有明显的错误,或者不符合习惯上的用法。 我打印过这篇资料,也详细阅读过,但是我不用X86,因此对那些术语也不能准确把握,还希望有经验、资历深的朋友来最后统稿。 想认领翻译的跟个帖子,说明你要翻译哪一部分,翻译以那本PDF的为准,下载地址为 http://multiboot.solaris-x86.org/multiboot.pdf 翻译期限暂定为本月30号为止,有时间完成的,可以来认领,已经认领没时间翻译的,请及时告知论坛。 |
| 红头发 回复于:2003-11-11 23:18:26 |
| 大大别删除
第1和2篇资料呢? |
| coffee and tea 回复于:2003-11-11 23:33:19 |
| 好像不多啊? |
| C.Arthur 回复于:2003-11-12 09:37:00 |
| 从哪里开始认领啊?先认领一些大家看看准确不准确。
谁分啊 |
| 醉里方休 回复于:2003-11-12 10:56:50 |
| nothing 回复于:2003-11-12 11:54:52 |
| 好象大家都很忙啊。我先来个最简单的开个头吧。翻译前言。I. Introduction。见笑见笑。 |
| nothing 回复于:2003-11-12 13:33:49 |
| 一. 简介
一.1 前言 随着在内的unix操作系统,包括免费的solaris和linux,以及价格相对较低的大容量硬盘在桌面市场的普及,产生了在x86单机上多系统共存的问题。想要安装一个和solaris共存的系统有很多理由:需要支特某种硬件,测试所开发软件的可移植性,娱乐,等等。 99年夏天, Solaris on Intel(http://groups.yahoo.com/group/solarisonintel)邮件列表上差不多每个星期都会有人提出关于solaris x86多系统启动的菜鸟问题。大多数人想在机器上安装Solaris和Windows NT。笔者有幸安装过几次,对于双系统启动比较了解,所以尽力回答问题和提供帮助。通过这样的方式来和其他人共享经验。关于Solais x86有专门的FAQ,但是关于双启动则信息不完整,甚至有时会误导。当时笔者在日本长野的信州大学致力于用Mizar检验Jordan曲线定理定形(??),有些空闲时间,想来写一篇指南应该不错,这就是由来。 现在,这是第二次同写一篇“完美多重启动指南”打交道了。感谢全世界用户的回馈,做了很多修正。众多的询问表明文档中应当包含更多的问题。 希望这篇指南对您有所帮助。 对以下人员表示感谢(略) 法律义务(略) 一.3 适用性 这篇文章讲了些什么呢? 这篇文档讲解关于Sun Solaris Intel版本和其他操作系统在x86单机上共存的问题,提供在单机上安装两个或者多个操作系统时可能遇到的问题的信息。 笔者和志愿者曾经测试过下面的操作系统证明是可以共存的。 Sun Solaris 2.5.1, 2.6, 7, 8, 9 x86, Linux, FreeBSD, MS DOS 2.5 and above, MS Windows 3.x, 9x, Millenium, NT 4.0, 2000, XP. 但是这并不排除其他操作系统可以共存。上面的信息可能并不完整和充分。 这里讨论两种情况:在一块硬盘上安装多个操作系统和在不同硬盘上安装多个操作系统,给出了在安装时应当考虑的因素,以及如何保留原有操作系统的指导。 本文档也同时包含了根深入了解问题的一般性知识。对x86的启动过程,BIOS常识,连接硬盘与分区都有章节讨论。 此文档也指导如何使用Solaris,Linux和Windows NT启动管理程序,也提供了第三方启动管理程序的一般信息。 也有章节是针对Solaris x86的维护的,举例说明了Soalris x86下的磁盘命名规则,硬盘分区,创建Slice,创建和加载文件系统。 本文档也给出了不同的安装的例子,并指出了他们的优点和缺点。 注意:此文档中的术语Windows NT除非另有说明,是指Windows NT 4.0, Windows2000(NT 5.0)以及XP(NT 5.1)。 本文档不涉及什么? 此文档并不是安装某种操作系统的指南或者手册。没有关于安装特定操作系统的说明。只针对Solaris x86的安装提供一些提示和建议。 本指南并不提供硬件方面的建议,不作为购买指南。 一.4 更新历史(略) |
| nothing 回复于:2003-11-12 13:34:06 |
| 一. 简介
一.1 前言 随着在内的unix操作系统,包括免费的solaris和linux,以及价格相对较低的大容量硬盘在桌面市场的普及,产生了在x86单机上多系统共存的问题。想要安装一个和solaris共存的系统有很多理由:需要支特某种硬件,测试所开发软件的可移植性,娱乐,等等。 99年夏天, Solaris on Intel(http://groups.yahoo.com/group/solarisonintel)邮件列表上差不多每个星期都会有人提出关于solaris x86多系统启动的菜鸟问题。大多数人想在机器上安装Solaris和Windows NT。笔者有幸安装过几次,对于双系统启动比较了解,所以尽力回答问题和提供帮助。通过这样的方式来和其他人共享经验。关于Solais x86有专门的FAQ,但是关于双启动则信息不完整,甚至有时会误导。当时笔者在日本长野的信州大学致力于用Mizar检验Jordan曲线定理定形(??),有些空闲时间,想来写一篇指南应该不错,这就是由来。 现在,这是第二次同写一篇“完美多重启动指南”打交道了。感谢全世界用户的回馈,做了很多修正。众多的询问表明文档中应当包含更多的问题。 希望这篇指南对您有所帮助。 对以下人员表示感谢(略) 法律义务(略) 一.3 适用性 这篇文章讲了些什么呢? 这篇文档讲解关于Sun Solaris Intel版本和其他操作系统在x86单机上共存的问题,提供在单机上安装两个或者多个操作系统时可能遇到的问题的信息。 笔者和志愿者曾经测试过下面的操作系统证明是可以共存的。 Sun Solaris 2.5.1, 2.6, 7, 8, 9 x86, Linux, FreeBSD, MS DOS 2.5 and above, MS Windows 3.x, 9x, Millenium, NT 4.0, 2000, XP. 但是这并不排除其他操作系统可以共存。上面的信息可能并不完整和充分。 这里讨论两种情况:在一块硬盘上安装多个操作系统和在不同硬盘上安装多个操作系统,给出了在安装时应当考虑的因素,以及如何保留原有操作系统的指导。 本文档也同时包含了根深入了解问题的一般性知识。对x86的启动过程,BIOS常识,连接硬盘与分区都有章节讨论。 此文档也指导如何使用Solaris,Linux和Windows NT启动管理程序,也提供了第三方启动管理程序的一般信息。 也有章节是针对Solaris x86的维护的,举例说明了Soalris x86下的磁盘命名规则,硬盘分区,创建Slice,创建和加载文件系统。 本文档也给出了不同的安装的例子,并指出了他们的优点和缺点。 注意:此文档中的术语Windows NT除非另有说明,是指Windows NT 4.0, Windows2000(NT 5.0)以及XP(NT 5.1)。 本文档不涉及什么? 此文档并不是安装某种操作系统的指南或者手册。没有关于安装特定操作系统的说明。只针对Solaris x86的安装提供一些提示和建议。 本指南并不提供硬件方面的建议,不作为购买指南。 一.4 更新历史(略) |
| BlueGirl 回复于:2003-11-12 16:32:54 |
| 看着版主老大和各位同仁如此热心,真的很感动。
以前只是在fanqiang.com的页面看一些文章,最近加入到这里,感觉真的很好,以后有条件(现在休息中),我也会做出自己的贡献。 |
| C.Arthur 回复于:2003-11-13 13:58:28 |
| [quote:d02f7d4b32="BlueGirl"]看着版主老大和各位同仁如此热心,真的很感动。
以前只是在fanqiang.com的页面看一些文章,最近加入到这里,感觉真的很好,以后有条件(现在休息中),我也会做出自己的贡献。[/quote:d02f7d4b32] 正好休息啊,赶紧翻译吧 |
| race 回复于:2003-11-13 14:02:01 |
| [quote:8442b345f3="C.Arthur"]
正好休息啊,赶紧翻译吧[/quote:8442b345f3] 老大,别只灌水,来点实际的 |
| hello_unix 回复于:2003-11-21 19:00:01 |
| 一.4 更新历史
5月27日, 2003 感谢 Alan Pae 在美国再一次设立了镜像站点。本文档可以从下面地址得到 http://www.geocities.com/paedalbu/multiboot (http://www.geocities.com/paedalbu/multiboot). 还要感谢 Alan 的报告,新断掉的连接已经修复了 12月26日, 2002 增加了下面的内容: FAQ 部分, Solaris fdisk 操作的一个提示, GRUB 配置范例和验证。 11月3日, 2002 增加了一种新的情况“两个硬盘, Solaris 和 Windows"。依据在Solaris下进行的大量的挂载 FAT 分区的测试结果,对该部分进行了修正。 12月2, 2001 增加了关于扩展分区ID 0x0F 的问题的提示。 修改了些小错误. 可以从日 rsync的主站点(rsync://math.uwb.edu.pl/multiboot)的匿名服务器(http://rsync.samba.org/rsync)上下载本文档 . Nov 11, 2001 新的 BIOS 支持中断 13h 扩展。于是硬盘容量限制如8GB或者1024扇区障碍都被这些使用了扩展特性的操作系统或者多启动管理工具突破了。相关的文档现在已经更新。感谢 Stefan Kanthak指出这个问题。 9月21日, 2001 增加了如何修复NT启动扇区这部分的细节。 改正了安全地 Solaris + NT 安装范例。 增加了一些技术知识 8月28日, 2001 第三个主要地修订。 增加了"Troubleshooting"部分以简化查找工作背景的查找。 增加了"Reconfiguring boot device" 和 "History" 。 做了很多小的更新,包括链接错误。 8月25日, 2001 在美国建立第一个镜像站点http://www.solarisresources.com/multiboot。 感谢 Alan Pae. |
| plum 回复于:2003-12-01 10:56:43 |
| 各位参考:)
[color=blue:1ae42ecf4f]2 Generalities 2.1 硬盘几何参数[/color:1ae42ecf4f]基础 术语被用来指定硬盘组织它的数据到盘面、轨道、扇区的路径,即是它的几何参数。早先这是一个相对简单的思想:硬盘有一定数量的磁头、轨道(每盘面)、扇区(每轨道)。这些可以通过BIOS获得,所以PC知道如何存取硬盘。 随着硬盘的更新,其位置也就更复杂。存在于老的BIOS的过分简单化的限制已经坚持到了今天。但是硬盘本身已经采取了更复杂的方法和更大容量存储数据。因此在老BIOS和新硬盘之间必须采取措施保证其兼容性。 注意:这些问题只与IDE/ATA硬盘有关,与SCSI硬盘无关。SCSI硬盘采用不同的选址方法。 [color=blue:1ae42ecf4f]物理几何参数[/color:1ae42ecf4f] 硬盘的物理几何参数就是指硬盘使用的实际的磁头、柱面和扇区的数量。在老硬盘这仅仅是曾经被使用的几何类型。在系统BIOS中原始开始参数被设计来支持老硬盘,尤其每个轨道的数量和扇区数一样。 所有使用区域位元记录(ZBR)的新硬盘必须对系统隐藏内部物理几何参数,因为BIOS仅仅能运用每轨道的扇区一个数。这些硬盘使用逻辑几何参数,物理几何参数隐藏在硬盘控制器里的程序后。 逻辑几何参数 硬盘参数可以从系统BIOS自动监测、其它软件如ATAID、或者硬盘的手册来获得,得到的是硬盘厂家为硬盘指定的逻辑几何参数。因为新硬盘使用ZBR技术,因此在每轨道上有更多的扇区(依靠硬盘区域检查),而这在BIOS中设置物理参数是不可能的。BIOS中有每轨道63扇区的限制,所有新硬盘的每轨道扇区超过100,所以没有ZBR,这将是一个问题。 为了解决这个问题,BIOS提供伪造的参数以接近硬盘的容量,硬盘控制器能够智能地在逻辑几何物理参数之间解释。实际上所有现代硬盘都是用一个16磁头63扇区的逻辑几何参数,因为这是在BIOS中允许的最大值。实际的物理参数完全不同,但BIOS对此一无所知。 备注 ZBR(zoned bit recording)有限空间位元记录法。这是用来增加磁盘存储空间的一种技术。一般的磁盘的轨道是由外向内分布的同心圆,通常最外圈为第零轨,越往圆心移动则轨数增加,最靠近圆心的轨道是最后一轨。在制造硬盘时,磁粉是均匀的涂在磁盘盘面上,所以磁盘各部位的密度应该是相同的。但是作業系統 (或是硬碟控制介面卡) 在規劃硬碟時,往往將硬碟的每個磁軌都分割相同的磁區數目,因此若第零軌距離圓心的距離是最後一軌的兩倍,則它每一個磁區所佔用的面積也會是最內磁軌磁區的兩倍 (根據圓周公式),如此一來會造成最外圈磁區過於浪費的情形,因此誕生了將內外磁軌劃分為不同磁區的技術,這種技術便稱為『區域位元記錄』。 下面表现了物理和逻辑参数的不同,3.8 GB Quantum Fireball TM Specification Physical Geometry Logical Geometry Read/Write Heads 6 16 Cylinders (tracks per Surface) 6,810 7,480 Sectors Per track 122 to 232 63 Total Sectors 7,539,840 7,539,840 两种几何参数等效与相同数量的全部扇区,实际情况不是一致的。逻辑几何参数的目的是能够使用BIOS支持的术语存取整个硬盘。理论上逻辑几何参数的扇区数比物理几何参数多,这个将造成硬盘空间的浪费。当然,他不可能指定比物理存在更多的扇区。 当使用现代硬盘时,逻辑和物理几何参数的转换是低级别转换,它不同于BIOS参数的转换(高级别,为了克服硬盘容量限制)。 2.2 硬盘容量限制 The Int 13h software interrupt 软中断Int 13h,支持BIOS中提供的硬盘存取命令,在硬盘上此中断忽略命令。通过3-空间坐标系统完成扇区寻址。前两个坐标:柱面数和磁头数,决定硬盘轨道,以0开始。第3个坐标就是轨道上的扇区,按照习惯,以1开始。Int 13h分配24位同扇区规格相配。具体: 10bit的柱面数/1024柱面 8bit磁头数/256磁头 6bit扇区数/63扇区 这就意味着BIOS能够支持到接近16.5百万个扇区,每扇区512byte,共7.875G。比该容量大的硬盘需要操作系统(它绕过了BIOS不使用Int13h),或者支持Int 13h扩展的BIOS和操作系统。 The 504 MB barrier 最著名的硬盘屏障是标准IDE/ATA硬盘的504MB限制。他指的是504MB或者528MB屏障,依赖于是二进制还是十进制。由于这个屏障,在某些环境下大于504MB的硬盘显示为504MB。这个问题是IDE/ATA标准和BIOS Int 13h标准几何规格限制相结合的结果。 这个问题是由于计划和标准不一致造成的。他们每个都存储了不同的几何参数位数。为了使用标准BIOS磁盘程序的IDE/ATA硬盘,这两种标准的限制一定会产生下面的影响。这意味着能够使用的硬盘更小。下面就是两个标准标准分配位数。 Standard Bits For Cylinder Number Head Number Sector Number Total Geometry IDE/ATA 16 4 8 28 BIOS Int 13h 10 8 6 24 Combination 10 4 6 20 每个参数支持的最大数是2^N,这里N是上表中的数字。所以在IDE/ATA下,支持2^16或者65536个柱面。把所有数字想乘的到支持扇区的总数,然后乘512byte(每扇区)的到最大支持的容量。如下图所示: Standard Maximum Cylinders Maximum Heads Maximum Sectors Maximum Capacity IDE/ATA 65,536 16 256 128 GB BIOS Int 13h 1,024 256 63 7.88 GB Combination 1,024 16 63 504 MB 注意:BIOS Int 13h限制的扇区数是63,而不是64,因为按照惯例扇区从1开始,不是0开始。 504MB数字正是1,024 * 16 * 63 * 512。这就是两种标准结合产生的问题。由于IDE/ATA 16磁头数的限制,没有IDE硬盘的逻辑磁头数大于16,他们总是有一个大数量的柱面。问题在于当你把一块硬盘放在一个标准非转换的BIOS的机器上,它不能看到大于1024的柱面数。这就是系统抵制硬盘容量不超过它所支持的几个方法。 对于504MB问题正常解决方法,就是使用BIOS几何参数转换(BIOS geometry translation)。软件驱动覆盖也能解决这个问题,但需要成本。 The 7.88 GB barrier 这个屏障,有时也被称为“8GB 屏障”,这是基于BIOS的限制。当Int 13h标准计划硬盘容量不超过10MB,没有会想到硬盘超过8GB。然而今天这是一个问题。 阅读完前两节之后,这个屏障的原因将很清楚。软中断Int 13h不允许硬盘经由BIOS出现超过24bit长的位数。这个导致了不可解决的7.88G屏障,即是1024柱面、256磁头、63扇区和512字节(每扇区)的乘积。如果基本Int 13h使用,屏障将牢不可破。这包括所有的IDE/ATA硬盘和SCSI硬盘。显而易见,采用BIOS几何参数转换(BIOS geometry translation)也不能解决这个问题。 突破7.88G屏障的唯一方法就是暂停过去的标准以及改变硬盘的存取方法。一个解决方法就是被称为Int 13h扩展功能,它允许使用更大的容量。使用这种方法需要BIOS和操作系统对这种扩展功能的一致支持。 围绕这个屏障的另一个工作是直接硬盘存取(Disk Disk Acess),即绕过BIOS。更高级的操作系统将接管从BIOS处理硬盘的责任,使用他们自己的硬盘存取程序,这个将比使用默认BIOS代码更快更有效。这主要是为提高性能而做。 注意:除了在这节中讲到的屏障,IDE/ATA硬盘还有另两个,叫:1.97G和2G。 注意:一些老的SCSI适配器存在问题,使他们不能存取超过1G的硬盘或者其他的一些限制。现在这些适配器不应该有这些限制。 注意:FAT-16文件系统每分区被限制在2GB。这是文件系统的问题,不是一个硬件或者BIOS问题。 注意:solaris 7和更早版本能够存取到IDE/ATA硬盘上的1024柱面。 2.3 BIOS几何参数转换模式(BIOS geometry translation modes) BIOS geometry translation 虽然硬盘逻辑几何参数的使用解决了硬盘物理几何参数不能通过使用基本BIOS设置来表达出来,但是这个不足够好。会因为其他的问题,也是关于老的设计,需要采用高级别转换使它使用大容量的硬盘。 为了解决硬盘容量屏障,另一层次的转换经常被应用在几何参数转换(发生在硬盘内部),这种转换被BIOS运行。这里有三种BIOS转换模式: 正常/标准 CHS模式 扩展CHS(ECHS)/Large模式 逻辑块寻址(LBA) 注意:当仅仅使用SCSI硬盘时,除7.88G之外不受制于BIOS限制,不是通过转换克服的。 注意:SCSI本身上使用LBA来寻址设备。 Normal / Standard CHS Mode 在这种模式中,在BIOS级别不进行转换。硬盘的逻辑几何参数被BIOS直接使用。”CHS”代表”柱面、磁头、扇区”三个参数(在硬盘的SPEC中使用)。这种模式仅仅可以使用硬盘上不超过504MB的容量,当没有BIOS旁路被使用时只有504MB可以存取。 Extended CHS (ECHS) / Large Mode 扩展CHS,在某些BIOS中也被叫做ECHS或者Large模式,使用BIOS转换突破标准CHS模式中的504MB屏障。 BIOS转换原理:利用BIOS Int 13h允许比IDE/ATA更多的磁头但是柱面要少这个原理来工作。BIOS依照IDE/ATA标准获得硬盘指定的逻辑几何参数,并把它转换成等效的并且满足BIOS Int 13h标准允许的几何参数。做法是:逻辑柱面数除以一个整数,然后逻辑磁头数再乘以相同的数。BIOS所做这种的转换是一种简单的等效系统的变换。 举例:西部数据3.1G硬盘AC33100。该硬盘实际上有2.95GB的容量,逻辑几何参数为6136柱面、16磁头和63扇区。在IDE/ATA限制范围之内,但是超过了BIOS 1024的限制。BIOS选取一个转换因数,逻辑柱面数除以该数得到一个小于1024的柱面数。通常选择2,4,8,16;在该例中合适的数字是8。然后BIOS使柱面数除以8,磁头数乘以8。这样就得到767柱面数,128磁头数和63扇区。显而易见,容量没有改变,新的几何参数完全符合BIOS限制。 Standard Cylinders Heads Sectors Capacity IDE/ATA Limits 65,536 16 256 128 GB Hard Disk Logical Geometry 6,136 16 63 2.95 GB BIOS translation Factor divide by 8 multiply by 8 -- -- BIOS translated Geometry 767 128 63 2.95 GB BIOS Int 13h Limits 1,024 256 63 7.88 GB BIOS把转换的几何参数提交给操作系统,硬盘就被看见有767柱面、128磁头、63扇区。无论何时操作系统或者应用程序想要使用BIOS Int13h调用,他们都使用这个参数。当运行硬盘存取程序时,在发送请求之前,BIOS在把它转换回硬盘使用的实际的逻辑几何参数。 实际上,扩展CHS模式不经常被使用。相反,LBA模式更普遍使用。LBA和扩展CHS在思想上相近但转换方法不同。 Logical Block Addressing (LBA) 正如我们所提及的,IDE/ATA硬盘寻址规则通过指定数据所在的柱面、磁头和扇区来实现。扩展CHS(ECHS)寻址增加一个转换步骤以突破504MB屏障,但是寻址仍然通过柱面、磁头和扇区来定位。然而,在他们到达实际的硬盘位置之前要进行一次或多次转换。 相比而言,LBA则采用一种新的寻址扇区方法。不是通过柱面、磁头和扇区数来指定位置,而是每个扇区都被指定了一个唯一的“扇区号”。3-空间坐标系统将被线性化。基本上,扇区从0,1,2开始编号,直到(N-1),N是硬盘上的扇区数。类比如下。邮件地址包括街道号、街道名和城市名。传统上的CHS寻址也有3个坐标相对应。然而,在国家里的每一个房子将被指定一个唯一识别号。这就是LBA工作的方法。 LBA必须被BIOS和硬盘支持。最新的硬盘支持LBA,当BIOS检测到支持LBA时,将被设置使用这种模式。 使用LBA的硬盘不受制于504MB屏障,然而有大量关于LBA的混淆以及它做了什么。特别,许多人认为LBA寻址解决了504MB屏障。严格地讲,这是不准确的。不是LBA解决了这个屏障,因为LBA仅仅是寻址相同几何参数的不同方法。如果你被限制到1024柱面、16磁头和63扇区,你的逻辑扇区号将编码为0,1,2……1032191,仍然被限制到504MB。 设置硬盘模式为LBA解决504MB屏障的原因是LBA模式自动进行几何参数转换。这种转换是必要的,因为调用BIOS Int13h的软件对于LBA一无所知。这种转换突破了屏障限制,当然这个对用户来说是透明的。 当LBA打开时,BIOS将使能”geometry translation”;这种转换和ECHS模式是同样的方法。被转换的几何参数仍然提供给操作系统以备Int 13h调用。不同之处在于,当使用ECHS时被调用使用时,要从转换的几何参数转换到硬盘的逻辑几何参数。而LBA,它是要从被转换的几何参数直接转换到一个逻辑扇区号。 备注:最后文档(When LBA is turned on, the BIOS will enable geometry translation; this is done the same way that it is done in Extended CHS or large mode. The translated geometry is still what is presented to the operating system for use in Int 13h calls. The difference is that when using ECHS the BIOS translates the parameters used by these calls from the translated geometry to the drive's logical geometry. With LBA, it translates from the translated geometry directly into a logical block (sector) number) 2.4硬盘的逻辑结构,启动进程(logical structure of hard disk,boot process) Primary and extended partitions, file systems 在往硬盘上存数据之前,硬盘必须被分区。分区是硬盘上临近的块,包括文件系统或者逻辑卷。文件系统是同操作系统密切联系的目录和文件的一种安排。内在地,逻辑卷类似于主分区。它也包括文件系统,从视觉上看,主分区和逻辑卷是没有区别的,因此我们把他们都称为简单卷。逻辑卷可能被认为主分区,在扩展分区内用一链排列起来。因此前面的保存后面的地址,以此类推。有时,逻辑卷也被称为逻辑盘和逻辑分区。 注意:我们严格地区分partition和slice。分区是x86架构的组成部分,slice是同UNIX系统相连系的数据存储。 每个硬盘仅仅允许4个分区。扩展分区和逻辑分区被开发以允许DOS下使用更大的硬盘,同时兼容以前的标准。逻辑卷也帮助在硬盘上很好的组织数据,避免当大的簇被应用在大分区上时,出现数据组织松弛。 在DOS和Windowns 3.x/95/98内,仅仅第一个主分区和第一个扩展分区可存取。Solaris、Linux和Windows NT能够存取所有卷。他们的fdisk程序可以创建和删除多个主和扩展分区。在DOS和Windows里,对于可存取的所有卷,以C开始,被分配连续的字母作为盘符。遵循下列规则来决定分配的字母: 1. IDE/ATA硬盘优先于SCSI硬盘。 2. 被标记为启动盘的硬盘优先于其他盘 3. IDE/ATA硬盘的物理连接决定了字母顺序:对老标准,单通道IDE控制器为master,slave。对新标准,双通道EIDE控制器,primary master, primary slave, secondary master, secondary slave。 4. SCSI控制器地BIOS设置和在SCSI里的设备顺序决定了SCSI硬盘顺序。 5. 主分区优先于逻辑卷 6. 在一个扩展分区上的逻辑卷的顺序保持不变化。 这个分配规则和BIOS 启动顺序里的字母无关。当使用双通道EIDE控制器,primary master被指定为C,primary slave 为D,secondary master为E,secondary slave为F。 在windows NT中对于所有卷的驱动符,除了启动分区之外,其余都可以手工分配。在Win2k中新增卷(文件系统)可以被挂接在目录中。 主分区和扩展分区的主要不同是主分区被BIOS设为可引导的。可以利用boot manager、Lilo或者Ranish PM这些工具从逻辑卷引导。显而易见,操作系统文件可能被存储在主分区或者扩展分区上。通常,启动进程早期所用到的几个文件必须放在引导主分区中。 有许多种文件系统,但最常用的有:FAT-16, FAT-32(win95的service Release2), NTFS(winNT4.0), UFS(solaris), HPFS(OS/2)。FAT-16可以被在PC平台上使用的绝大多数操作系统识别和支持。运行在同样机器上的操作系统之间,FAT-16对于数据交换是一个好的解决方法。FAT-16和FAT-32不兼容。NT4.0没有其他的软件支持将不能识别出FAT-32,而win2K完全支持FAT-32。 注意:被NT4.0使用的NTFS Version 3和在NT4.0 SP4以及win2k使用的NTFS version 5是不兼容的。在win2k下,所有的NTFS version3自动转换到version 5。这个操作是不可逆的,转换之后的文件在NT4.0不可用。 Solaris UFS在solaris7被发展,通过获得定期文件系统的方法,在系统崩溃或电源连接失败之后来存储数据。新特性被称为”日志”,当文件系统被挂接之后这一特性被打开。在命令行mount通过支持参数 –o logging来记录日志(参考mount,mount_ufs手册)。在启动进程中,为了mount默认的文件系统,logging应该被添加在/etc/vfstab配置文件的mount 选项区域(参考vfstab手册)。 Master Boot Record (MBR) 硬盘的第一个扇区被称作Maser Boot Record或者MBR。它的位置是柱面0,磁头0,扇区1。它储存了两类信息:主分区表(Master Partition Table)和主引导程序(Master Boot Code)。主分区表,也被称为fdisk表,包括硬盘上分区的描述。因为MBR必须满足512字节,因此仅仅有4个分区的空间。因此,一块硬盘能支持到4个分区。 Offset Size Description + 0x000 0x1BE Master Boot Code + 0x1BE 0x010 Partition #1 + 0x1CE 0x010 Partition #2 + 0x1DE 0x010 Partition #3 + 0x1EE 0x010 Partition #4 + 0x1FE 0x002 End of Master Boot Table marker - 0x55 0xAA 注意:Windows NT和W2K储存驱动盘符的信息在NT 硬盘签名中,它对每块硬盘是唯一的。这个签名占用MBR中0x1B8开始的4字节-正好在分区1定义之前。绝大多数的启动管理器和分区管理器不保存这个数据位,万一没有标准盘符,这将引起麻烦。 在主分区表中的每个分区项由它的分区ID,激活标记,开始柱面/磁头/扇区,结束柱面/磁头/扇区。 Offset Size Description + 0x00 0x01 Activity Flag + 0x01 0x01 Start Head + 0x02 0x02 0x0A bits for Start Cylinder, 0x06 bits for Start Sector + 0x04 0x01 Partition ID + 0x05 0x01 End Head + 0x06 0x02 0x0A bits for End Cylinder, 0x06 bits for End Sector + 0x08 0x04 The number of the first sector of the partition, relative to the entire disk + 0x0C 0x04 The size of the partition measured in sectors 分区ID指定分区类型(或者它属于何种OS),激活标记决定启动哪个主分区。下面是主要被使用的分区ID(Partition IDs): Partition ID Description 0x01 DOS12 (12-bit FAT) 0x04 DOS16 (16-bit FAT) 0x05 Extended 0x06 BIGDOS FAT-16 0x07 Windows NT (NTFS), OS/2 (HPFS) 0x0B FAT-32 0x0C FAT-32 LBA 0x0E FAT 16 LBA 0x0F Extended LBA 0x63 Unix SysV/386 0x81 Linux/Minix 0x82 Solaris x86 UFS, Linux swap 0x83 Linux ext2fs 0x85 Linux Extended 0xA5 FreeBSD, NetBSD, BSD/386 0xBE x86 Boot 0xEB BeOS 如果硬盘上有一个扩展分区,主分区表保存一个链接到扩展分区表,它决定分区的第一个逻辑卷以及到下一个扩展分区的连接(指定了在那个分区上第二个逻辑卷),等等。理论上,允许无穷的逻辑卷数量。 为了装载一个操作系统,作为一个引导进程开始点的BIOS,需要知道操作系统位于哪。然后BIOS装载主引导程序(Master Boot Code)-在MBR上的小的初始引导程序。这个程序最后把控制权交给存储在激活分区的第一个扇区的分区启动程序。 Volume Boot Sector (VBS) 每个卷-主分区或者逻辑卷-有它自己的卷启动扇区(Volume Boot Sector)。这有别于MBR,MBR控制整个硬盘,但是在理论上是相似的。每个VBS包括硬盘参数块(Disk Parameter Block)和卷启动代码(Volume Boot Code)。DPB有时被称为media parameter block,它是一个包括关于卷的具体信息的数据表,例如尺寸、包括的扇区数、lable名等等。卷引导代码(Volume Boot Code)是一段对操作系统来说明确的程序,她使用这个卷并且由它来开始操作系统的装载。 卷启动扇区在硬盘分区的高级格式化过程中被创建。在软盘上,第一个物理扇区就是VBS。 Solaris 卷启动扇区被称为分区启动记录(Partion Boot Record),或者简称为PBR。 The boot process 当计算机开机(冷启),或者重启(热启)之后,PC上的启动进程(也被称为bootstrapping)开始。首先,在BIOS ROM中的系统固件执行一开机自检(POST),一种硬件检查,并且运行在外围主板ROM里的BIOS外延。设备配置完毕之后,BIOS调用软中断Int19h。Int 19h典型地被应用于装载启动硬盘上的第一个物理扇区到内存中的0x0000:0x7C00 到 0x0000:0x7DFF的位置,然后把启动程序放置在该扇区。哪个硬盘是启动硬盘,这个依靠于BIOS中启动顺序的设定。当SCSI被选择时,那么在SCSI适配器中BIOS ROM的合适的设置就决定了启动硬盘。更新的BIOS允许从CD-ROM,LAN,ZIP,LS-120启动。 在硬盘上,第一个物理扇区是它的MBR,启动代码是主启动代码(Master BOOT Code)。首先,MBR移动自身到0x0000:0x0600,然后装载启动硬盘上的第一个激活主分区的VBS到它的原始位置0x0000:0x7C00,跳转到它的第一个字节,除非使用的是非标准的主启动代码(Master Boot Code),例如Lilo、Ranish PM。上述就完成了标准PC硬盘启动。 对于软盘,第一个物理扇区是VBS。BIOS不关心它是装载MBR还是VBS。当从软盘启动时,没有分区信息因此也就没有MBR,仅仅是VBS被装载。 假设MBR被引导或者软盘上的VBS被引导,当BIOS把控制传递给其他方时,到操作系统的特定启动程序被开始执行。它的运行严格地依赖操作系统。一般地,启动进程的剩余部分,同初始部分一样,被分成更高级的启动步骤。象Solaris,Linux,NT等等这些操作系统在系统装载过程中都允许用户的交互作用。所有这些操作系统都支持他们自己的启动管理器。基于启动进程之上的提供用户一些控制权的程序,使在一台机器上许多操作系统可以很容易地共存。启动管理器(Boot manager)并不是操作系统的一部分。有许多第三方的启动管理器,从微小的OS-BS到非常强大的但是很复杂的System Commander。 DOS和Windows 3.x/9x启动进程被简化。它是没有用户交互作用的。卷启动代码简单地装载io.sys文件,然后装载设备驱动和开始用户shell。 现代的操作系统不被限制仅仅从本地硬盘启动。Solaris 和NT能够从网络启动。这就使无盘工作站成为可能,这种工作站降低了经营和管理的代价。 |
| missing-cn 回复于:2003-12-05 20:55:10 |
| [quote:dd41aa581a="plum"]
硬盘的物理几何参数就是指硬盘使用的实际的磁头、柱面和扇区的数量。在老硬盘这仅仅是曾经被使用的几何类型。在系统BIOS中原始开始参数被设计来支持老硬盘,尤其每个轨道的数量和扇区数一样。 所有使用区?.........[/quote:dd41aa581a] 佩服!一个字来形容你的翻译水平:牛! |
| wwwlh 回复于:2003-12-09 12:59:16 |
| 翻译到那了?我可以接着干吗? |
| climbmount 回复于:2004-12-19 22:39:20 |
| 这个还在翻译吗?有结果了吗? |