引导参数是 Linux 内核的参数。一般用于确保外围设备能够正确地运行。对于其中的大多数部分来说,内核可以自动检查外围设备的相关信息。但是在某些情况下,您可能需要给内核一点小小的帮助。
如果这是您第一次引导系统,尝试缺省的引导参数(即:不要输入任何参数),并且检查是否工作正确。这可能正确,如果不行,可以重新启动,并且检查需要告诉系统什么样的硬件特定参数。
有关很多引导参数的信息可以查看 Linux BootPrompt HOWTO,其中包括一些老旧硬件的解决方法。这一节只描述一些最常用的基本参数。一些常见的问题描述见 第 5.4 节 “安装过程中的故障修复”。
当内核引导的时候,有一条消息
Memory:avail
k/total
k available
应该显示在引导过程的前面。其中 total
应该符合您内存的总量,单位为千字节。如果此参数不符合您实际的内存总数,需要使用 mem=
参数。这里 ram
ram
被设置为内存的数量。如是“k”则为千字节,“m”为兆字节。例如,mem=65536k
和 mem=64m
标明 64MB 内存。
假如您用串口控制台引导,通常内核可以自动检测到。如果在串口引导的计算机上有视频卡(framebuffer)和键盘,您必须传递 console=
参数给内核,其中 device
device
是串口设备,通常是 ttyS0
形式。[9]。
安装系统能识别一些额外的引导参数[10],它们很有用。
许多参数都有“简写”,可以避免内核命令行选项的限制,并且更容易输入。如果参数有简写,它会列在(正式)长形式后面的括号里。本手册中的示例一般都使用简写。
这些参数设置将设置显示的信息为最低的级别。
缺省安装使用 priority=high
。这意味着高优先级的和至关重要的信息将被显示,但是中级和低级信息将被跳过。如果其间出现了问题,安装程序将按照要求调整优先级别。
如果您加入 priority=medium
作为引导参数,将看到安装菜单以及安装过程中更多的控制。当使用 priority=low
,将显示所有的消息(这相当于采用 expert 引导方法)。通过 priority=critical
,安装系统只会显示至关重要的信息,并且尝试正确无误地执行各项事宜。
这个引导参数控制用于安装程序的用户界面的类型。当前可能参数设置有:
DEBIAN_FRONTEND=noninteractive
DEBIAN_FRONTEND=text
DEBIAN_FRONTEND=newt
DEBIAN_FRONTEND=gtk
缺省的前端是 DEBIAN_FRONTEND=newt
。DEBIAN_FRONTEND=text
可以用于串口控制台的安装。一般来说在缺省安装介质上只有 newt
前端,因此目前这个并非很有用。图形安装程序可以在所支持的平台上使用 gtk
前端。
设置引导参数为 2 会使记录更冗长一些。设置为 3 会在引导过程的特定位置调出 debug shell。(退出 shell 以后会继续引导过程。)
BOOT_DEBUG=0
此为默认。
BOOT_DEBUG=1
更多的信息。
BOOT_DEBUG=2
大量的调试信息。
BOOT_DEBUG=3
在引导过程中,安装程序将在多处不同地方运行 Shell,以进行细节上的调试。退出 Shell 将继续引导过程。
参数的值是装入 Debian 安装程序的设备路径,例如:INSTALL_MEDIA_DEV=/dev/floppy/0
引导软盘通常会扫描所有的软盘来找到根软盘,可以通过此参数设置只查找一个设备。
可以强制安装程序设置高于安装程序根据实际内存默认的 lomem 等级。该值可设为 1 和 2。参阅 第 6.3.1.1 节 “检测可用内存/小内存模式”。
禁止 tty2 和 tty3 上的交互式安装。这对于物理安全限制下的无人职守安装很有用处。
一些体系利用内核 framebuffer 来提供多种语言的安装。如果 framebuffer 使您的系统出现问题,可以通过参数 vga=normal
fb=false
关闭这个特性。这类问题的特征是 bterm 或者 bogl 的相关错误信息、一个空白的屏幕,或者在开始安装几分钟后停止。
界面方案(theme)决定安装程序用户界面的外观(颜色、图标等)。不同的前端(frontend)有不同的界面方案。当前 newt 和 gtk 前端只有一个 “dark” 界面方案提供给视觉受损的用户。界面方案可以在引导的时候通过 theme=
设置。 dark
缺省情况下,debian-installer
会通过 DHCP 来自动检测网络。如果检测成功的话,您将不需要审视并且改变其获得的设定。您可以在 DHCP 检测失败的情况下手工配置网络。
如果您的网络上面具备一台 DHCP 服务器,但是不想使用它,比如,因为它给出错误的答案。您可以使用参数 netcfg/disable_dhcp=true
来阻止通过 DHCP 配置网络,并手工输入信息。
设置成 false
来阻止启动 PCMCIA 服务造成的麻烦。有些便携机会有这种现象。
设为 true
可以打开安装程序中对 Serial ATA RAID (也称为 ATA RAID、BIOS RAID 或 fake RAID) 磁盘的支持。注意,这种支持当前是实验性的。更多的信息可以在 Debian Installer Wiki 找到。
指定 url 到预设文件,在安装中自动下载和使用。参阅 第 4.6 节 “自动化安装”。
指定路径至预设文件,加载自动化安装。参阅 第 4.6 节 “自动化安装”。
设为 true
,让已经预置的也可以显示提问。用于测试和调试预置的文件。注意,使用引导参数进行预置时无效,但可以使用一种特殊的语法。参阅 第 B.5.2 节 “使用预置修改默认值” 了解详细信息。
延迟那些通常在预置之前的提问,直到网络设置完毕。参阅 第 B.2.3 节 “auto 模式” 了解自动安装的详细信息。
从串口或者管理控制台安装时,虚拟控制台(VT1 到 VT6)一般在 /etc/inittab
里已经关掉。将其改为 true
打开。
在重启前,debian-installer
默认自动弹出安装时的光学媒介。如果系统不是自动从 CD 引导,这是不必要的操作。在某些情况下,反而不便。例如,如果光驱不能自动插入盘片,用户又不在旁边操作。许多 slot loading、slim-line 和 caddy 类型的驱动器不能自动重新加载介质。
设为 false
可以禁止自动弹出,但要小心确保系统在安装完后,不会自动从光盘引导。
通过设置 false
选项,在安装过程和以后的系统中,包管理系统将配置设为不自动安装这些“推荐的软件包(Recommends)”。参阅 第 6.3.3 节 “安装基本系统”。
注意,虽然使用该选项可以得到一个瘦小的系统,但将会失去一些通常认为应有的特性。您不得不使用手动方式安装这些推荐软件包以获得完整的功能。因此,该选项应由非常有经验的用户来使用。
安装程序默认需要使用一个已知的 gpg 密钥认证仓库。设为 true
可以禁止认证。警告:不安全,不推荐使用。
设为 true
进入 rescue 模式,而不是执行普通安装。参阅 第 8.7 节 “修复损坏的系统”。
对于一些例外,可以在引导提示符后设置值来回答安装过程中的提问,在某些情况下,它是惟一真正有效的。有关如何操作的说明可以在 第 B.2.2 节 “使用引导参数预置问题的答案” 找到。下面是一些具体的例子。
有两种方法可以指定安装过程和安装后系统中所使用的语言(language)、国家(country)和地方(locale)。
第一种和最简单的方法为只设置 locale
参数。语言和国家将依据该值产生。例如,您可以使用 locale=de_CH
选择语言为德语,瑞士为国家(安装后的系统中默认的 locale 将设置为 de_CH.UTF-8
)。该方法有一个缺陷,因为并不是所有的语言、国家和地方可以采用这种方式组合。
第二种更具弹性的方法,是分开指定 language
和 country
。这种方式下 locale
可以作为选项来指定安装后系统中默认的 locale 值。例如: language=en country=DE locale=en_GB.UTF-8
。
可用来自动加载那些默认不加载的安装程序模块。比如一些有用的可选模块 openssh-client-udeb
(使您可以在安装过程中使用 scp) 和 ppp-udeb
(参阅 第 D.5 节 “通过 PPP over Ethernet (PPPPoE) 来安装 Debian GNU/Linux”)。
如果您想禁止 DHCP 使用静态网络设置,将它设为 true
。
默认情况下,安装程序会使用 http 协议从 Debian 镜像下载文件,在普通优先级下不能修改协议为 ftp。设置该参数为 ftp
,您可以迫使安装程序使用该协议。注意,您必须手动输入主机名,而不是从列表中选择 ftp 镜像。
可以用来选择不在交互式任务列表中出现的任务,例如 kde-desktop
任务。参阅 第 6.3.5.2 节 “选择和安装软件” 了解详细信息。
假如驱动程序编译进内核,您可以像内核文档所说的那样向内核传递参数。然而,如果驱动编译为模块,而且由于安装过程与运行系统加载模块方式不同,无法像平时那样传递参数到模块。因此,您需要使用安装程序所识别的特殊语法,它们将确保参数能保存到合适的配置文件,并在模块加载的时候使用。这些参数并能自动应用到安装后系统的配置中。
注意,现在很少需要将参数传递到模块。多数情况下,内核将侦测当前系统中的硬件,并很好地设置默认参数。然而,某些情况下还是需要手动设置参数。
设置模块参数的语法为:
module_name
.parameter_name
=value
如果您需要传递多个参数给相同或不同的模块,重复上面内容即可。例如,设置老式的 3Com 网卡要使用 BNC (coax) 端子和 IRQ 10,要使用:
3c509.xcvr=3 3c509.irq=10