首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux启动引导程序(GRUB加载内核过程

我们知道启动引导程序(Boot Loader,也就是 GRUB)会在启动过程中加载内核,之后内核才能取代 BIOS 接管启动过程。如果没有启动引导程,那么内核不能加载。...本节,我们就来看看启动引导程序加载内核过程,当然 initramfs 这个虚拟文件系统也是要靠启动引导程序调用。...GRUB加载内核过程GRUB 作用有以下几个:加载操作系统内核;拥有一个可以让用户选择菜单,来选择到底启动哪个系统;可以调用其他启动引导程序,来实现多系统引导。...Stage 1.5:识别不同文件系统Stage 2 比较大,只能放在文件系统中(分区),但是 Stage 1 不能识别不同文件系统,所以不能直接加载 Stage 2。...Stage 2:加载GRUB配置文件Stage 2 阶段主要就是加载 GRUB 配置文件 /boot/grub/grub.conf,然后根据配置文件中定义,加载内核和虚拟文件系统。

27420

Linux系统手动更换内核

前言 一般而言,在云计算商那里“租”了一台服务器之后,一般会选择CentOS 7 系统,所以这篇文章,就以CentOS为例(似乎有一点标题党嫌疑?...至于linux内核什么时候开始原生支持,网上说法真的是五花八门,很多人文章感觉就是互相抄,连2.6.* 说法都能蹦出来(怀疑是一些采集站)。...更换/更新内核 这时候我们来更换内核吧,这里测试机器是中国香港ECS。 当前 Kernel 版本 $ uname -r ?...但是觉得这并不是很好习惯,不能对脚本产生过度依赖,除非你是买一台vps小鸡当玩具玩,否则千万不要用脚本,更不要在生产环境用这种一键脚本。...很多人连一键脚本内容都没瞟一眼,在搜索引擎找到后,直接就运行,造成重启后开不了机,也大有人在! 不是说不能用所谓一键脚本,也经常用。

5.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

【Linux】《how linux work》第五章 Linux内核启动过程

内核参数似乎应该很容易找到,但是由于内核尚未运行,因此无法遍历文件系统以找到必要文件。更糟糕是,通常用于访问磁盘内核设备驱动程序也不可用。 可以将其视为一种“先有鸡还是先有蛋”问题。...如果你是一个Ubuntu用户,只需运行install-grub命令。无论如何,请备份您旧配置,确保您安装到了正确目录等等。 现在我们将进入一些关于GRUB和引导加载程序更多技术细节。...确保构建正确目标:MBR引导和UEFI引导是不同(甚至32位和64位EFI之间也有区别)。...UEFI partition is the following: UEFI安装应该更加简单,因为你只需要将引导加载程序复制到正确位置即可。...但有一个问题:不能将旧引导加载程序代码放入 ESP,因为这些代码是为 BIOS 界面编写。 相反,你必须提供一个为 UEFI 编写引导加载器。

23610

CentOS 6下 boot分区和fstab文件丢失修复方案

此时,我们看到,系统启动到grub后卡住了,这是因为grub文件被我们删除了,而无法加载1.5阶段了。因此,这时就必须要通过挂载光盘来解决了。 ? 3....如果前面操作正确的话,应该能看见和笔者一样界面 ? 5. 我们先用fdisk -l和blkid查看一下当前环境下分区信息 ?...OK,通过上一步我们已经(重新强制)安装好了内核。现在我们来修复(重新安装)grub启动引导器。 sh-4.1# grub-install /dev/sda #后面的参数为磁盘名 ?...现在,我们通过ls命令查看系统中内核和启动引导组件状态。 ? 如图所示,boot分区下我们看到了内核文件和initramfs文件以及包括grub在内其他系统组件。...但是,似乎还没有grub.conf文件,也就是系统启动时候那个菜单配置文件。 嗯!我们再手写一个。 sh-4.1# vi /boot/grub/grub.conf 详细代码如下: ? 14.

3.1K10

gentoo install_centos7 no controller found

内核模块配置 在/etc/conf.d/modules中列出需要自动加载模块。如果有必要,附加选项也可以添加到模块中。 要查看所有可用模块,运行下面的find命令。...引导器负责在引导过程中启动内核——如果没有它,系统将不知道按下电源键后将如何进行。 介绍:以前,Gentoo Linux使用现在称为GRUB Legacy推荐引导加载程序。...-o remount,rw /sys/firmware/efi/efivars 一些主板制造商似乎只支持efi系统分区(ESP)中. efi文件/efi/boot/目录位置,GRUB安装程序可以使用...还没有结束,还有图形桌面没装呢,看着上面这个界面就感觉非常郁闷,接下来差最后一步就是安装桌面了,这个花费时间可能很漫长。...(gentoo百度贴吧大神多多) 结尾 虽然基础系统装了,但也在配置内核时候倒过多次,最后还是成功了,安装gentoo就是耗费时间长,但是这并没表示结束,还有桌面没有安装,单单看着黑白文字系统就觉得难受

93220

记一次centos 7内核升级事故 原

64) 7 (Core) 正确操作过程 升级方法 升级方法很简单,找到对应版本内核rpm包,然后直接使用yum或rpm进行安装即可,该过程中可能需要处理一些包之间依赖问题。...接下来操作目的就是通过grub更改服务器启动时加载内核版本!...意外 既然有正确操作过程,有时候往往就会一不小心犯点错误。因为是第一次做内核升级,就顺利踩坑了。精彩过程请往下看: 重启 新版内核安装完成后需要服务器重启才生效。.../p/7058000.html (正确操作过程参考文档) 看过第一篇和第二篇文档后大概了解了修复原理,即修改内核启动顺序,第一篇中重装原系统内核对于本次内核升级来说意义不大,第二篇倒是提醒一个核心...将上图中红框内信息都改成新版本 “3.10.0-957.1.3.el7.x86_64” ,然后Ctrl-x,进入系统加载界面,瞬间内心如释重负。

2.4K50

关于deepin QQ最近无法加载头像和显示图片完美解决方案

十几天前安装了Deepin系统,各方面体验都很不错,唯独QQ无法加载头像和图片 百度找解决方案: 反正只要是能把IPv6禁了就完事了 方法1 这个方案需要修改/etc/sysctl.conf文件...conf.all.disable_ipv6 =1 net.ipv6.conf.default.disable_ipv6 =1 net.ipv6.conf.lo.disable_ipv6 =1 EOF # 重新加载配置...sudo sysctl -p # 查看ipv6是否还存在 ipconfig #在主网卡看不到inet6表示修改成功 不过此方法有个问题 就是只能第一次有效重启后还是一样无法加载头像,读取图片 然后不知不觉几天过去了...,思来想去可能是系统重启后没有正确加载sysctl配置文件 于是这里有两种解决方案 手动加载 使用grub内核参数启动 在这里选择第二种具体如下 方法2 编辑vim /etc/default/grub...,在GRUB_CMDLINE_LINUX后面的引号内句首加上ipv6.disable=1 注意这里如果这个配置项不为空的话,不同配置需要空格隔开.修改后如下 # Written by com.deepin.daemon.Grub2

88920

【深度解析】Linux系统启动流程

-308.el5,而这里(hd0,0)指的是第1个硬盘第1个分区,GRUB在识别硬盘时候都是识别为hd开头 [x] 总结: GRUB不是通过文件系统来找内核文件,因为这时候内核还没有启动所以也不存在什么文件系统...启动是分阶段: [x] 第1个阶段 BIOS加载MBR里面的GRUB(属于第1阶段文件),由于只有GRUB只占用446字节所以不能实现太多功能,所以就有此阶段里面的文件来加载第1.5阶段文件(/...boot/grub文件) [x] 第1.5个阶段 这个阶段里面的就是加载识别文件系统程序,来识别文件系统,不加载就无法识别文件系统,进而就找不到boot目录,由于GRUB是无法识别LVM,所以你不能把.../boot分区设置为LVM,所以必须要把/boot单独分区 [x] 第2个阶段 这里面才是正在开始寻找内核过程,然后是启动内核 第3步 3.在上一步中,GRUB成功找到内核文件,并把内核加载到内存,...那可以②③对调,先挂载根文件系统,然后再加载驱动,那此时又有问题了,加载驱动程序又如何驱动着硬盘工作呢? 这个陷入了是先有蛋还是有先鸡问题了,这该如何解决?

2.2K60

CentOS7启动及排错

CentOS7引导顺序 UEFi或BIOS初始化,运行POST开机自检 选择启动设备 引导装载程序, centos7是grub2 加载装载程序配置文件: /etc/grub.d/ /etc/default.../grub /boot/grub2/grub.cfg 加载initramfs驱动模块加载内核选项 内核初始化,centos7使用systemd代替init 执行initrd.target所有单元...在/etc/fstab不正确挂载选项 提示进入emergency shell 破解CentOS7root口令方法一 启动时任意键暂停启动 按e键进入编辑模式 将光标移动linux16开始行,添加内核参数.../grub GRUB_DEFAULT=saved saved改为0 grub2-mkconfig -o /boot/grub2/grub.crg 重新生成 删除没用内核 /boot/ 和 /...lib/modules/ 里面内核版本东西 3.10.0.xxxx grub2-mkconfig -o /boot/grub2/grub.crg 重新生成 修复GRUB2 GRUB”the Grand

1.6K20

【玩转腾讯云】Linux系统手动更换内核

更换/更新内核 这时候我们来更换内核吧,这里是在测试机器上做。...install kernel-ml 更改grub配置 在安装完新 Kernrl 之后,系统是不会帮你切换到新内核,重启也不行,需要我们自己设置,将新内核设置为默认启动选项。...$ echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf 从配置文件“/etc/sysctl.conf”加载内核参数设置...但是觉得这并不是很好习惯,不能对脚本产生过度依赖,除非你是买一台vps小鸡当玩具玩,否则千万不要用脚本,更不要在生产环境用这种一键脚本。...很多人连一键脚本内容都没瞟一眼,在搜索引擎找到后,直接就运行,造成重启后开不了机,也大有人在! 不是说不能用所谓一键脚本,也经常用。

14.8K73

让安全启动更加安全

GRUB2 受密码保护,只允许单个entry启动,不允许添加其他参数。 GRUB2 仅加载经过签名内核。...此外,GRUB 还应设置密码。随后,GRUB 将调用签名经过验证内核和 initramfs/initrd。 这个信任链似乎是合理,它可以防止干预启动顺序,并确保分区未加密部分没有被替换。...攻击者无法加载任何不同 GRUB,也无法更改配置、initramfs/initrd、内核。 但上述过程薄弱环节在于boot loader。...在 GRUB 被调用时,攻击者可能会尝试注入内核驱动程序或恶意代码。 为了缓解这一问题,Ubuntu强制使用 shim,这是一种预加载器pre-loader机制。...PCR 包含启动过程中所有内容hash值,如固件设置、启动顺序、启动加载程序内容(如 shim、grub)、内核和 initrd。

27610

搞它!!!Linux——引导、排障及修复

引导过程总览 开机自检:1、加电,运行硬件自检 2、加载驱动 MBR引导:引导程序,加载硬盘(如是双系统,系统一定要放在不同硬盘中) GRUB菜单:加载系统(引导系统必要菜单)、安全模式,急救模式...加载内核(kernel):(系统心脏)确定好系统后加载系统内核 Init进程初始化:全部还原默认设置后系统会进行加载,然后进程启动(2种): 自动:系统必要进程 启动延迟启动:开机自启动程序...(第三方外在组件) 1、 Init进程 由Linux内核加载运行 /sbin/init程序 是系统中第一个进程 PID进程号永远为1 ?...二、排除启动类故障 1、修复MBR 扇区故障 故障原因: 病毒、木马等造成破坏 不正确分区操作、磁盘读写误操作 故障现象: 找不到引导程序,启动终端 无法加载操作系统,开机后黑屏、 解决思路: 应提前做好备份文件...一、使用系统急救模式进入命令字符界面 二、加载镜像中系统进入bash环境 chroot /mnt/sysimage //加载系统镜像 三、重新构建grub菜单系统 grub2

7.5K30

详解CentOS 7 引导过程与服务管理

一、引导过程   Linux操作系统引导过程:开机自检→MBR引导→GRUB菜单→加载Linux内核与内存文件系统→加载硬盘驱动以及初始化进程。...MBR与我们正常开机息息相关,所以为了以备不时之需我们还需是对MBR提前备份。 3)、GRUB菜单   对于Linux系统来说。GRUB算是使用最广泛多系统引导器程序了。...系统控制权传递到GRUB之后,会对我们需要系统进行选择,然后加载相关系统内核文件。...4)、加载Linux内核与内存文件系统   系统控制权此时到了内核,程序引导器会从本地硬盘中加载内核以及内存文件系统。...,可以向systemd进程发送正确命令由systemd自身来完成相关操作。

73540

GRUB多操作系统启动程序介绍与设置使用

grub rescue> normal # 如果 linux 模块没加载采用命令会进行添加linux模块 grub> insmod linux # 如果这个模块已经加载你可以跟之前一样,把引导加载程序指向内核镜像和虚拟文件系统文件...此时可以通过输入 GRUB 内置命令来修复 GRUB 引导。 由于boot.img是写在 MBR 中,如果不能执行直接跟 GRUB 引导方式说再见了,所以执行boot.img一般没问题。...不能找到 Grub 2 模块或者找不到任何引导文件 (3) 如果你屏幕只显示 ‘GRUB’ 一词,表明 bootloader 找不到通常位于主引导记录里最基本信息。...正确就位,退出 chroot ,卸载所有分区重启到 Grub 2 菜单。...: #在/mnt中需要给 SSD /创建几个空目录, Linux 内核启动后由内核来挂载并存放信息不能从运行中 PC Ubuntu 复制过去,但是需要建立空目录 # 不然内核启动后会报类似错误

5.4K20

第十六章.Linux系统管理-开机启动流程

一旦BIOS找到引导加载程序(GRUB2)并将其加载到(ROM)内存或硬盘驱动器中,它就会控制引导过程。只是MBR(主引导记录)加载并执行GRUB2引导加载程序。...不建议编辑GRUB2配置文件。 引导加载程序(rhel 7grub2)启动rhel7内核和初始RAM磁盘(initrd)。...GRUB 2安装在服务器硬盘引导扇区中,配置为加载Linux内核和initramfs,initrd是一个初始根文件系统,将在Linux系统上实际根文件系统之前安装。...4.kernel内核引导 Linux内核是操作系统核心,它是系统上第一个加载程序。...当系统启动时,内核从initrd.img加载所有必要内核模块和驱动器,以加载Linux7中系统第一个进程systemd,在6里面,init是爸爸,在7里面换了个爸爸,那就是systemd 下面的命令将帮助您找到

2.3K20

玩转 AIGC:打造本地大模型地基,PVE 配置显卡直通

,并且防止Linux将不能直通设备直通initcall_blacklist=sysfb_init 替代老版本中 video=efifb:off,vesafb:off 参考文档pcie_acs_override...参考文档更新 GRUBupdate-grub# 正确结果如下root@pve9:~# update-grubGenerating grub configuration file ...Found linux...pveFound initrd image: /boot/initrd.img-6.2.16-3-pveFound memtest86+x64 image: /boot/memtest86+x64.bindone加载对应内核模块...to support x2apic and Intr-remapping.[ 0.177198] DMAR-IR: Enabled IRQ remapping in x2apic mode# 但是环境比较特殊...欢迎加入 「知识星球|运维有术」 ,获取更多 KubeSphere、Kubernetes、云原生运维、自动化运维、AI 大模型等实战技能。未来运维生涯始终有坐在你副驾。

18500

Linux 系统故障排查和修复技巧

来源:Linux爱好者 ID:LinuxHub 发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,在这里写了几个应用单用户模式、GRUB命令操作、Linux救援模式故障修复案例帮助大家了解此类问题解决...引导系统: “root”段指定了/boot分区所在位置: “kernel”段指定了内核文件所在位置,内核加载时权限属性为只读(“ro”)以及指定根分区所在位置(root=LABEL=/); “initrd...所以GRUB在引导时顺序为首先加载/boot分区,然后依次载入内核与镜像文件。...grub.conf.bak 3、确认错误后,先通过命令行方式完成GRUB引导,进入系统后再行修复grub.conf文件错误: 1)指定/boot分区root (hd0,0) 2)指定内核加载kernel...(三)Linux救援模式应用 当系统连单用户模式都无法进入时或出现GRUB命令行也不能解决引导问题,我们就需要使用Linux救援模式来进行故障排除了。

5.3K00

《笨开发学习操作系统》1启动

第二阶段 然后加载硬盘第一个扇区 512 字节,也就是 MBR ,然后运行启动管理器 BootLoader ,也就是我们说 GRUB,此时控制权交给了 GRUB 。...第三阶段 最终我们操作系统从 GRUB 手中接过了权力,内核加载入内存,开始运行我们操作系统。...其实一开始也不明白为什么需要有 GRUB 这个启动器,总感觉它好像没干啥事,就不能直接跳过这个,直接让 BIOS 直接启动内核吗?...于是在翻找了一些资料后发现:GRUB 自有它用处,参考链接放在最后。...其实 GRUB 它是一个很重要引导者: 引导者可以让你去引导不同内核进行启动 引导者可以根据不同内核传递不同启动参数 说再白话一点,当你有多个操作系统时候,GRUB 可以让你选择启动 Windows

53310

大家好,给大家介绍一下,这是Linux故障排查思路

发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,在这里写了几个应用单用户模式、GRUB命令操作、Linux救援模式故障修复案例帮助大家了解此类问题解决。...引导系统: “root”段指定了/boot分区所在位置: “kernel”段指定了内核文件所在位置,内核加载时权限属性为只读(“ro”)以及指定根分区所在位置(root=LABEL=/); “initrd...所以GRUB在引导时顺序为首先加载/boot分区,然后依次载入内核与镜像文件。...boot/grub/grub.conf.bak 3、确认错误后,先通过命令行方式完成GRUB引导,进入系统后再行修复grub.conf文件错误: 1)指定/boot分区root (hd0,0) 2)指定内核加载...(三)Linux救援模式应用 当系统连单用户模式都无法进入时或出现GRUB命令行也不能解决引导问题,我们就需要使用Linux救援模式来进行故障排除了。

3.6K30

图解CentOS系统启动流程

当我们按下开机键后,系统背后秘密我们是否了解呢?这里,带大家探索一下linux系统开机背后秘密。...TO/INITRAMFS_FILE: 设定为选定内核提供额外文件ramdisk; boot: 引导启动选定内核; 3.3 配置文件:/boot/grub/grub.conf 配置项: default...(hd#,#):grub查找stage2及kernel文件所在设备分区;为grub“根”; kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动内核 initrd.../PATH/TO/INITRAMFS_FILE: 内核匹配ramfs文件; password [--md5] STRING: 启动选定内核或操作系统时进行认证 4.加载内核阶段 内核会自身初始化:...探测可识别到所有硬件设备; 加载硬件驱动程序;(有可能会借助于ramdisk加载驱动) 以只读方式挂载根文件系统; 运行用户空间第一个应用程序:/sbin/init 5.init初始化阶段 内核加载完毕

64800
领券