FreeBSD的磁盘和BIOS的关系

您的第一个工作就是要分配 FreeBSD 用的硬盘空间以便 sysinstall 先做好一些准备 。为了完成这个工作 , 您必须先对 FreeBSD 如何找到 磁盘信息做一个了解 。
BIOS 磁盘编号
当您在系统上安装配置 FreeBSD 之前 , 有一个重要的事情一定要注意 , 尤其是当您有多个硬盘的时候 。在 pc 架构 , 当您跑像 MS-Dos?或 Microsoft?Windows?这种跟 BIOS 相关的操作 系统的时候 , BIOS 有能力改变正常的磁盘顺序 , 然后这些操作系统会跟着 BIOS 做改变 。这让使用者不一定非要有所谓的 “primary master 硬盘开机 。许多人发现最简单而便宜备份系统的方式就是再去买一块一模一样的硬盘 , 然后定期将数据从第一块硬盘复制到第二个硬盘 , 使用 Ghost?或 XCOPY 。所以 , 当第一个硬盘死了 , 或者是被病毒破坏 , 或者有坏轨道 , 他们可以调整 BIOS 中的开机顺序而直接用第二块硬盘开机 。这跟将机壳拆开 , 把第二块硬盘跟第一块硬盘对调(要调jumper)有同样的效果 , 差别就是不用拆壳;因此 , 对有这方面需求的人而言 , 直接在 BIOS 中设定非常方便 。比较昂贵 , 配有 SCSI 控制卡的系统通常可以延伸 BIOS 的功能来让 SCSI 设备(可达七个) 达到类似改变顺序的功能 。习惯于使用这种方式的使用者可能会感到惊讶 , 因为在 FreeBSD 中并非如此 。FreeBSD 不会参考 BIOS , 而且也不知道所谓的 “BIOS 逻辑磁盘对应 。是怎么回事 。这会让人感觉很疑惑 , 明明就是一样的硬盘而且资料也完全从另一块复制过来的 , 结果却没办法像以前那样用 。当使用 FreeBSD 以前 , 请将 BIOS 中的硬盘开机顺序调回正常的顺序 , 并且以后不要再改变 。如果您仍然需要交换硬盘 , 那请用硬件的方式 , 打开机壳 , 调整调线 。
范例:Bill 和 Fred 的安装历险
【FreeBSD的磁盘和BIOS的关系】Bill 替 Fred 把旧的 Wintel 的机器装上了 FreeBSD 。他装了一台 SCSI 硬盘 , ID 是 0 , 然后把 FreeBSD 装在上面 。Fred 开始使用他新的 FreeBSD 系统;但是过了几天 , 他发现这旧的 SCSI 硬盘发生了许多小问题 。之后 , 他就跟 Bill 说起这件事 。又过了几天 , Bill 决定是该解决问题的时候了 , 所以他从后面房间的硬盘 “收藏 中找出了一个一模一样的硬盘 , 并且经过表面测试后显示这块 硬盘没有问题 。因此 , Bill 将它的 ID 调成 4 , 然后安装到 Fred 的机器 , 并且将资料从 磁盘 0 复制到磁盘 4 。现在新硬盘装好了 , 而且看起来好像一切正常;所以 , Bill 认为 现在应该可以开始用它了 。Bill 于是到 SCSI BIOS 中设定 SCSI ID 4 为开机盘 , 用磁盘 4 重新开机后 , 一切跑得很顺利 。继续用了几天后 , Bill 跟 Fred 决定要来玩点新的:该将 FreeBSD 升级了 。Bill 将 ID 0 的硬盘移除(因为有问题)并且又从收藏区中拿了一块一样的硬盘来 。然后他 用 Fred 神奇的网络 FTP 磁盘将新版的 FreeBSD 安装在这块硬盘上;安装过程没什么问 题发生 。Fred 用了这新版本几天后 , 觉得它很适合用在工程部门…是时候将以前放在旧系统的工作资料复制过来了 。因此 , Fred 将 ID4 的 SCSI 硬盘(里面有放着旧系统中复制过来的最新资料)mount 起来 , 结果竟然发现在 ID4 的硬盘上 , 他以前的所有资料都不见 了! 资料跑到哪里去了呢? 当初 Bill 将 ID0 硬盘的资料复制到 ID4 的时候 , ID4 即成为一个“新的副本。而当他调 SCSI BIOS 设定 ID4 为开机盘 , 想让系统从 ID4 开机 , 这其实只是他自己笨 , 因为大部分的系统可以直接调 BIOS 而改变开机顺序 , 但是 FreeBSD 却会把开机顺序还原成正常的模式 , 因此 , Fred 的 FreeBSD 还是从原来那块 ID0 的硬盘开机的 。所有的资料都还在那块硬盘上 , 而不是在想象之中的 ID4 硬盘 。我们很高兴在我们发现这件事的时候那些资料都还在 , 我们把资料从最早的 那块 ID0 硬盘取出来并交还给 Fred , 而且 Bill 也从此了解o的重要… 虽然我们这里的例子使用 SCSI 硬盘 , 但是相同的概念也可以套用在 IDE 硬盘上 。

推荐阅读