Next Up Previous Contents Index

E.6 安装

E.6.1 我有一个空的硬盘, 想同时安装 DOS, Windows95 和 Linux , 最好的方法是什么 ?

我们推荐你在安装 Linux 之前, 首先安装其他操作系统 .这样可以让其他操作系统与硬件更好的配合, 也可以 避免其他系统修改 Linux 在 MBR 中的数据 .

或许你应该按照下面描述的步骤进行安装 . 首先执行其他操作系统的安装过程, 但是若其他操作系统 占用了全部磁盘空间, 你可以尝试是否能 '剥离' 出一部分空间, 即使用 'native fdisk' 产生其他操作系统所需的分区(空间大小根据操作系统不同, 可以自己决定), 然后再重新安装这个操作系统. 安装完后, 你就可以开始 Linux 的安装 .

E.6.2 我没有一个可以在 Linux 下工作的 cdrom , 同时也不能通过网络进行安装, 有没有其他方法呢 ?

如果你因为 cdrom 问题, 需要从硬盘进行安装, 你可以按以下的步骤进行 .

产生一个 DOS 分区, 该分区需要是 FAT16 方式格式化的 . 然后产生一个目录 \RedHat, 将光盘的内容拷贝到硬盘上 .

   mkdir C:\RedHat
   mkdir C:\RedHat\base
   mkdir C:\RedHat\RPMS
   copy E:\RedHat\base C:\RedHat\base
   copy E:\RedHat\RPMS C:\RedHat\RPMS

如果你没有足够的磁盘空间拷贝所有的 RPMS 目录, 你需要察看文件\RedHat\base\comps , 然后拷贝基本系统和其他你认为需要的部分 .

完成了以上的步骤后, 你可以开始安装, 选择硬盘安装 . 你将被要求插入补充的软盘, 一个进度条将弹出来告诉你现在在做什么 . 此软盘加载完毕后, 你将进入安装过程的下一步 .

E.6.3 我想制作新的软盘, 无论什么原因, 我该如何做 ?

对这个问题, 我们感到抱歉. 光盘中已经包括了制作启动软盘和附加软盘的所有数据. 在 DOS, Win95, 或 NT 下制作新软盘见如下步骤(将覆盖 1.44 软盘上的所有数据 !)

如果你正在运行 Linux 或者 Unix , 你可以将 CD-ROM 安装到文件系统上 . 使用 'dd' 工具将数据写到软盘上 . 在 Linux 下, 你可以按如下步骤 :

dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 bs=72k
dd if=/mnt/cdrom/images/supp.img of=/dev/fd0 bs=72k

E.6.4 我有一台 IDE 硬盘的机器, 相比较于 DOS, 我对 Linux 如何建立自己的驱动器感到很迷惑, 您能解释一下吗 ?

Linux 建立驱动器的方式与 DOS 大不一样, 这的确让人感到迷惑 . 它通常是使用字符的组合表示哪一种总线( sd 表示 scsi, hd 表示 IDE ), 并按照它识别的顺序标识 , 后面附加的数字表示分区.

对于 IDE 硬盘, 结果决定于该硬盘所在的 IDE 通道和它在这个通道中所处的模式(主或从), 见下表 :

Channel         Jumper          hdx
===================================
ide0            master          hda
ide0            slave           hdb
ide1            master          hdc
ide1            slave           hdd
ide2            master          hde
ide2            slave           hdf
ide3            master          hdg
ide3            slave           hdh


ide0 = primary
ide1 = secondary
ide2 = tertiary
ide3 = quarterary

按照以前的 PC 标准, 每一个硬盘总共可以有四个分区, 其中一个分区可以被指定为扩展分区 . 在这个扩展分区内部可以定义逻辑分区( 在总共 16 个分区的扩展分区中, 一共可以定义 12 个逻辑分区) .

这些分区的顺序是这样安排的 .

E.6.5 我的光驱 cdu31a/33a 不能被系统识别 . 我该怎样办呢 ?

cdu31a 这种光驱在安装时需要做一点工作 . 不要使用自动识别光驱功能, 选择 "specify options". 然后屏幕如下图显示 .

+---------------| Module parameters |---------------+
|                                                   |
| Module options:                                   |
|                                                   |
|   IO base, IRQ, PAS?:     cdu31a=_____________    |
|                                                   |
|   Miscellaneous options:  ____________________    |
:                                                   :
+---------------------------------------------------+

删除预先设置的文字 (cdu31a=), 然后输入如下的混合选项 :

  cdu31a_port=0x360 cdu31a_irq=0 sony_pas_init=0

如果你的光驱型号是 "Sony PAS", 则输入 :

  cdu31a_port=0x360 cdu31a_irq=0 sony_pas_init=1 

如上处理后, 光驱应该可以工作了 . 自动识别光驱经常不能成功, 这也许是由于 CDU33A 使用的端口地址不太常用的缘故吧 .

E.6.6 我不能在我的膝上型电脑中安装 Linux .

以下的 web 主页中有大量的关于如何在膝上型电脑上安装 Linux 的信息 .

http://www.cs.utexas.edu/users/kharker/linux-laptop/

E.6.7 我想把我的 Red Hat 系统升级到 5.x , 但是它说 找不到一个正确的 RPM 数据库 . 我需要作什么 ?

这个问题是由于不少早期版本的 rpm 在写入数据库时, 会采取一种让新版 rpm 疑惑的方式 . 重建此数据库可以解决安装问题 . 我们需要将现有的 rpm 升级到 (新)安装光盘上的版本 , 然后重建 rpm 数据库 .

首先将 5.0 的光盘安装到系统上 .

mount /mnt/cdrom

然后从光盘升级 'rpm' :

cd /mnt/cdrom/RedHat/RPMS
rpm -Uvh --nodeps --force rpm-*rpm

升级完毕后, 重建 'rpm' 数据库 .

rpm --rebuilddb

这样原系统的 'rpm' 数据库的格式就可以被安装光盘上的 'RPM' 识别出 ( 他们是一个版本 ) .

E.6.8 我有一块 SCSI 卡, 型号是 'Adaptec 2920' . 在安装过程中 没有此种卡的选择, 这是为什么 ? 我该如何办呢 ? 或者我又一块 'Future Domain TMC-3260' 卡, 当我为它设置了参数后, 安装程序依然不能发现它 !

'Adaptec 2920' 适配卡并不使用 'Adaptec' 的芯片组, 使用的是 'Future Domain TMC3260' 的芯片组 . 如果不能自动识别此种类的卡, 你必须手工设置参数 . 当安装程序问询 SCSI 的设置时, 选择 'choice', 如下输入 : If the card is not found with an auto-probe, you will need to specify options for it. When the installation menu asks you about SCSI, choose "options" and enter the following :

 setup_called=1 port_base=<io base> interrupt_level=<irq>

下面是一个参数设置的例子 .

 setup_called=1 port_base=0xd000 interrupt_level=9

万一你没有此卡的端口地址或中断参数, 你可以按下面方法 . 如果你已经进入安装的第二阶段, 你可以按组合键 'ALT-F2' 进入主控终端 , 键入 cat /proc/pci 看 Linux 是否已经找到 PCI 总线 . 否则你需要重新启动进入 'rescue' 模式, 选择没有任何 SCSI 设备 . 然后在 '#'(root 提示符) 下键入 cat /proc/pci , 纪录此卡的参数设置 . 使用组合键 'CONTROL-ALT-DELETE' 重启系统, 然后填入刚才纪录的数据 .

如果上面的工作并未见效, 那么你的卡子也许有更新的 bios 版本, 我们不能正确识别 . 我们会解决这个问题, 但是不能确定何时能够解决 .

E.6.9 我有一块 Adaptec 的 SCSI 适配卡 , 芯片组是 'aic7xxx' (2940, 2840, 2740, 3940, 等等). 这种卡很常见, 为什么它不能被 Red Hat Linux 完全支持呢 ?

很不幸, Adaptec 并不是积极地支持开发 'AHA2940' SCSI 适配卡和 AIC7xxx SCSI 芯片组的驱动程序.

很明显, Adaptec 继续发布新的 BIOSes 和芯片组修订版本, 而 Linux 驱动程序的作者并不能 得到规格说明 . 因此, 一些配有兼容的芯片组的 AHA2940 卡可以在 Linux 下很好地工作 ; 而另外 一些配有不同的芯片组的卡就不能工作 . 在 Linux 的驱动程序作者能够完成可以让所有的 AHA2940 工作的版本前, 我们不能将它列入已经支持的硬件清单, 但是我们以 'AS IS' 的方式提供一个驱动程序. 如果它可以工作, 很好; 否则, 你可以尝试如下的方法 .

E.6.10 在安装过程中, 致命的信号 11 或者 7 发生了, 这是什么意思, 我该怎么办 ?

信号 11 和信号 7 意味着一个发生在内存或者总线的硬件错误. 这可能是由于软件错误或者硬件问题引起的 . Linux 内核使用于众多不同类型 的 CPU , 缓存, 和内存, 有可能出错 .

首先检查你是否有最新的 Red Hat 安装和补充软盘 . 检查勘误表的更新和各个 ftp 站点, 看看是否有新的版本 . 如果还是失败了, 则可能是硬件问题 . 最常见的问题发生于 内存或者 CPU 的缓存 . 可以尝试在 BIOS 中关闭 CPU 的缓存, 看看问题是否已经解决 . 或者检查主板上的内存和插槽 .

http://www.bitwizard.nl/sig11 可以得到更多信息 .

E.6.11 在安装过程中, 我遇到了有关 Ultra DMA IDE drive 和主板控制器的问题, 我该怎么办 ?

Ultra DMA 的支持在 2.0.34 和以前版本的 Linux 内核中是有限的 . 一些主板工作得很好, 另外一些则根本不工作 . 因此当你遇到一些配备 Unltra DMA 驱动器的主板时, 也许需要在 BIOS 中设置使用 'PIO mode 2', 而不使用 'PIO mode 4' .

E.6.12 我的计算机配备了 PCI Ultra DMA 控制器. 我能安装 Linux 吗 ?

由于存在不同类型的问题, 大多数非集成在主板上的 Ultra DMA 控制器不能同稳定的 Linux 内核 2.0.xx 系列工作 . 在具有这些适配卡的计算机上安装 Linux 是一件痛苦的事情 . 下面的 HOWTO 文档也许可以告诉你更多关于解决此类问题的途径 .

http://www.redhat.com/linux-info/ldp/HOWTO/mini/Ultra-DMA.html by Brion
Vibber, brion@pobox.com

如下是重要的段落, 但是我们强烈要求你读完全部文档, 以明白为什么这样可以(和如果 不能工作该作什么) .

安装 Red Hat 5.0 时, 使用安装启动软盘, 在 root 提示符下敲入 'rescue' . 它将启动一些程序, 提示你插入补充软盘, 询问你的显示器和键盘类型, 最后进入 命令行提示符 . 然后, 键入 'cat /proc/pci', 纪录显示的数字, 使用启动软盘重启 计算机 . 这次, 键入 'linux ide2=(你刚才纪录的数字) ide3=(更多的数字)'. 这样就可以顺利的安装 .

感谢 Gadi Oxman 提供了如下的设置信息 :

如果我们可以使用安装软盘登录到主控台, 就可以使用 'cat /proc/pci' 显示设置参数 :

RAID bus controller: Promise Technology Unknown device (rev 1).
  Vendor id=105a. Device id=4d33.
  Medium devsel.  IRQ 12.  Master Capable.  Latency=32.
  I/O at 0xe000.   (a)
  I/O at 0xd804.   (b)
  I/O at 0xd400.   (c)
  I/O at 0xd004.   (d)
  I/O at 0xc800.   (e)

然后, 将 "ide2=a,b+2 ide3=c,d+2" 作为命令行参数传递给内核

注意上面显示的数字也许与你的显示不同 . 只是作为一个例子, 上面的设置参数将是
ide2=0xe000,0xd806 ide3=0xd400,0xd006. 你可以包括(或许不需要)中断参数, 就像这样:
ide2=0xe000,0xd806,12 ide3=0xd400,0xd006,12. 如果你只是使用控制器的第一通道(例如 你只有一个驱动器, 或者两个, 都在同一通道, 一个为主设备, 另外一个为从设备), 这时你无需 设置 ide3 .

E.6.13 我已经安装了 NT , 还想安装 Linux , 但是我听说同时启动这两个系统有问题, 我该如何避免这个问题 ?

你可以在 howto 文档 'Linux+NT-Loader' 中找到关于双启动这两个操作系统的建议 . 它的最新版本在站点:
http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+NT-Loader 另一个可能较早的版本在 cdrom 的目录 /doc/HOWTO/mini/Linux+NT-Loader 中 .

E.6.14 我不能在 1023 柱面以下安装 Linux , 我该怎样做 ?

你需要突破此限制的内核, 和一个不同于 LILO 的引导程序 . BIOS 可能因为以下的某个问题而不能启动(Linux) :

你也许需要使用在cdrom的目录 \dosutils 中的 LOADLIN 启动引导程序. 你需要将这个目录拷贝到你的 DOS 分区中, 编辑 autoexec.bat 指向它的新目录, 并去除 initrd= 行 .若你的系统是 SCSI 系统, 你需要进入 'rescue' 模式, 从硬盘中将 /mnt/boot/initrd.img 拷贝到 DOS 分区, 使用它启动 .

E.6.15 无论什么原因, 我想将 LILO 从主引导纪录(MBR)中删除, 我怎样做 ?

有几种办法可以将 LILO 从主引导纪录中删除 . 在 Linux 系统中, 你可以使用以前保存的 MBR 覆盖现有的 MBR , 命令如下 :

/sbin/lilo -u

在 DOS, NT, 和 Windows 95 中, 你可以使用 fdisk 命令产生一个新的 MBR , 即使用 不在文档中的参数 '/mbr' . 它将重写 MBR 以启动主 DOS 分区 .

fdisk /mbr

E.6.16 无论什么原因, 我想从我的硬盘中删除 Linux . 我曾经使用 DOS's fdisk , 它显示非 DOS 分区, 但是不能删除它 . 我需要做什么 ?

如果你需要删除 Linux , 而且已经尝试过缺省的 DOS fdisk, 你已经遇到了一个有趣的 问题"分区存在但又不存在" . 删除非 DOS 分区的最好办法是使用一个能识别非 DOS 分区的工具 .

你可以使用启动软盘, 按照如下步骤完成删除工作 . 开始安装过程, 选择安装(相对升级而言), 当开始分区时, 选择 fdisk . 在 fdisk 中使用 'p' 打印分区信息, 使用 'd' 删除 Linux 分区 . 完成后, 使用 'w' 退出 fdisk, 此命令将你所作的改动写入硬盘 . 如果你不想做改动, 可以使用 'q' 退出, 该命令不会对硬盘做任何改变 .

一旦你已经删除了 Linux 分区, 你可以使用 'Control-Alt-Delete' 重新启动以中断安装过程 .

E.6.17 我已经安装完毕 Linux, 但是重新启动时, 我只看到 L, LI, 和其他东西 . 这是怎么回事 ? 我如何恢复呢 ?

如果你重启了系统, 而只看到 L, LI, 或者两者的组合和大量滚动的数字, 这表示 LILO 自身在启动时由于某些问题发生了错误 .

纪录打印出的错误代码和它最后停止的字母(L,LI,LIL,等等). 如果你能从 cdrom 读取文件( 使用DOS软盘或其他机器), 你可以进入目录(假设 DOS)\backslashlive\backslashusr\backslashdoc\backslashlilo-0.20\backslashREADME 检查错误发生的原因 .

大多数时间, LILO 的错误是由于 BIOS 和硬盘参数的不匹配或其他简单的问题引起 .

如果你需要收集更多的信息以向其他人求救(通过正式的支持, 或者邮件列表, 新闻组, 朋友, 等等), 你可以使用 'rescue' 模式 .

插入启动软盘, 在启动提示符下键入 :

linux rescue

经过数个屏幕的关于硬件问题的问题后, 你将进入 root 提示符 . 你需要将 linux 根分区安装 到系统上, 就像下面的例子, 它的根区在 /dev/hda5 :

mkdir /mnt
mount /dev/hda5 /mnt

然后敲入如下命令 :

lilo -v -r /mnt

纪录下命令的输出信息 .如果你想得到更多的信息, 你可以加上 '-v' 选项 . 如果依然存在错误, 你可以将输出的信息送往合适的支持小组 .


Next Up Previous Contents Index