Show Table of Contents
2.2. 安装和引导
本小节总结了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 安装工具和过程的变化。
2.2.1. Anaconda
- 已将 Anaconda 恢复至版本 anaconda-21.48.22.31-1.el7。这个版本包括大量 bug 修复和新功能。
- Bug 修复
- 值得关注的变化
- https://bugzilla.redhat.com/show_bug.cgi?id=1164660 [RFE] 为在 Anaconda kickstart 中使用添加“创建所需分区”。
- https://bugzilla.redhat.com/show_bug.cgi?id=1120421 [RFE] 添加对配置缓存逻辑卷的支持
- https://bugzilla.redhat.com/show_bug.cgi?id=1169991 RFE: 安装程序环境中的 enable spice-vdagent
- [RFE] LDL 底层格式化磁盘的 Anaconda 警告。
- https://bugzilla.redhat.com/show_bug.cgi?id=1170656 [RFE] 对 LDL 底层格式化磁盘进行 CDL 格式化的 Anaconda 动作。
- https://bugzilla.redhat.com/show_bug.cgi?id=1207747 [RHEL7 RFE] 使用 kexec 在 RHEL 安装过程中重启。
- https://bugzilla.redhat.com/show_bug.cgi?id=1217110 [RFE] 包括使用自定义选项创建 xfs 的 mkfsoptions 。
- https://bugzilla.redhat.com/show_bug.cgi?id=1057271 [FEAT RHEL7.1]: RFE: 支持 anaconda 自动使用 LABEL=OEMDRV 提供 ks.cfg。
- https://bugzilla.redhat.com/show_bug.cgi?id=1190685 在 RHEL 7 中请求 oscap-anaconda。
2.2.2. 新引导装载程序
Red Hat Enterprise Linux 7 采用 GRUB2 引导装载程序,它在 Red Hat Enterprise Linux 7 和以后的版本中替代了传统的 GRUB。GRUB2 比其前任支持更多文件系统以及虚拟块设备。它可以自动扫描并配置可用操作系统。同时改进了用户界面,且用户可以选择跳过引导追踪程序安装。
但使用 GRUB2 的同时也取消了对在使用 MBR 类型分区表的 BIOS 机器的格式化分区中安装引导追踪程序。这个行为改变是因为有些文件系统有自动的优化功能,这些功能会移动核心引导装载程序映象的一部分,从而破坏 GRUB 传统引导装载程序。使用 GRUB2 时,是将引导装载程序安装在分区表和使用 MBR 类型分区表的 BIOS 机器首个分区之间的可用空间中。使用 GPT 类型分区表的 BIOS 机器必须为该引导装载程序创建一个特殊 BIOS 引导分区。UEFI 机器会继续在 EFI 系统分区中安装引导装载程序。
由于使用新的引导装载程序,建议的最小分区大小也会有变化。表 2.1 “建议最小分区大小” 中给出了新建议概述。详情请参考 《Red Hat Enterprise Linux 7 安装指南》 的 《6.10.1.1 MBR 和 GPT 注意事项》。
表 2.1. 建议最小分区大小
| 分区 | BIOS & MBR | BIOS & GPT | UEFI & GPT |
|---|---|---|---|
/boot | 500 MB | ||
/ | 10 GB | ||
| swap | 至少是 RAM 的两倍。详情请查看《Red Hat Enterprise Linux 7 安装指南》中的《6.10.4.5. 建议分区方案》。 | ||
| 引导装载程序 | 无(在分区表和首个分区之间安装) | 1 MB(BIOS Boot 分区) | 200 MB(EFI 系统分区) |
用户可以手动使用
force 选项将 GRUB2 安装到分区中,或者使用备用的引导装载程序,但前者有可能破坏文件系统。有关备用引导装载程序列表请参考《Red Hat Enterprise Linux 7 安装指南》,网址 http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。
如果您使用的是双引导系统,请使用 GRUB 的操作系统探测自动写入可引导任意一个操作系统的配置文件。
# grub2-mkconfig -o /boot/grub2/grub.cfg
2.2.3. 新的 Init 系统
systemd 是一个系统和服务管理器,它替换了 Red Hat Enterprise Linux 以前的版本中使用的 SysV init 系统。
systemd 是在引导过程中第一个启动的进程,也是在关闭过程中最后一个停止的进程。它会协调余下的引导过程,并为用户配置该系统。在 systemd 中会平行载入互相依赖的程序,以便显著加快引导过程。
从用户体验及脚本 API 的角度来看,systemd 与 SysV 在很大程度上兼容。但也存在一些意外情况。详情请查看 第 2.2.3.1 节 “向后兼容性” 。
使用 systemd 还将涉及 Red Hat Enterprise Linux 管理工具的变化。详情请查看 systemctl man page 或者《Red Hat Enterprise Linux 7 系统管理员指南》。
有关引导过程的详情请查看《Red Hat Enterprise Linux 7 安装指南》。有关 systemd 的详情请参考《Red Hat Enterprise Linux 7 系统管理员指南》。两本手册的网址均为 http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。
2.2.3.1. 向后兼容性
systemd 的设计旨在就用户体验以及脚本 API 方面与 SysV 兼容。但在有些情况下仍有兼容性限制。
- 标准
/etc/init.d/servicename命令(start,stop,status)仍可使用。但 Red Hat 推荐使用/usr/sbin/serviceservicename命令,因为可将其直接转到 systemd,而不是使用传统的 init 脚本。 - 运行级别支持将受到限制。所有 SysV 运行级别都与 systemd 目标映射,但不是所有 systemd 目标都与 SysV 运行级别映射。因此当前运行级别中的一些检查将返回
N(位置运行级别)。Red Hat 建议避免使用运行级别检查,同时使用更有效的 systemd 目标。 - 传统运行级别 2、3 和 4 都默认与
multi-user.targetsystemd 目标映射。用户可通过配置不同的 systemd 目标修改这一行为。 - 服务执行简洁,不会遗留调用服务用户的任何上下文。将无法使用依赖继承的上下文的 Init 脚本。
- systemd 不支持 init 脚本中的附加动作。如果您要求使用
start,stop或者status以外的动作,请将其移动到辅助脚本中。 - 目前 systemd 可在运行时完全解析并采用 Linux 标准规范标头信息。
- 目前所有 init 脚本都采用 5 分钟超时规定以防止系统因 init 脚本停滞而当机。
- systemd 只能停止运行中的服务;未启动的服务也不会在关机时停止。
- chkconfig 工具只显示 SysV 服务及运行级别信息,并可能给出一些误导信息。Red Hat 建议您使用
systemctll命令。 - SysV 服务,即使有 root 特权,也不再允许获取实时调度。
- 服务不再能从 stdin 中读取信息。如果您需要互动脚本,请考虑 systemd 支持的需要最少密码的框架。有关此功能的详情请参考其 man page:
$ man systemd-ask-password
- Red Hat Enterprise Linux 以前的版本中包含 System z 的预安装脚本(
linuxrc.s390),它可在引导时启动 System z 系统。新的 init 系统废弃了这个预安装脚本,同时 System z 目前使用与 AMD64、Intel® 64 以及 Power systems 相同的方法引导。
2.2.4. 新的安装程序
已对 Red Hat ;Enterprise Linux 安装程序 Anaconda 进行了重新设计和强化以便改进 Red Hat Enterprise Linux 7 的安装进程。
更新后的安装程序功能:
- 重新设计的图形用户界面更迅速,更灵活,同时需要更少的用户输入。
- 支持 LVM 自动精简配置(thin provisioning)。
- 安装支持 btrfs。(注:btrfs 是 Red Hat Enterprise Linux 7 中的技术预览。)
- 改进的本地化支持。
- 支持直接格式化的以及未分区的设备。
- 支持分组及捆绑网络技术。
- 支持自动选择适当的键盘布局、语言和时区。(这需要互联网连接。)根据探测进行的数值设置可被手动设置的数值覆盖。
- 现在可自动使用由 DHCP 推荐的 NTP 服务器。
- 为
realmdDBus 服务、Active Directory 以及 FreeIPA 整合 kickstart。 - 可在 IBM System z 和 PowerPC 系统以及串口控制台中使用的新文本模式。文本模式提供由图形安装程序提供的功能子集。
这个新的安装程序还有一些重要变化。
- 之前,存储配置要求用户对其存储系统在技术上有深入的了解。在 Red Hat Enterprise Linux 7 中重新设计了存储配置,这样用户只需要输入极少的细节即可配置存储。
- Anaconda 现在使用
inst.repo参数而不是inst.root参数设置网络和其他安装位置。 - 已使用软件选择页面替换了图形安装程序界面中的详细软件包选择。软件被分为环境和附加组件。用户可挑选一个环境以及他们想要使用的附加组件。Kickstart 安装仍可在安装的时候对所有软件包进行选择。
有关这些功能的详情请查看《Red Hat Enterprise Linux 7 安装指南》网址 http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。
2.2.4.1. 引导参数变化
2.2.4.1.1. 指定引导参数
本指南中具体到安装程序的引导参数都使用
inst. 作为前缀。目前这个前缀在 Red Hat Enterprise Linux 7 中是可选的:resolution=1024x768 与 inst.resolution=1024x768 的效果完全相同。但这个前缀将在未来的发行本中强制使用,同时没有前缀的参数将被视为弃用。
2.2.4.1.2. 引导参数的变化
新的安装程序使用 dracut 配置磁盘和网络。这样在 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间有些内核命令行参数发生了变化。
2.2.4.1.2.1. 新参数
- inst.stage2
- 指定要载入的安装程序运行时图像位置。其语法与
inst.repo参数语法相同。这个选项只适用于图像,不能用来指定软件包的位置。 - inst.dd
- 在指定位置更新附带软件包的驱动程序软件包。这个选项可多次使用。位置语法与
inst.repo参数中的位置语法相同。 - inst.geoloc
- 在安装程序中配置定位用法以便预先设定语言和时区。默认值为
provider_fedora_geoip。其他有效值如下:表 2.2. 定位值
值效果0禁用定位。provider_fedora_geoip使用 Fedora GeoIP API。provider_hostip使用 Hostip.info GeoIP API。 - inst.usefbx
- 指定应使用的帧缓存 X 驱动程序而不是具体硬件的驱动程序。这个选项与
inst.xdriver=fbdev等效。 - bootdev
- 指定引导界面。如果指定
ip的次数在一次以上,则这个选项是强制的。 - inst.multilib
- 为 multilib 软件包配置该系统,例如在 64 位系统中安装 32 位软件包。
- gpt
- 将分区信息安装到 GUID 分区表(GPT)而不是主引导记录(MBR)中。
- inst.virtiolog
- 指定转发日志的 virtio 端口。默认值为
org.fedoraproject.anaconda.log.0。如果该端口存在,则会使用该端口。 - rd.dasd
- 使用直接访问存储设备(Direct Access Storage Device,DASD)适配器设备总线标识符以及逗号分开的
sysfs参数和数值对(自选)。使用指定的设备总线 ID 激活 DASD,并将上述sysfs参数设定为指定值。例如:rd.dasd=adaptor_id,readonly=0。可多次指定这个参数激活多个 DASD。 - rd.zfcp
- 使用 SCSI 替换 FCP(zFCP)适配器设备总线标识符、全球端口名称(WWPN)以及 FCP LUN。使用指定设备总线标识符、端口名以及 LUN 激活 zFCP。可多次指定这个参数激活多个 zFCP 设备。
rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
- rd.znet
- 使用网络协议类型、用逗号分开的子频道限定列表以及用逗号分开的限定
sysfs参数和数值对(自选)。为指定的协议激活 System z 网络设备驱动程序,数值指定的子频道,并设定指定的参数。可多次激活该参数以便激活多个网络设备。rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
2.2.4.1.2.2. 更改的参数
- inst.ks.sendmac
- 以前是
kssendmac。在外出 HTTP 请求中添加标头,其中包括所有网络接口的 MAC 地址。这在使用inst.ks=http提供系统时很有帮助。 - nameserver
- 之前的
dns。指定名称服务器地址。这个选项可多次使用。
2.2.4.1.2.3. 弃用的参数
这个列表中的选项已启用。它们仍可以使用,但有其他可提供同样功能的选项。不建议您使用弃用的选项,且这些选项将在今后的发行本中删除。
- updates
- 指定安装程序的更新位置。使用
inst.updates选项替换。 - method
- 配置的安装方法。使用
inst.repo=选项替换。 - repo
- 在 NFS 安装中,指定目标是位于 NFS 服务器中的一个 ISO 映像而不是安装树。不同的是现在可自动探测,使其与
inst.repo=nfs:server:/path的功能相同。 - dns
- 配置的域名服务器(DNS)。使用
nameserver=选项替换。 - netmask, gateway, hostname, ip, ipv6
- 已将这些选项整合到
ip选项中。 - ip=bootif
- 指定
BOOTIF选项,这些选项在使用 PXE 服务器安装时使用。现在可以自动探测。 - ksdevice
- 要在 Kickstart 安装过程中使用的已配置的网络。已使用下表中的不同参数替换这个参数的不同值。
表 2.3. kickstart 参数值
值目前行为未提供尝试使用 DHCP 激活所有设备,除非使用ip或者BOOTIF选项指定某个设备和配置。ksdevice=link已忽略(这与默认行为相同)。ksdevice=bootif已忽略(如指定则默认使用BOOTIF)。ksdevice=ibft已使用 dracut 选项ip=ibft替换。ksdevice=MAC使用BOOTIF=MAC替换。ksdevice=device使用 dracutip选项中的设备说明替换。 - blacklist
- 用来禁用指定驱动程序。现在使用
rd.driver.blacklistdracut 选项处理,其语法如下:rd.driver.blacklist=mod1,mod2,...
- nofirewire
- 禁用 FireWire 接口支持。您可以使用
rd.driver.blacklist选项禁用 FireWire 驱动程序(firewire_ohci):rd.driver.blacklist=firewire_ohci
2.2.4.1.2.4. 已删除参数
已删除下列选项。Red Hat Enterprise Linux 之前的版本中有这些选项,但不再使用。
- serial
- 这个选项强制 Anaconda 使用
/dev/ttyS0控制台作为输出。现使用console参数指定/dev/ttyS0(或者类似功能)。 - essid, wepkey, wpakey
- 配置的无线网络访问。现已使用 dracut 处理网络配置,但它不支持无线网络,从而让这些选项毫无意义。
- ethtool
- 之前用来配置附加低层网络设置。所有网络设置现已使用
ip选项处理。 - gdb
- 允许您 debug 装载程序。使用
rd.debug替换。 - inst.mediacheck
- 开始安装前确认安装介质。使用
rd.live.check替换。 - ks=floppy
- 指定软驱作为 Kickstart 文件源。现已不再支持软盘作为引导介质。
- display
- 配置远程显示。使用
inst.vnc选项替换。 - utf8
- 使用文本模式安装时添加 UTF8 支持。UTF8 支持现在自动工作。
- noipv6
- 用来禁用安装程序中的 IPv6 支持。IPv6 现已内嵌入内核,这样就不会在黑名单中添加该驱动程序,但也可以使用
ipv6.disabledracut 选项禁用 IPv6。 - upgradeany
- Red Hat Enterprise Linux 7 升级有所变化。有关详情请查看 第 1 章 如何升级、第 3.1.1 节 “Preupgrade Assistant” 和 第 3.1.2 节 “Red Hat Upgrade Tool”。
- vlanid
- 已配置 VLAN 设备。使用 dracut
vlan选项替换。
2.2.5. firstboot 实施的变化
Red Hat Enterprise Linux 7 使用 initial-setup 程序替换 firstboot,该程序与新安装程序有更好的互操作性。基本 firstboot 功能已移入安装程序和 initial-setup。
为 firstboot 编写的第三方模块仍可在 Red Hat Enterprise Linux 7 中使用。但会在将来的发行本中弃用 firstboot。因此,第三方模块的维护人员应考虑将其模块升级为使用该安装程序或初始化设置(Initial Setup)工具。
2.2.6. 引导时挂载行为的变化
Red Hat Enterprise Linux 之前的版本无论是否能挂载,
/etc/fstab 中指定的所有分区均会启动。这可能会造成系统“启动”并正常工作,同时在没有所需分区的情况下引导。
为防止出现这种情况,在 Red Hat Enterprise Linux 7 中,如果在引导式无法挂载
/etc/fstab 中定义的分区,则引导会失败。如果某个分区不应再无法挂载的情况下造成引导失败,请在 /etc/fstab 中使用新的 nofail 参数。
/dev/critical /critical xfs defaults 1 2 /dev/optional /optional xfs defaults,nofail 1 2
在这个示例中,挂载到
/optional 的设备不会造成引导失败,即使无法成功挂载它们。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.