5.2. 引导参数

引导参数是 Linux 内核的参数。一般用于确保外围设备能够正确地运行。对于其中的大多数部分来说,内核可以自动检查外围设备的相关信息。但是在某些情况下,您可能需要给内核一点小小的帮助。

如果这是您第一次引导系统,尝试缺省的引导参数(即:不要输入任何参数),并且检查是否工作正确。这可能正确,如果不行,可以重新启动,并且检查需要告诉系统什么样的硬件特定参数。

有关很多引导参数的信息可以查看 Linux BootPrompt HOWTO,其中包括一些老旧硬件的解决方法。这一节只描述一些最常用的基本参数。一些常见的问题描述见 第 5.3 节 “安装过程中的故障修复”

当内核引导的时候,有一条消息

Memory:availk/totalk available 

应该显示在引导过程的前面。其中 total 应该符合您内存的总量,单位为千字节。如果此参数不符合您实际的内存总数,需要使用 mem=ram 参数。这里 ram 被设置为内存的数量。如是“k”则为千字节,“m”为兆字节。例如,mem=65536kmem=64m 标明 64MB 内存。

如果您通过一个串行控制台引导,一般来说内核将自动检测。如果您有一块显示卡(framebuffer)和一个键盘,通过串口附加于想引导的计算机上面,也许需要传递 console=device 参数给内核,这里 device 是串口设备。通常类似于 ttyS0

5.2.1. Debian 安装程序的参数

安装系统能识别一些额外的引导参数[3],它们很有用。

许多参数都有“简写”,可以避免内核命令行选项的限制,并且更容易输入。如果参数有简写,它会列在(正式)长形式后面的括号里。本手册中的示例一般都使用简写。

debconf/priority (priority)

这些参数设置将设置显示的信息为最低的级别。

缺省安装使用 priority=high 。这意味着高优先级的和至关重要的信息将被显示,但是中级和低级信息将被跳过。如果其间出现了问题,安装程序将按照要求调整优先级别。

如果您加入 priority=medium 作为引导参数,将看到安装菜单以及安装过程中更多的控制。当使用 priority=low,将显示所有的消息(这相当于采用 export 引导方法)。通过 priority=critical,安装系统只会显示至关重要的信息,并且尝试正确无误地执行各项事宜。

DEBIAN_FRONTEND

这个引导参数控制用于安装程序的用户界面的类型。当前可能参数设置有:

  • DEBIAN_FRONTEND=noninteractive

  • DEBIAN_FRONTEND=text

  • DEBIAN_FRONTEND=newt

  • DEBIAN_FRONTEND=gtk

缺省的前端是 DEBIAN_FRONTEND=newtDEBIAN_FRONTEND=text 可以用于串口控制台的安装。一般来说在缺省安装介质上只有 newt 前端,因此目前这个并非很有用。图形安装程序可以在所支持的平台上使用 gtk 前端。

BOOT_DEBUG

设置引导参数为 2 会使记录更冗长一些。设置为 3 会在引导过程的特定位置调出 debug shell。(退出 shell 以后会继续引导过程。)

BOOT_DEBUG=0

此为默认。

BOOT_DEBUG=1

更多的信息。

BOOT_DEBUG=2

大量的调试信息。

BOOT_DEBUG=3

在引导过程中,安装程序将在多处不同地方运行 Shell,以进行细节上的调试。退出 Shell 将继续引导过程。

INSTALL_MEDIA_DEV

参数的值是装入 Debian 安装程序的设备路径,例如:INSTALL_MEDIA_DEV=/dev/floppy/0

引导软盘通常会扫描所有的软盘来找到根软盘,可以通过此参数设置只查找一个设备。

debian-installer/framebuffer (fb)

一些体系使用内核 framebuffer 提供不同的语言安装。如果 framebuffer 在您的系统上面有问题,可以通过参数 fb=false 关闭这个特性。这方面问题的特征是有关 bterm 或者 bogl 的错误信息,一个空白的屏幕,或者在开始安装几分钟后停止。

debian-installer/theme (theme)

界面方案(theme)决定安装程序用户界面的外观(颜色、图标等)。不同的前端(frontend)有不同的界面方案。当前 newt 和 gtk 前端只有一个 “dark” 界面方案提供给视觉受损的用户。界面方案可以在引导的时候通过 theme=dark 设置。

debian-installer/probe/usb

设置成 false 可以阻止在引导的时候进行 USB 探测,如果这会引起的问题话。

netcfg/disable_dhcp

缺省情况下,debian-installer 会通过 DHCP 来自动检测网络。如果检测成功的话,您将不需要审视并且改变其获得的设定。您可以在 DHCP 检测失败的情况下手工配置网络。

如果您的网络上面具备一台 DHCP 服务器,但是不想使用它,比如,因为它给出错误的答案。您可以使用参数 netcfg/disable_dhcp=true 来阻止通过 DHCP 配置网络,并手工输入信息。

hw-detect/start_pcmcia

设置成 false 来阻止启动 PCMCIA 服务造成的麻烦。有些便携机会有这种现象。

preseed/url (url)

指定 url 到预设文件,在安装中自动下载和使用。参阅 第 4.4 节 “自动化安装”

preseed/file (file)

指定路径至预设文件,加载自动化安装。参阅 第 4.4 节 “自动化安装”

preseed/interactive

设为 true,让已经预置的也可以显示提问。用于测试和调试预置的文件。注意,使用引导参数进行预置时无效,但可以使用一种特殊的语法。参阅 第 B.5.2 节 “使用预置修改默认值” 了解详细信息。

auto-install/enable (auto)

延迟那些通常在预置之前的提问,直到网络设置完毕。参阅 第 B.2.3 节 “auto 模式” 了解自动安装的详细信息。

cdrom-detect/eject

在重启前,debian-installer 默认自动弹出安装时的光学媒介。如果系统不是自动从 CD 引导,这是不必要的操作。在某些情况下,反而不便。例如,如果光驱不能自动插入盘片,用户又不在旁边操作。许多 slot loading、slim-line 和 caddy 类型的驱动器不能自动重新加载介质。

设为 false 可以禁止自动弹出,但要小心确保系统在安装完后,不会自动从光盘引导。

debian-installer/allow_unauthenticated

安装程序默认需要使用一个已知的 gpg 密钥认证仓库。设为 true 可以禁止认证。警告:不安全,不推荐使用。

rescue/enable

设为 true 进入 rescue 模式,而不是执行普通安装。参阅 第 8.7 节 “修复损坏的系统”

5.2.1.1. 使用内核模块参数回答提问

对于一些例外,可以在引导提示符后设置值来回答安装过程中的提问,在某些情况下,它是惟一真正有效的。有关如何操作的说明可以在 第 B.2.2 节 “使用引导参数预置问题的答案” 找到。下面是一些具体的例子。

debian-installer/locale (locale)

可用来设置安装的语言和国家。它只在该 locale 被 Debian 支持时工作。例如,使用 locale=de_CH 选择德语作为语言,并且瑞士作为国家。

anna/choose_modules (modules)

可用来自动加载那些默认不加载的安装程序模块。比如一些有用的可选模块 openssh-client-udeb (使您可以在安装过程中使用 scp) ppp-udeb (参阅 第 D.4 节 “通过 PPP over Ethernet (PPPPoE) 来安装 Debian GNU/Linux”)

netcfg/disable_dhcp

如果您想禁止 DHCP 使用静态网络设置,将它设为 true

mirror/protocol (protocol)

默认情况下,安装程序会使用 http 协议从 Debian 镜像下载文件,在普通优先级下不能修改协议为 ftp。设置该参数为 ftp,您可以迫使安装程序使用该协议。注意,您必须手动输入主机名,而不是从列表中选择 ftp 镜像。

tasksel:tasksel/first (tasks)

可以用来选择不在交互式任务列表中出现的任务,例如 kde-desktop 任务。参阅 第 6.3.5.2 节 “选择和安装软件” 了解详细信息。

5.2.1.2. 给内核模块传递参数

假如驱动程序编译进内核,您可以像内核文档所说的那样向内核传递参数。然而,如果驱动编译为模块,而且由于安装过程与运行系统加载模块方式不同,无法像平时那样传递参数到模块。因此,您需要使用安装程序所识别的特殊语法,它们将确保参数能保存到合适的配置文件,并在模块加载的时候使用。这些参数并能自动应用到安装后系统的配置中。

注意,现在很少需要将参数传递到模块。多数情况下,内核将侦测当前系统中的硬件,并很好地设置默认参数。然而,某些情况下还是需要手动设置参数。

设置模块参数的语法为:

module_name.parameter_name=value

如果您需要传递多个参数给相同或不同的模块,重复上面内容即可。例如,设置老式的 3Com 网卡要使用 BNC (coax) 端子和 IRQ 10,要使用:

3c509.xcvr=3 3c509.irq=10

5.2.1.3. 内核模块黑名单

有时需要将一个模块加入黑名单阻止内核和 udev 自动加载。其中一个原因是有的模块会与您的硬件产生问题。内核有时会给同一硬件列出两个不同的驱动程序。如果驱动之间冲突或者错误的驱动先加载,将造成设备无法正常工作。

您可以使用下面的语法将模块加入黑名单:module_name.blacklist=yes。这会让该模块在安装和安装后的系统都加入 /etc/modprobe.d/blacklist.local 文件的黑名单中。

注意,安装系统自己仍然会加载模块。要阻止这种情况,您可以在 export 模式下,硬件检查过程中从显示的模块列表中取消该模块。



[3] 当前的内核(2.6.9 或更新),您可以使用 32 个命令行参数和 32 个环境变量选项。如果超出,内核将会崩溃。