第三章 安装中的一些问题
3.1 无法引导 Red Hat Linux 3.2 安装过程中的问题:分区的问题
3.3 安装后的问题 3.4 忘记超级用户密码
3.5 驱动程序盘 3.6 磁盘分区概念
3.7 配置一个双引导系统 3.8 以虚拟机方式安装
3.9 如何使用USB存储设备 3.10 首次启动  
3.11 kickstart 安装

  3.1 无法引导 Red Hat Linux
  3.1.1 无法从光盘(软盘)中引导:设定BIOS使计算机首先从光驱(软盘)引导;检查光盘(软盘)质量。
  3.1.2 分段错误:又称信号 11 错误,指程序进入了没有被分配给它的内存位置。其原因可能是你的系统总线内存中的硬件错误。内存中的硬件错误可能由可执行文件中的问题导致,或是由系统的硬件问题导致。通常,这些错误存在于你的内存 或 CPU 缓存中。对这个错误的一个可能解决方法是在 BIOS 中 关闭 CPU 缓存。你还可以试着在母板插槽中把内存调换一下,这可以确定该问题是关于插槽的还是关于母板的。也可以通过使用 mem=64M 引导选项引导安装程序。

top

 
  3.2 安装过程中的问题:分区的问题
  3.2.1 至少需要两个分区。一个类型为 Linux native 的 / (根) 分区,一个类型为Linux swap 的 <swap> 分区。
  3.2.2 在给你的硬盘驱动器分区时,请留意,某些老系统内的 BIOS 无法进入硬盘上前 1024 柱面外的空间。如果情况如此,请在你的硬盘驱动器的前 1024 柱面上为 /boot Linux 分区保留足够空间(10M足够)以便引导 Linux。 其它的 Linux 分区可以放在柱面 1024 之后。 在 parted 中,1024 个柱面相当于 528MB(不过,其确切数字根据你的 BIOS 而定)。

top

 
  3.3 安装后的问题
3.3.1 GRUB 的图形化屏幕中遇到问题:当你需要禁用图形化引导屏幕,你可以用根用户身份编辑 /boot/grub/grub.conf,寻找开头为 splashimage 的行,在这一行的起首插入 ; 字符,注释这一行。
3.3.2 LILO 的图形化屏幕中遇到问题: 把 /etc/lilo.conf 文件中 message=/boot/message 这一行变为注释(或删除)。要将某一行变为注释,在这一行的起首插入 ; 字符。其次,键入 /sbin/lilo -v 来重新运行 LILO。下一次引导时,你将会见到文本提示 LILO:。
3.3.3 引导入图形环境:缺省的登录为图形化登录模式。若想使用控制台模式,可修改/etc/inittab。寻找id:5:initdefault:这一行,修改5为3。重新启动,在控制台下登录,使用 startx 命令来启动 X 窗口界面。
3.3.3 基于 Apache 的 httpd 服务或 Sendmail 在启动时被挂起
请确定 /etc/hosts 文件中包括下面这行:127.0.0.1 localhost.localdomain localhost 

top

 
  3.4 忘记超级用户密码
  3.4.1 若使用LILO来引导系统,你需要把系统引导为 linux single。如果你使用的是 GRUB,载入了 GRUB 引导屏幕后,键入 e 来编辑。选择以 kernel 开头的那一行,然后键入 e来编辑该项引导项目。在 kernel 行的结尾处,添加:single。一旦你使用 GRUB 或 LILO 引导入了单用户模式,你就会看到 # 提示符,你必须键入 passwd root,它将会允许你输入一个新的根口令。这时候,你可以键入 shutdown -r now 来使用新的根口令重新引导系统。
3.4.2 如果你忘记了你的用户帐号口令,你必须变成根用户。要变成根用户,键入 su - ,在提示后输入根口令,然后键入 passwd <username>。这将会允许你为某一指定的用户帐号输入一个新口令

top

 
  3.5 驱动程序盘
  3.5.1 为什么需要驱动程序盘:
如果你需要从网络设备中执行安装;如果你需要从块设备中执行安装;如果你需要从 PCMCIA 设备中执行安装;如果你是在 expert mode 下运行安装程序;如果你是通过在 boot: 提示后输入 linux dd 来运行安装程序;如果你在一个不具备任何 PCI 设备的计算机上运行安装程序。
  3.5.2 根据映像文件创建驱动程序盘:
在 Linux 环境下,在含有驱动程序盘映像(如:drvnet.img)的同一目录下,以根用户身份键入 dd if=drvnet.img of=/dev/fd0 。在 DOS 环境下,在驱动器 a: 中插入一张空白的、格式化的软盘。在含有驱动程序盘映像(如:drvnet.img)的同一目录下,在命令行中键入 d:\dosutils\rawrite drvnet.img a:,此处的 d: 是光盘设备的驱动器盘符。

top

 
  3.6 磁盘分区概念
  3.6.1 对于一个未使用过的硬盘,首先要分区,然后格式化(制作文件系统).一个磁盘上可以有许多不同类型的文件系统。驱动器上极小的一部分可用空间被用来储存与文件系统有关的数据,这可以被视作管理费用。文件系统将剩余空间分割成小块的,大小统一的段。在 Linux 中,这些段被称为块(block)。
  3.6.2 对于大容量的硬盘,将磁盘划分为分区(partition)。每一分区都可以像一个独立的磁盘一样被访问。这是通过添加分区表(partition table)来做到的。将一个驱动器变成多个驱动器。每个部分都装有定义单个分区所必需的信息,这意味着分区表定义的主分区不能超过四个。每个分区表项目都包含着该分区的几项重要的特征:在磁盘上分区开始和结束的地点(起止点);分区是否“活跃”;分区的类型。让我们来仔细查看一下每一个特征。起止点实际上定义了分区的大小及在磁盘上的位置。“活跃”标志是被某些操作系统的引导装载程序所用。换一句话说,标为“活跃”的分区上的操作系统将会被引导。
  3.6.3 分区内的分区 — 扩展分区概述
    当一个分区被建立,其类型被设为“扩展”时,扩展分区表也被创建。简而言之,扩展分区就像一个独立的磁盘驱动器 — 它有自己的分区表,该表指向一个或多个分区——它们现在被称为逻辑分区(logical partitions),与四个主分区(primary partitions) 相对,并完全包含在扩展分区之内。主分区与逻辑分区之间有一个区别 — 主分区只能有四个,但是可以存在的逻辑分区数量却无固定限制。
  3.6.4 分区命名方案
    在 DOS/Windows 的世界里,如果分区别识别,它会被指派给一个“驱动器字母”。驱动器字母从“C”开始,然后依据要标签的分区数量而按字母顺序推移。
Red Hat Linux 使用一种更灵活的命名方案。它所传达的信息比其它操作系统采用的命名方案更多。该命名方案是基于文件的,文件名的格式为:/dev/xxyN
/dev/ 这个字串是所有设备文件所在的目录名。因为分区在硬盘上,而硬盘是设备,所以这些文件代表了在/dev/上所有可能的分区。
xx 分区名的前两个字母标明分区所在设备的类型。通常是 hd (IDE 磁盘)或 sd(SCSI 磁盘)。
y 这个字母标明分区所在的设备。例如,/dev/hda(第一个 IDE 磁盘)或 /dev/sdb(第二个 SCSI 磁盘)
N 最后的数字代表分区。前四个分区(主分区或扩展分区)是用数字从 1 排列到 4。逻辑分区从 5 开始。例如,/dev/hda3 是在第一个 IDE 硬盘上的第三个主分区或扩展分区;/dev/sdb6 是在第二个 SCSI 硬盘上的第二个逻辑分区。
3.6.5 磁盘分区和挂载点:
  Linux 中的每一个分区通过挂载(mounting)来实现使用及访问的,挂载是将分区关联到某一目录的过程。挂载分区使起始于这个指定目录(通称为挂载点,mount point)的贮存区能够被使用。
例如,如果分区 /dev/hda5 被 挂载在 /usr 上,这意味着所有在 /usr 之下的文件和目录在物理意义上位于 /dev/hda5 上。因此文件 /usr/share/doc/FAQ/txt/Linux-FAQ 被储存在 /dev/hda5上,而文件 /etc/X11/gdm/Sessions/Gnome 却不是。
继续以上的例子,/usr 之下的一个或多个目录还有可能是其它分区的挂载点。例如,某个分区(假设为,/dev/hda7)可以被挂载到 /usr/local 下,这意味着 /usr/local/man/whatis 将位于 /dev/hda7 上而不是 /dev/hda5 上。

top

 
3.7 配置一个双引导系统
  若已经有一个操作系统Microsoft Windows™,如何再安装Linux系统?为了使Windows分区在Linux下可自动读取,最好其文件系统是VFAT,而不是NTFS。 为Linux系统预留可用的空闲空间,至少建立主分区和交换分区。
添加一个新硬盘,启动了 Red Hat Linux 安装程序之后,请确定你选定的是在新安装的硬盘驱动器上安装 Linux(例如 hdb或者sd)而不是在被 Windows 使用的硬盘驱动器上安装。
使用一个现存的硬盘或分区,备份它上面的数据。
创建一个新分区:利用空闲的未使用空间;或通过第三方分区程序(如PQMagic)在不破坏数据下调整分区大小,创建一个新分区。

top

  3.8 以虚拟机方式安装
  若已经有一个操作系统Microsoft Windows™,可以在这一系统下安装虚拟机软件,如VMWare, VirtualPC,启动虚拟机软件,然后在Microsoft Windows™操作系统里安装Linux系统。由于在Microsoft Windows™里运行,所以系统性能会有折扣。

top

 
3.9 如何使用USB存储设备
   新的内核可支持大多数USB存储设备,在系统中被认为是SCSI 磁盘。可以通过安装USB的一些模块来启动该设备,modprobe usb-storage;modprobe scsi_mod;modprobe sd_mod。然后fdisk /dev/sda (或/dev/sdb)来查看分区情况。每个分区挂载后可使用。

top

3.10 首次启动
由于某些原因,需要出现首次启动界面,可以使用firstboot指令。 首先删除/etc/sysconfig/firstboot文件,然后启动firstboot服务:chkconfig --level 5 firstboot on,最后重新启动计算机.
3.11 kickstart 安装方法

使用 kickstart ,系统管理员可以创建kickstart 文件,该文件包括对典型 Red Hat Linux 安装中所询问问题的回答。kickstart 文件可以被保留在单个服务器系统上,并可以被个体计算机在安装过程中读取。这种安装方法能够支持使用单个 kickstart 文件来在多台机器上安装 Red Hat Linux,从而成为网络和系统管理员的理想选择。

kickstart 让你自动化大部分 Red Hat Linux 的安装任务。

kickstart 安装可以使用本地光盘、本地硬盘驱动器、或通过 NFS、FTP、HTTP 来执行。

  1. 创建一个 kickstart 文件。

    kickstart 文件是一个简单的文本文件,包含一个项目列表, 每个项目都用关键字标明。可以使用 kickstart 配置器来创建它;或自己直接编写。当一个已经安装了Red Hat Linux 系统的计算机,有一个 文件kickstart 文件在/root/anaconda-ks.cfg 中。以下两个图是kickstart 配置器来创建它的演示。

    完成了 kickstart 选项的选择后,要评审 kickstart 文件的内容,选择「文件」 => 「预览」。保存到文件就可以获得一个kickstart 文件。

  2. 创建一个带有 kickstart 文件的引导盘,或在网络上提供该文件。

    因此你可以使用 mcopy 命令来在 Linux 中复制 kickstart 文件:

    mcopy ks.cfg a:

    要执行基于光盘的 kickstart 安装,kickstart 文件必须被命名为 ks.cfg,而且必须位于引导光盘的最上级目录中。因为光盘是只读的,这个文件必须被添加到被写入光盘的、用来创建映像的目录中。

    要执行基于网络的 kickstart 安装,你的网络上必须有一个 BOOTP/DHCP 服务器,而且它必须包括关于你要在其上安装 Red Hat Linux 的机器的配置信息。BOOTP/DHCP 服务器会给客户提供它的联网信息以及 kickstart 文件的位置。

    下面是从用于 Red Hat Linux 随带的 DHCP 服务器的 dhcpd.conf 文件中所摘录的一行:

    filename "/usr/new-machine/kickstart/";
    next-server blarg.redhat.com;

    注意,你应该把 filename 后面的值替换为 kickstart 文件的名称(或 kickstart 文件所在的目录),把 next-server 后面的值替换成 NFS 服务器的名称。

    如果 BOOTP/DHCP 服务器返回的文件以斜线(“/”)结束,它就会被当做路径。在这种情况下,客户系统会使用 NFS 来挂载该路径,然后搜索某一指定文件。客户搜索的文件名是:

    <ip-addr>-kickstart

    文件名的 <ip-addr> 部分应该被点式的客户 IP 地址替换。譬如,IP 地址为 10.10.0.1 的计算机的文件名应为 10.10.0.1-kickstart 。

    注意,如果你不指定服务器名称,客户系统就会试图使用回答 BOOTP/DHCP 请求的服务器来作为它的 NFS 服务器。如果你不指定路径或文件名,客户系统会试图从 BOOTP/DHCP 服务器挂载 /kickstart ,然后使用和前面描述的 <ip-addr> -kickstart 文件名相同的方法来搜索 kickstart 文件。

  3. 开始 kickstart 安装。

    要开始 kickstart 安装,你必须从 Red Hat Linux 引导软盘、Red Hat Linux 引导光盘、或 Red Hat Linux 安装光盘 #1 中安装,在引导提示下输入一个特殊的引导命令。如果 ks 命令行参数被传递给内核,安装程序就会寻找 kickstart 文件。

    启动 kickstart 安装的方法如下列举:

    ks=nfs:<server>:/<path>

    安装程序会在 NFS 服务器 <server> 上的 <path> 中寻找 kickstart 文件。安装程序会使用 DHCP 来配置以太网卡。譬如,如果你的 NFS 服务器是 server.example.com,kickstart 文件位于 NFS 共享 /mydir/ks.cfg 上,正确的引导命令应该是: ks=nfs:server.example.com:/mydir/ks.cfg

    ks=http://<server>/<path>

    安装程序会在 HTTP 服务器 <server> 上的 <path> 中寻找 kickstart 文件。安装程序会使用 DHCP 来配置以太网卡。譬如,如果你的 HTTP 服务器是 server.example.com,kickstart 文件位于 HTTP 目录 /mydir/ks.cfg 中,正确的引导命令应该是: ks=http://server.example.com/mydir/ks.cfg

    ks=floppy

    安装程序会在 /dev/fd0 驱动器中的软盘上的 vfat 或 ext2 文件系统中寻找 ks.cfg 文件。

    ks=floppy:/<path>

    安装程序会在 /dev/fd0 驱动器中的软盘上的 vfat 或 ext2 文件系统中寻找名称为 <path> 的 kickstart 文件。

    ks=hd:<device>:/<file>

    安装程序会在 <device> 上挂载文件系统(必须是 vfat 或 ext2),然后在该文件系统中寻找 kickstart 配置文件 <file>(譬如, ks=hd:sda3/mydir/ks.cfg)。

     

    ks=file:/<file>

    安装程序会试图从文件系统中读取 <file> 文件;不必执行挂载。这通常在 kickstart 文件已经位于 initrd 映像时使用。

    ks=cdrom:/<path>

    安装程序会在光盘中寻找 kickstart 文件 <path>

    ks

    如果 ks 被单独使用,安装程序会配置系统的以太网卡使用 DHCP。系统将会使用 DHCP 回应的“bootServer”作为 NFS 服务器,并从中读取 kickstart 文件(它默认与 DHCP 服务器相同)。kickstart 文件的名称可以是下面一种:

    • 如果 DHCP 被指定,bootfile 以 / 开头,由 DHCP 提供的 bootfile 就会在 NFS 服务器上被查找。

    • 如果 DHCP 被指定,bootfile 不以 / 开头,由 DHCP 提供的 bootfile 就会在 NFS 服务器上的 /kickstart 目录中被查找。

    • 如果 DHCP 没有指定 bootfile,安装程序就会试图读取 文件 /kickstart/1.2.3.4-kickstart,这里的 1.2.3.4 是要安装的机器的 IP 地址。

    ksdevice=<device>

    安装程序会使用该网络设备来连接到网络。譬如,要使用通过 eth1 设备连接到系统上的 NFS 服务器上的 kickstart 文件来启动 kickstart 安装,在 boot: 提示下使用 ks=nfs:<server:>/<path> ksdevice=eth1 命令。

top