FreeBSD 使用手册
上一页 | 第2章 　安装 FreeBSD | 下一页

# 2.11 常见问题

下面将介绍一些在安装过程中常见的问题，像如何报告发生的问题， 如何双重启动 FreeBSD 和 MS-DOS® 或 Windows®。

## 2.11.1 当您遇到错误时，应该怎么做？

由于 PC 结构的限制， 硬件检测不可能 100% 地可靠， 但是有些问题是您可以自己解决的。

首先检查一下您使用的 FreeBSD 版本的 硬件兼容说明 文档看看您使用的是否是被支持的硬件。

如果您使用的硬件是系统支持的，但仍然遇到了死机或其他问题， 则需要联编 定制的内核。 这能够支持默认的 `GENERIC` 内核所不支持的设备。 在引导盘上的内核假定绝大多数的硬件，均为按出厂设置的方式配置了 IRQ、 IO 地址和 DMA 通道。 如果您的硬件重新进行了配置， 则可能需要编辑内核配置， 并重新编译内核， 以便告诉 FreeBSD 到哪里去查找设备。

除此之外，也可能遇到这种情况吗，即探测某种并不存在的设备时， 会干扰到其他设备的检测并使其失败。 这种情况吗下应禁止驱动程序检测可能导致冲突的设备。

> 注意: 有些安装问题可以借助更新硬件的程序来解决，特别是主板的 BIOS 。 大部分的主板制造商都会提供网站给用户下载新的 BIOS 以及提供如何更新的说明。

> 也有许多制造商强烈建议，除非必要否则不要轻易更新 BIOS 。因为更新的过程 可能 会发生问题，进而损害 BIOS 芯片。

## 2.11.2 使用 MS-DOS® 和 Windows® 文件系统

目前， FreeBSD 尚不支持通过 Double Space™ 程序压缩的文件系统。 因此，如果希望 FreeBSD 访问数据， 则应首先解压缩这些文件系统。 这项工作，可以通过位于 Start> Programs > System Tools 菜单的 Compression Agent 来完成。

FreeBSD 可以支持基于 MS-DOS 的文件系统 （有时被称为 FAT 文件系统）。 mount_msdosfs(8) 命令能够把这样的文件系统挂接到现有的目录结构中， 并允许访问 FAT 文件系统上的内容。 通常我们并不直接使用 mount_msdosfs(8) 程序，它一般会在 `/etc/fstab` 中的某一行被调用或者被 mount(8) 工具并配合适当的参数来调用。

`/etc/fstab`中一个典型的例子：

    /dev/ad0sN  /dos  msdosfs rw  0	0

> 注意: `/dos` 目录必须事先存在。 更多关于 `/etc/fstab` 的细节， 请参阅 fstab(5)。

一个使用 mount(8) 挂载 MS-DOS 文件系统的例子：

    # mount -t msdosfs /dev/ad0s1 /mnt

在此例子中， MS-DOS 文件系统位于主硬盘的第一个分区。 您的情况可能与引不同，查看命令 `dmesg` 和 `mount` 的输出。 它们应该可以让您得到足够的分区信息。

> 注意: FreeBSD 可能使用和其他操作系统不同计数方法来标记磁盘 slices， 特别需要指出的是， MS-DOS 的扩展分区通常会比 MS-DOS 主分区被标记为更高的数值。 可以使用 fdisk(8) 工具来帮助测定哪些 slices 属于 FreeBSD 哪些是属于其他的操作系统。

NTFS 分区也可以通过类似 mount_ntfs(8) 命令挂接在FreeBSD上。

## 2.11.3 排除故障时的常见问题和解决方法

2.11.3.1. 我的系统在引导到探测硬件时发生了死机、 安装过程中行为异常， 或没有检测到软驱。
2.11.3.2. 在硬盘安装 FreeBSD 之后的首次启动时， 内核加载并检测了硬件， 但给出下列消息并停止运行：
2.11.3.3. 在硬盘安装 FreeBSD 之后的首次启动时， Boot Manager 只是给出了 `F?` 的菜单提示， 但并不继续引导过程。
2.11.3.4. 系统找到了 ed(4) 网卡， 但总是报设备超时 (device timeout) 错误。
2.11.3.5.

2.11.3.1. 我的系统在引导到探测硬件时发生了死机、 安装过程中行为异常， 或没有检测到软驱。

FreeBSD 在启动过程中广泛使用了 i386、 amd64 及 ia64 平台提供的 ACPI 服务来检测系统配置。 不幸的是， 在 ACPI 驱动和主板 BIOS 中存在一些 bug。 如果遇到这种情况， 可以在系统引导时禁用 ACPI， 其方法是在第三阶段引导加载器时使用 hint `hint.acpi.0.disabled`：

    set hint.acpi.0.disabled="1"

这一设置会在系统重启之后失效，因此，如果需要的话，您应在 `/boot/loader.conf` 文件中增加 `hint.acpi.0.disabled="1"`。 关于引导加载器的进一步详情， 请参见 第 13.1 节。

2.11.3.2. 在硬盘安装 FreeBSD 之后的首次启动时， 内核加载并检测了硬件， 但给出下列消息并停止运行：

    changing root device to ad1s1a panic: cannot mount root

这是怎么回事？ 我该怎么做？

另外引导帮助信息里提到的 `bios_drive:interface(unit,partition)kernel_name` 是什么？

系统在处理引导盘非系统中的第一块盘时有一个由来已久的问题。 BIOS 采用的编号方式有时和 FreeBSD 不一致， 而设法将其变为一样则很难正确地实现。

因而， 在发生这种情况时，FreeBSD 可能会需要一些帮助才能找到磁盘。有两种常见的情况， 在这些情况下您都需要手工告诉 FreeBSD 根文件系统模块的位置。 这是通过告诉引导加载器 BIOS 磁盘编号、磁盘类型以及 FreeBSD 中的该种磁盘的编号来实现的。

第一种情况是有两块 IDE 硬盘， 分别配置为对应 IDE 总线上的主 (master) 设备， 并希望 FreeBSD 从第二块硬盘上启动。 BIOS 将两块硬盘识别为磁盘 0 和磁盘 1， 而 FreeBSD 则将其分别叫做 `ad0` 和 `ad2`。

FreeBSD 位于 BIOS 磁盘 1， 其类型是 `ad` 而 FreeBSD 磁盘编号则是 2， 因此， 您应输入：

    1:ad(2,a)kernel

注意， 如果您的主总线上有从设备， 则这一配置是不必要的 (因为这样配置是错的)。

第二种情况是从 SCSI 磁盘启动，但系统中安装了一个或多个 IDE 硬盘。这时，FreeBSD 磁盘编号会比 BIOS 磁盘编号小。如果您有两块 IDE 硬盘， 以及一块 SCSI 硬盘，则 SCSI 硬盘将会是 BIOS 磁盘 2， 类型为 `da` 而 FreeBSD 磁盘编号是 0， 因此， 您应输入：

    2:da(0,a)kernel

来告诉 FreeBSD 您希望从 BIOS 磁盘 2 引导， 而它是系统中的第一块 SCSI 硬盘。 假如只有一块 IDE 硬盘， 则应以 `1:` 代替。

一旦您确定了应选用的正确配置， 就可以用标准的文本编辑器把它写到 `/boot.config` 文件中了。 除非另行指定， FreeBSD 将使用这个文件的内容， 作为对 `boot:` 提示的默认回应。

2.11.3.3. 在硬盘安装 FreeBSD 之后的首次启动时， Boot Manager 只是给出了 `F?` 的菜单提示， 但并不继续引导过程。

在您安装 FreeBSD 进行到分区编辑器时所设置的磁盘尺寸信息不对。 请回到分区编辑器并指定正确的磁盘尺寸。 这种情况必须重新安装 FreeBSD。

如果您无法确定在您机器上的正确尺寸信息，可以用一个小技巧： 在磁盘开始的地方安装一个小的 DOS 分区， 并在其后安装 FreeBSD。 安装程序能够看到这个 DOS 分区， 并利用它推测磁盘的尺寸信息， 这通常会有所帮助。

下面的技巧不再推荐使用， 在这里仅供参考：

> 如果您正准备建立只运行 FreeBSD 的服务器或工作站， 而无需考虑 (之后) 与 DOS、 Linux 或其他操作系统的兼容性， 也可以使用整个硬盘 (分区编辑器中的 A)， 选择 FreeBSD 独占整个硬盘每一个扇区的非标准选项。 这会扫除关于磁盘尺寸的一切烦恼， 但会限制您以后运行 FreeBSD 以外的其他操作系统的能力。

2.11.3.4. 系统找到了 ed(4) 网卡， 但总是报设备超时 (device timeout) 错误。

您的网卡可能使用了与 `/boot/device.hints` 文件中指定的 IRQ 不同的中断请求号。 ed(4) 驱动默认情况下并不支持 “软” 配置 (在 DOS 中使用 EZSETUP 配置的值)， 但如果您在网卡的 hints 中指定 `-1`， 便会使用软配置。

您应使用网卡的跳线进行硬配置 (根据需要修改内核设置) 或通过 hint `hint.ed.0.irq="-1"` 将 IRQ 指定为 `-1`。 这会告诉内核使用软配置。

另一个可能是您的网卡使用 IRQ 9， 这会与 IRQ 2 共用同一中断请求线， 同时也是导致问题的一个常见原因 (特别是 VGA 卡使用 IRQ 2 的时候！)。 您应尽量避免使用 IRQ 2 或 9。

2.11.3.5.

当在 X11 终端中运行 sysinstall 的时候， 黄色的字体相对于浅灰色的背景变得难以阅读。 有没有什么能让这个应用程序提供高对比度的方法？

如果你已经安装了 X11 并且 sysinstall 在 xterm(1) 或者 rxvt(1) 中默认的颜色使得文字难以辩认， 可以在你的 `~.Xdefaults` 中加入 `XTerm*color7: #c0c0c0` 获得深灰色的背景。

上一页 | 起始页 | 下一页
安装后的配置 | 上一级 | 高级安装指南

本文档和其它文档可从这里下载：ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读文档，如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.