设为首页 收藏本站
查看: 284|回复: 0

[经验分享] CentOS 6.x的安装过程详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-4 08:28:09 | 显示全部楼层 |阅读模式
安装过程这个很多人觉得能安装即可,没必要去理解是怎么安装的,但是本人之前由于吃过这个亏(面试的时候),所以还是写下来,万一大家碰到了,可以有个参考。
  我们首先看一下CentOS安装光盘的目录:
wKiom1ZfqQ6Ax-8uAAAuz-B28UQ631.jpg
我们解释一下这些目录的作用(文件没有什么作用,都是一些KEY文件,GPL信息等等)

EFI    #关于EFI引导使用的一些文件
images  #安装镜像install.img和一些关于pxe启动的文件
isolinux #引导文件的目录,包括vmlinuz,initrd.img,isolinux.bin等等
Packages #常用的rpm包
repodata #yum的索引源,还有一些说明文件
我们这里主要关心images和isolinux目录,EFI目录仅仅是作于EFI引导,所以没什么好深究的,其他两目录也都是附加的。
  • images目录的内容:

wKioL1ZfqryS0ChEAAApG2tOJ3c547.jpg














pxeboot目录:
wKiom1ZfqqTRDk5BAAAepfSJCTA481.jpg

install.img文件,安装程序所在的镜像,系统安装就是靠这个镜像中的anaconda程序安装的。
vmlinuz是压缩内核,引导程序启动后第一件事就是将内核启动;
initrd.img则是为内核提供了一些额外的驱动程序和一个模拟的文件系统环境。
efi的还是关于efi引导的,忽略即可。
2.isolinux目录:
wKiom1ZfrESjtzmxAAA6YtT8HvI743.jpg
这个目录的文件比较多,我们只需要关心下面的几个即可:
isolinux.bin  #引导程序(可以理解为bootloader),BIOS加电自检后就会启动这个程序
isolinux.cfg  #引导程序的配置文件
vmlinuz  #压缩的内核,isolinux.bin启动后就会启动vmlinuz和initrd.img
initrd.img #提供驱动程序以及为内核提供基本的系统环境,里面就是一个小文件系统,其中有一个init程序供内核调用,用来启动anaconda
grub.conf  #提供grub的样例配置文件,安装的时候没有启动grub所以用不到


大家发现了,pxeboot和isolinux目录中都包含有vmlinuz和initrd.img,这两个目录中的文件其实是一模一样的。
抛去重复的,我们真正需要关心的其实只有下面这几个:

①isolinux.bin
②isolinux.cfg
③vmlinuz
④initrd.img
⑤install.img
大致的安装流程是这样的:
  插入光盘并开机后,计算机首先会自检(POST),自检没有问题后,就会启动BIOS,BIOS根据启动顺序找到光盘并查找BOOTLoader,此时的BOOTLoader就是isolinux.bin,isolinux.bin根据isolinux.cfg提供一个菜单界面(启动vesamenu.c32这个程序)让用户选择操作,看一下isolinux.cfg文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
default vesamenu.c32  #提供菜单程序功能,如果不需要交互模式的话可以略过
#prompt 1 #是否进入交互模式,1是,0否
timeout 600  #超时时长

display boot.msg #显示boot.msg文件,没啥用,可以忽略
menu background splash.jpg   #这个显示一个背景文件,isolinux目录中可以看见splash.jpg
menu title Welcome to CentOS 6.5!  #打出一个Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000  这些都是颜色配置

label linux  #这个是启动标签
  menu label ^Install or upgrade an existing system  #安装或升级系统
  menu default    #默认启动标签
  kernel vmlinuz  #启动内核
  append initrd=initrd.img  #启动initrd
label vesa
  menu label Install system with ^basic video driver  #安装基本的设备
  kernel vmlinuz  #启动内核
  append initrd=initrd.img xdriver=vesa nomodeset  #启动initrd并且安装基本设备参数
label rescue  
  menu label ^Rescue installed system   #救援模式
  kernel vmlinuz
  append initrd=initrd.img rescue  #救援模式启动
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -



大家可以将上面的menu label行对比一下下面的安装图以及splash.jpg图:
安装图:
wKiom1ZftnHiV8zPAACfYokyQmU699.jpg
背景图(splash.jpg):

wKiom1ZftyTDBWvfAAJOwJzOuD0101.jpg

我们可以看出来,其实isolinux.bin读取isolinux.cfg文件并启动vesamenu.c32,将背景图加载,然后把提供选项菜单。用户选择安装菜单后,isolinux根据选择的信息(我们这里是第一项):
1
2
3
4
5
label linux  #是启动标签
  menu label ^Install or upgrade an existing system  #安装或升级系统
  menu default    #默认启动标签
  kernel vmlinuz    #启动内核
  append initrd=initrd.img  #启动initrd



启动内核和initrd(initrd可以追加参数),并告诉内核要执行安装操作。initrd的作用就是虚拟成为一个基本的文件系统,里面含有一些命令和驱动程序等等,内核根据initrd中的程序查找install.img,install.img启动anaconda程序,与用户交互完成安装操作系统(anaconda可以根据配置文件自动安装系统,需要提供kickstart文件)。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-146999-1-1.html 上篇帖子: linux查看硬件信息命令和教程详解 下篇帖子: RHEL5 telnet 配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表