IT销魂枪--闲聊Linux体系启动进程
媒介 沙子龙的镳局已改成堆栈。东方的大梦没行动不醒了。---- 老舍《销魂枪》 云计较大潮到来了,我把IT技能像五虎销魂枪一样收起来了。我不会将它压到箱底,无意我也会练练聊聊,眷念一下谁人搞技能的黄金期间。 本文聊个很有嚼头的技能题目,Linux体系的启动进程,当我们不消本身安装体系往后,损失了这么多爱好。 正文 主板加电和硬件自检,就是开机第一屏启动界面。 CPU和内存插得有题目处事器会滴滴乱叫,而网卡和硬盘插不插都无所谓,由于这些外设都不属于经典的计较机体系。 早期小内存处事器一样平常有内存检测的成果,但256G内存的处事器启动的速率也太慢了,重启一分钟能启动的处事还能规复,重启三分钟也许聚集性状就变了,以是我们常常随手就把他关掉了。 2. 读取主板引导设置,此刻终于要从外部装备读取数据了。 主板多半是BIOS引导,也有是UEFI引导,但从处事器用户看区别也不大。 主板可选从USB/SATA/NIC这几类接口上获取引导数据,并且可以列队式加载,第一个加载不乐成绩实行第二个。体系安装镜像都有个防备误操纵的倒计时,而收集引导一样平常是排在末位,硬盘引导就是通用的体系启动的方法。 爱折腾桌面电脑的伴侣从这一步开始就玩双体系/WINPE/U盘版Ubuntu/无盘事变站了,还甜头事器维护职员较量纯真专一。 3. 读取MBR(可略过)。 假如是BIOS启动,做为一个老骨董它只能会去读MBR,MBR去读取GRUB;而UEFI略过MBR,直接读取GRUB。 BIOS将启动权限交给MBR的446字节,而446字节连Linux启动界面的logo都装不下,MBR壹贝偾个搬运工,会将启动权限交给GRUB。 碰着过屡次晦气事往后,我习习用dd备份每台处事器的前512字节,但自从我做完整份往后,就再也没晦气过。 ##欠盛意思没图 4. GRUB引导启动vmlinuz内核。 GRUB2假如细说有stage1、stage1.5、stage2多个步调,我们可以简朴以为前面两步是为了苟到stage2加载为止。 我们用GRUB来选定要加载的内核,并向其转达大量启动参数,这样就可以在多OS、多Kernel、多runlevel之间往返切换。网上的GRUB调试教程都齐集在这一步,我们还可以直接传参以单用户模式启动,直接无暗码登岸处事器。 有些人风俗给/boot一个128M的小分区,也许是先生的先生说过这样较量“安详”。那是在更早的版本GRUB措施读不了GB级磁盘分区,没步伐加载vmlinuz内核,此刻已经只是一个迷信罢了。 5. 内核启动加载驱动,但这还没触及任何营业。 差异硬件统一个版本的vmlinuz内核hash值是沟通的,由于驱动信息放在initrd*.img里。Initrd*.img是一个精简但带了全部驱动的linux镜像,一样平常体系安装完之后自动天生,也可以过后手动天生。 曾经某偏门软件保举用集成镜像安装,装完了就是起不来,我把同内核版本、同硬件设置的init*.img替代往后体系就正常启动。 Kernel加载了全部驱动后就会卸载initrd*.img,早期linux版本在体系启动进程中还能看到许多“umount filesystem”的提醒,那不是卸载正式文件体系,而是卸载了initrd*.img这个迷你体系, ##欠盛意思没图 6. Init历程启动,处事正式启动。 从看到“Welcome use CentOS”的彩色接待笔墨开始,init处事已经启动了。 在这之前的启动进程也就读取BIOS/MBR/GRUB和/boot分区,此刻终于开始读/etc目次的设置文件了。 起首被读取到的是/etc/fstab,各个磁盘都挂载就位。这个文件注释很简朴但水很深,我们该用标签照旧UUID来标识磁盘,文件体系自检成果要不要开,这都可以聊好几个小时。 看看各处事的启动优先级也是一个考究多多的进程,iptables会比network先启动这类依存相关很好领略;但我也碰着过云平台的DHCP获取太慢,而云主机操纵体系启动快、Network还没从DHCP哪里获取到IP地点,然后Mysqld等必要监听端口的处事启动失败。 跋文 以上内容只能算精简科普版的Linux体系启动进程,正式版的启动进程可以写十万字,有乐趣的伴侣可以本身查维基百科,或拿我说的要害字去百度搜刮。 曾经我把这些手艺当做资历,但此刻各人都上云了,它们就只是闲聊的谈资了。但客户上云就能少招一个研究这事的工程师,上云确实也很故意义啊。 夜静人稀,沙子龙关好了小门,一气把六十四枪刺下来;尔后,拄着枪,望着天上的群星,想起昔时在野店荒林的威风。叹一口吻,用手指逐步摸着凉滑的枪身,又微微一笑,“不传!不传!” ---- 老舍《销魂枪》 【编辑保举】
点赞 0 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |