当前位置: 首页 > article >正文

电脑启动需要经历哪些过程?

传统BIOS启动流程

在这里插入图片描述

1. BIOS

BIOS 启动,BIOS程序是烧进主板自带的ROM里的,所以无硬盘也可以启动。BIOS先进行自检,检查内存、显卡、磁盘等关键设备是否存在功能异常,会有蜂鸣器汇报错误,无错误自检飞快结束。

硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序。需要有一个外部储存设备的排序,排在前面的设备就是优先转交控制权的设备。这种排序叫做启动顺序。可以在BIOS中设置。

2. 主引导

BIOS按照"启动顺序"读取第一位的储存设备。判断有没有MBR,如果有就读取。MBR:存储设备中的第一个扇区,磁盘最前面的512Byte,称为“主引导扇区”(Master boot record,缩写为MBR)

MBR很小,只有512字节,存放程序很小,其主要作用是:告诉计算机在哪一个位置去找操作系统。

MBR由三个部分组成:调用操作系统的机器码、硬盘分区表(Partition table)、主引导记录签名(0x55和0xAA)(用于判断这段程序是不是主引导,不是的话就按启动顺序往下继续找)

3. 硬盘启动

这时,计算机的控制权就要转交给硬盘的某个分区了。分成三种情况:情况A:卷引导记录、情况B:扩展分区和逻辑分区、情况C:启动管理器。

Linux环境中,目前最流行的启动管理器是Grub。Windows是Windows Boot Manager。

4. 操作系统

控制权转交给操作系统后,操作系统的内核首先被载入内存。最后完成所有启动流程。

UEFI启动

UEFI:UEFI 是 BIOS 的升级版本,是一种更现代的固件接口,逐渐取代传统 BIOS。现在的华硕主板的BIOS界面都很好看,还能支持鼠标操作,这就是UEFI了。

UEFI 使用 GPT 分区标准,取代了旧的 MBR 标准。这让 UEFI 可以从超过 2TB 的大容量硬盘启动,而且理论上也没有磁盘大小限制。它支持 32 位和 64 位系统启动,并提供了安全启动 (Secure Boot) 等功能,不仅启动速度更快,还能检测恶意软件,确保启动过程未被篡改。

UEFI与BIOS的主要区别:

区别BIOSUEFI
分区表使用主引导记录 (MBR)使用全局唯一标识分区表 (GPT)
数据存储存储在主板的 BIOS 芯片上存储在存储设备的 EFI 文件中
运行模式只能在 16 位模式下工作可以在 64 位模式下运行,可寻址内存更大
用户界面仅支持键盘导航的文本界面提供更直观的图形界面,支持鼠标操作
网络支持无网络功能有些具备网络功能,可在线更新固件,远程排除故障

UEFI 最终也是需要启动一个引导程序(如 GRUB 或 Windows Boot Manager)来完成操作系统的启动过程。

在启动了GRUB之后,是可以编辑启动配置项的。比如可以禁用一些驱动(例如nouvea)来解决bug。

UEFI是怎么处理双系统的

在UEFI系统的硬盘上,有一个专门的分区叫做 EFI 系统分区(ESP),这里存放着每个操作系统的引导程序,比如 Windows 的 bootmgfw.efi 和 Linux 的 grubx64.efi

如果你的电脑装了双系统,比如 Windows 和 Linux,当你安装操作系统时,它们都会在 ESP 中添加自己的引导程序,同时告诉 UEFI 固件这个启动文件的位置。Windows 会创建自己的引导程序 bootmgfw.efi,默认直接启动 Windows。而 Linux 安装时,通常会使用 GRUB 作为引导程序,并把 GRUB 设置为默认的启动项。GRUB 很强大,它不仅能加载 Linux 系统,还能自动检测到 Windows 的存在,并在启动时提供一个菜单,让你选择启动 Windows 或 Linux。

如果安装顺序是先装 Windows 再装 Linux,Linux 的 GRUB 通常会接管启动流程。这意味着当你开机时,电脑会优先加载 GRUB,然后你可以从菜单里选择想进入的操作系统。但如果 Windows 后来更新系统,它可能会覆盖 GRUB,把自己设为默认启动项。这时你会发现电脑直接进入 Windows,而看不到 GRUB 的菜单。这种情况下,可以通过调整 UEFI 的启动顺序,或者用 Linux 的工具(比如 sudo update-grub)重新修复启动菜单。

如果先装 Linux 再装 Windows,大概率会把 Linux 的引导程序(通常是 GRUB)覆盖掉,导致开机时直接进入 Windows 系统,而无法看到 Linux 的启动菜单。这是因为 Windows 安装程序在处理引导设置时,不会主动识别或保留其他操作系统的引导程序。Windows 安装完成后,会覆盖原来的引导加载程序(GRUB),导致无法直接启动 Ubuntu。这时需要修复 GRUB 来恢复双系统启动选项。可以使用 Ubuntu 安装介质(U盘)启动计算机,进入 Ubuntu 的 “试用” 模式(在安装界面选择 “试用 Ubuntu” 而不是 “安装 Ubuntu”)。然后打开终端,使用命令来重新安装和修复 GRUB。例如,在终端中输入 “sudo mount /dev/sdaX/mnt”(其中 sdaX 是 Ubuntu 系统分区的设备名称,需要根据实际情况替换),将 Ubuntu 分区挂载到 /mnt 目录下,接着输入 “sudo grub - install – root - directory=/mnt/dev/sda”(假设硬盘设备名称是 sda)来重新安装 GRUB,这样就可以恢复双系统启动选项,在启动时可以选择进入 Ubuntu 或者 Windows。


http://www.kler.cn/a/416624.html

相关文章:

  • 『 Linux 』数据链路层 - ARP协议及数据链路层周边问题
  • 实时数据开发|Flink如何实现不同数据源输入--DataSource模块
  • 创建HTTPS网站
  • SpringBoot开发——详细讲解 Spring Boot 项目中的 POM 配置
  • 【Java基础入门篇】前言
  • ffmpeg.js视频播放(转换)
  • 如何看linux系统内核是aarch64 ,还是64-bit
  • 【AI】学习路径
  • 2023信息安全管理与评估-linux应急响应-1
  • C++软件设计模式之组合模式概述
  • HTML 中 a 标签跳转问题总结:从框架页面跳转的困境与突破
  • 2411mfc,修改按钮颜色
  • BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比
  • SpringAi整合免费大模型(NVIDIA)
  • 电子应用设计方案-31:智能AI音响系统方案设计
  • Python3 爬虫 Scrapy的使用
  • 力扣--LCR 124. 推理二叉树
  • aws(学习笔记第十五课) 如何从灾难中恢复(recover)
  • Ubuntu 包管理
  • Ubuntu Server 22.04.5 从零到一:详尽安装部署指南
  • 【JS】面试八股文
  • 【自学笔记】流形学习
  • 汽车控制软件下载移动管家手机控车一键启动app
  • DIGIT视触觉传感器:融合视触技术,赋能多领域智能感知
  • 1.Shell变量
  • 七:仪表盘安装-controller node