开机启动及grub基础知识和光盘镜像制作(代码片段)

author author     2023-01-08     292

关键词:

1、简述linux操作系统启动流程

POST-->BIOS-->bootloader(MBR)-->kernel(ramdisk)-->rootfs(switch root)-->/sbin/init
加电自检
启动bios
读取mbr引导
加载内核(ramdisk)
根切换
执行/sbin/init文件
执行/etc/rc.d/目录下所有S开头的服务

2、简述grub启动引导程序配置及命令行接口详解

stage1:安装在mbr
stage1_5:存放在mbr之后的扇区
stage2:存放在基本磁盘分区(/boot/grub)

 [[email protected] grub]# ls -l /boot/grub/grub.conf 
-rw-------. 1 root root 745 9月  27 03:02 /boot/grub/grub.conf

[[email protected] grub]# cat grub.conf

#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS 6 (2.6.32-754.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=810dbdfe-b59d-4dff-8534-0b64dd6abd67 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=128M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-754.el6.x86_64.img

    default=0:设置默认启动的菜单。title编号从0开始
    timeout=5:启动中出现菜单项,等待的时长(秒)
    splashimage=(hd0,0)/grub/splash.xpm.gz:菜单背景图片
    title CentOS 6 (2.6.32-754.el6.x86_64) :菜单的标题
    root (hd0,0):grub所在的分区(hd0表示一个硬盘,后面的那个0表示第一个分组)
    kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=810dbdfe-b59d-4dff-8534-0b64dd6abd67 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=128M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet :指定驱动的内核和参数
    initrd /initramfs-2.6.32-754.el6.x86_64.img:指定initrd文件。

技术分享图片

按c进入命令行模式,按e编辑 内核参数。

grub命令行模式启动系统

grub> root (hd0,0)
grub>kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=810dbdfe-b59d-4dff-8534-0b64dd6abd67
grub>initrd /initramfs-2.6.32-754.el6.x86_64.img
grub>boot

3、实现kickstart文件制作与光盘镜像制作

(1)准备工作目录
[[email protected] ~]# mkdir myboot

(2)挂载光盘
[[email protected] ~]# mount -r /dev/cdrom /media/cdrom/
(3)复制isolinux到myboot目录
[[email protected] ~]# cp -r /media/cdrom/isolinux/ /root/myboot/
(4)编辑ks.conf文件
安装system-config-kickstart
[[email protected] ~]# yum install  system-config-kickstart
[[email protected] ~]# system-config-kickstart
注意:使用xshell的,需要设置![](http://i2.51cto.com/images/blog/201810/17/19ad4b1bc2b2a9a6f04b2c3086fc4406.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
可以打开root目录下的anaconda-ks.cfg文件
编辑完成,保存至/root/myboot/目录下

创建光盘镜像:
[[email protected] ~]#  mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o  /root/boot.iso   myboot/

centos开机grub报错,进入救援模式修复根文件系统(代码片段)

1.CentOS开机报错从弹出的错误信息中可以看出是与grub相关的错误,导致系统引导异常,无法正常的进入操作系统。这类情况经常会遇到但很多时候都不知道是什么原因导致的,不过解决办法倒是有,具体见下文。2... 查看详情

怎样修复grub开机引导

...面状态说明的grub.conf已经配置好了。参考技术A  电脑开机出现grub一般常出现于安装有一键还原软件的WIN7操作系统中,表示主引导文件丢失或损坏。解决办法有修复主引导或重装系统。  一、修复主引导:  方法一:使用... 查看详情

docker镜像制作常用官方基础系统镜像的选择(代码片段)

...考虑的事情Docker镜像是只读的docker容器模板,封装着启动docker容器所需的文件系统结构和系统内部环境Docker镜像是启动docker容器的基础,运行容器必须在相应的docker基础至上基于同一个 查看详情

centos6系统无法开机故障修复

本文针对grub故障及服务故障导致的开机无法启动的情况进行模拟,并给出修复详细步骤。一、grub各配置文件问题引起的开机故障   可能出现此故障场景:当前硬盘没有grub,每次启动都是通过有grub的光盘或U盘启动的... 查看详情

centos6系统无法开机故障修复

本文针对grub故障及服务故障导致的开机无法启动的情况进行模拟,并给出修复详细步骤。一、grub各配置文件问题引起的开机故障   可能出现此故障场景:当前硬盘没有grub,每次启动都是通过有grub的光盘或U盘启动的... 查看详情

grub启动流程和配置(代码片段)

...,如果把这里面的内容损坏,那么系统会认为当前磁盘没有启动引导功能,会尝试从光盘或者网络启动系统grub stage 1.5    存放识别/boot分区的文件系统的驱动,一般占用的空间是在MBR扇区后面的27个扇区   查看详情

ubuntu系统的开机全流程介绍及grub美化(代码片段)

目录前言Ubuntu开机经历的步骤BIOSBootLoaderKernel配置Grub的个性化主题/usr/share/grub/default/grub/etc/default/grub/etc/grub.d/boot/grub/grub.cfg下载主题更详细的解释参考来源还能在这些地方找到我前言之前一直对grub、bootloader等概念不甚了解,... 查看详情

docker学习笔记——镜像制作(dockerfile)(代码片段)

...复制与用时分配2)Overlay及Overlay27.docker存储状态1)运行前2)启动后3)下载镜像后4)运行容器后Docker容 查看详情

docker镜像制作和管理(代码片段)

...制作镜像步骤1、下载官方系统镜像2、基于官方基础镜像启动容器,并进入容器3、在容器中进行配置操作  3.1、安装基础工具  3.2、配置运行环境  3.3、安装并配置服务  3.4、存放业务程序代码4、dockercommit提交生成新... 查看详情

centos7删除开机动画及修改启动菜单

...到效果了编辑vi/boot/grub2/grub.cfg文件,修改timeout属性,如开机等待5秒修改为2秒注意:这个文件是由模板/etc/grub.d和配置文件/etc/default/grub通过命令grub2-mkconfig生成的编辑vi/boot/grub2/grub.cfg文件,删除menuentry开头的段落,menuentry后面的... 查看详情

docker镜像管理基础与基于容器的镜像制作示例(代码片段)

一、Docker镜像  Docker镜像是启动Docker容器的一个非常重要的组件。Docker各组件之间的关系如图:  Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建并启动容器。并且Docker镜像是采用分层构建,联合... 查看详情

制作django项目的docker镜像(代码片段)

基础镜像基础镜像:镜像中运行的项目或者启动的一些服务,都要在一个基础镜像之上才能运行这些服务,比如一个django项目或者mysql数据库等,都要在Linux操作系统之上来运行,所以打包我们自己的项目时,必须要有个基础镜... 查看详情

java程序制作docker镜像推荐方案(代码片段)

...设定容器的正确的时间和时区容器中采用非root用户权限启动应用程序DockerFile样例COPY与ADD区别举个栗子背景随着我们分布式的观念在各个领域使用,docker容器也逐渐的背大家所认可和使用,那么我们想制作容器就得有镜... 查看详情

dockerdockerfile编辑和镜像制作(代码片段)

...2、开始创建镜像3、登陆验证一、镜像分层Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器采用分层构建机制,最底层为bootfs,其之为rootfsbo 查看详情

dockerdockerfile编辑和镜像制作(代码片段)

...2、开始创建镜像3、登陆验证一、镜像分层Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器采用分层构建机制,最底层为bootfs,其之为rootfsbo 查看详情

java应用程序镜像制作及在kubernetes上发布(代码片段)

应用程序镜像制作准备好应用程序[[email protected]_8_24_centostestapp]#lsDockerfiletestapp.tar.gz编写Dockerfile[[email protected]_8_24_centostestapp]#catDockerfile#基础镜像FROMcore-harbor.minminmsn.com/public/jre- 查看详情

ultraiso制作u盘启动盘(代码片段)

...将硬盘上的文件制作成ISO文件;同时还可以处理ISO文件的启动信息,从而制作可引导光盘。使用UltraISO,你可以随心所欲地制作/编辑/转换光盘映像文件。1下载免费下载地址:https://cn.ultraiso.n 查看详情

docker镜像管理基础(代码片段)

...序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统 查看详情