图形/文本界面安装CentOS 6.8系统详解

1. 安装程序:anaconda

anaconda是RedHat Enterprise Linux、CentOS、Fedora等系统的安装程序,它支持两种安装方式:图形界面(GUI)方式安装和基于curses图形函数库的文本配置方式安装。这里以安装CentOS为例。

一般使用U盘、光盘或网络引导等方式来安装CentOS系统。这里以光盘为例,如果使用光盘安装CentOS,那么首先需要有一个专门用于安装CentOS操作系统的操作系统,这个操作系统上包括了Linux内核及ramdisk等文件,通过这个操作系统可实现对CentOS系统的安装。而要使用这个用于安装系统的操作系统的启动也同样需要由bootloader引导,这个bootloader同Kernel及ramdisk等文件一样由光盘所提供(如果是其他引导设备也一样)。

因此,当安装CentOS系统时,用于安装系统的操作系统的启动流程是这样的:POST –> BIOS –> bootloader –> Kernel(ramdisk(rootfs)) –> anaconda。

那么光盘上的这些文件(bootloader、Kernel、ramdisk等)究竟存放在光盘上哪里呢?我们不妨在Linux上把光盘挂载了查看:

[root@localhost ~]# mount /dev/sr0 /media/cdrom/

mount: block device /dev/sr0 is write-protected, mounting read-only

查看光盘中的内容:

[root@localhost ~]# cd /media/cdrom/
[root@localhost cdrom]# ls -1F
CentOS_BuildTag
EFI/
EULA
GPL
images/
isolinux/        //光盘的启动分区;
Packages/        //光盘上的程序包;
RELEASE-NOTES-en-US.html
repodata/        //程序包元数据所在目录;
RPM-GPG-KEY-CentOS-6
RPM-GPG-KEY-CentOS-Debug-6
RPM-GPG-KEY-CentOS-Security-6
RPM-GPG-KEY-CentOS-Testing-6
TRANS.TBL

光盘是把isolinux目录作为启动分区的,基本上bootloader、Kernel及ramdisk等文件也存在其中,我们来查看以下isolinux目录中的内容:
[root@localhost cdrom]# cd isolinux/
[root@localhost isolinux]# ls -1F
boot.cat    //存放于MBR上的bootloader,负责去加载isolinux.bin;
boot.msg
grub.conf
initrd.img    //ramdisk文件,即临时根文件系统;
isolinux.bin    //由boot.cat加载,用于引导加载内核及ramdisk文件;
isolinux.cfg    //引导程序isolinux.bin的配置文件,其中定义了各个启动菜单项;
memtest
splash.jpg    //使用图形界面方式安装时,菜单项的背景图片;
TRANS.TBL
vesamenu.c32
vmlinuz*    //内核文件;

需要注意的是,光盘或U盘的引导设备本来是没有MBR这种第一扇区的概念的,但光盘或U盘等设备可以模拟出MBR,在MBR上存放着boot.cat这个bootloader,boot.cat类似于grub的第一阶段,负责去加载isolinux.bin,而isolinux.bin则类似于grub的第二阶段程序。boot.cat和isolinux.bin就充当这里的bootloader了,它们最终要实现的任务是加载内核文件。我们知道,grub有配置文件(/boot/grub/grub.conf),在配置文件中定义了各个在grub引导过程中要显示的菜单项;对于这里的isolinux.bin也一样,它的配置文件则是isolinux.cfg,在isolinux.cfg中定义了各个启动菜单项(label),在每个label中又定义了menu、Kernel以及要对Kernel传递的参数(包括initrd等),这里的menu是每个菜单项的标题。

以下为isolinux.bin引导界面(以CentOS 6.8系统安装镜像为例):

是不是很熟悉?我们安装系统时就会看到这个界面。

这里菜单项中的每一项是如何定义的呢?我们使用less看一下isolinux.bin程序的配置文件isolinux.cfg中的内容:

不难发现,这里的每一项label中的menu后面的标题就是安装系统时显示的菜单项标题。在第一个label中还有一项”menu default”,设置该label为默认启动项。此外,每个label中还定义了内核文件以及传递给内核的参数,这里把ramdisk文件作为参数传递给内核。我们后面要提到的kickstart文件也可以通过这种方式传递给内核。

在光盘启动时,光盘中的bootload会把kernel和initrd(即ramdisk)一同装载进内存中。initrd是特制的,它含有操作系统安装过程中所需要用到的各种基本工具,在这里kernel不需要执行根切换(switchroot);借助于initrd提供的rootfs,kernel会去启动anaconda这个安装程序。

anaconda程序是安装过程中用户空间第一个启动的应用程序,类似于正常操作系统启动时的/sbin/init初始化程序;anaconda可由initrd这个rootfs提供,也可以来自其他地方,在这里anaconda起安装系统的作用。

总结一下,安装CentOS系统过程的启动启动流程是这样的:

bootloader(isolinux/boot.cat, isolinux/isolinux.bin) –> isolinux/vmlinuz(isolinux/initrd.img)运行在内存中的操作系统 –> anaconda

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/219487.html<

(0)
运维的头像运维
上一篇2025-04-14 03:28
下一篇 2025-04-14 03:29

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注