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

bios如何知道存在哪种类型的BPB?

BIOS(Basic Input/Output System)是计算机系统中的一种固件,它负责在计算机启动时进行硬件初始化和自检,并提供基本的输入输出功能。在启动过程中,BIOS需要知道存储设备的类型和结构,以便正确地加载操作系统。

BIOS通过读取存储设备的引导扇区来确定存在的引导分区类型。引导扇区是存储设备的第一个扇区,其中包含了引导程序和分区表。在引导扇区中,存在一个称为BPB(BIOS Parameter Block)的数据结构,它包含了关于分区的重要信息,包括文件系统类型、分区大小、簇大小等。

BIOS通过读取引导扇区中的BPB来确定存在的引导分区类型。BPB中的文件系统类型字段可以告诉BIOS该分区使用的文件系统类型,例如FAT16、FAT32、NTFS等。根据文件系统类型,BIOS可以选择正确的引导程序来加载操作系统。

对于不同类型的BPB,BIOS可能有不同的处理方式。例如,对于FAT16文件系统,BIOS会加载FAT16引导程序,并按照FAT16文件系统的规范来读取文件和目录。而对于其他类型的文件系统,BIOS会根据相应的规范来加载引导程序,并进行相应的处理。

总结起来,BIOS通过读取存储设备的引导扇区中的BPB来确定存在的引导分区类型,以便正确地加载操作系统。不同类型的BPB会触发不同的处理方式,以适配相应的文件系统类型。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

历史性一跳 -- 从启动扇区跳转到 loader

通过 BIOS 中断读取软盘 BIOS 中断对我们来说已经不陌生了,我们曾经使用过 10H 号中断来实现一个字符串打印。...BIOS 13H 号中断就是用来操作软盘,他通过触发时寄存器值,实现了下面两个功能。 2.1. 复位软盘 触发时,如果 ah = 0,dl 为 驱动器号,则中断将造成软驱复位。 2.2....通过扇区号计算柱面号与磁头号 根据上一篇文章中介绍原理,我们可以知道,对于一个 1.44M 软盘来说,总共有两个盘面,每面 80 个磁道,每个磁道 18 个扇区,因此 2 18 80 * 512...那么,如何获取柱面号、磁头号、盘片起始扇区号呢,根据上面的原理,也很简单: 柱面号 = 扇区号 / 每磁道扇区数 / 2 磁头号 = 扇区号 / 每磁道扇区数 & 1 起始扇区号 = 扇区号 % 每磁道扇区数...如上图所示,FAT 项存在一个问题,那就是他是 12 字节,我们每次读取一个字节的话,要读取三次才能取到两个 FAT 项,因此解析起来存在一定复杂性。

1.7K20

操作系统之引导

BIOS会试图从整个序列第一个设备开始,检查其状态和引导能力。比如针对光驱,则首先会判断光驱中是否存在光盘,如果不存在,则跳过光驱设备,进入下一个设备检测过程。...如果发现有光盘存在,则试图读取光盘第一个扇区,并检查这是否是一个可引导扇区(比如通过检查扇区最后两个字节是不是0x55AA)。...按照这种规则,最后安装操作系统,往往会“压制”以前安装操作系统,使得先前安装操作系统无法引导。但只要知道了这个过程,我们就可以通过一些工具,改变这种情况。...第二项工作比较容易,一般情况下,引导扇区还是运行在CPU实模式下(以PC为例),可以调用BIOS提供磁盘读写服务,很容易把文件读入内存。关键是第一项工作,如何在一个文件系统里搜索到一个特定文件。...媒体类型 BPB_FATSz16 22 2 FAT16文件分配表长度 BPB_SecPerTrk

92311
  • 实战 FAT12 文件系统

    磁盘基本概念 既然要让引导扇区找到磁盘上文件,那我们首先要来看看磁盘空间是如何构成。...4 卷序列号 BS_VolLab 43 11 卷标 ‘OrangeS0.02’ BS_FileSysType 54 8 文件系统类型 ‘FAT12’ 引导代码 62 448 引导代码、数据及其他填充字符等...BPB_RootEntCnt 和 BPB_BytsPerSec 就是上文中起始扇区中定义相应字段。...FAT12 文件读取过程 经过上述 FAT12 分区介绍,我们就已经可以清楚知道如何在一个 FAT12 类型磁盘上寻找一个文件了: 获取文件系统基本信息 — 读取位于第 0 个扇区起始扇区 计算数据区首个扇区...实践 — 如何创建软盘 既然我们已经非常清楚了软盘文件系统结构,你是否想要实践一下看看呢?是否一个软盘文件系统真的如我们上面所描述就是这样存储呢? 5.1.

    1.4K20

    实战操作系统 loader 编写(上) -- 进入保护模式

    但是,我们内核将编译成 ELF 文件,因为只有这样,我们才能够接下来实现用 C 语言编写内核目的,那么,如何让 loader 将内核 ELF 文件载入内存呢?...section 构成一个段,由 program header table 描述如何载入内存。...本文,我们就来实现将内核载入内存并启动保护模式,也许你会有些失望,本文描述内容都是此前文章已经介绍过,不存在知识点,但不是有句话说“温故而知新”嘛。 3....从软盘读取 kernel 我们首先来看看如何让 loader 能够在软盘上找到 kernel,这里 kernel,我们暂且先使用之前我们写好快速排序程序: 如何实现汇编语言与 C 语言之间相互调用...= BPB_RsvdSecCnt + (BPB_NumFATs * BPB_FATSz16) - 2 ; 文件开始Sector号 = DirEntry中开始Sector号 + 根目录占用Sector

    1K20

    如何选择用哪种类型分区表?

    如何选择用哪种类型分区表? 答案部分 当表中数据量不断增大时,查询数据速度就会变慢,应用程序性能就会下降,这时就应该考虑对表进行分区。...⑥ 分区对用户透明,最终用户感觉不到分区存在。 有哪些类型分区?如何选择用哪种类型分区表?...在下面这种情况下,使用HASH分区比RANGE分区更好: (1) 事先不知道需要将多少数据映射到给定范围时候。 (2) 分区范围大小很难确定,或者很难平衡时候。...例如,对于一个大表,应该采用哪种类型分区,对于以后数据库性能和管理至关重要。...在上面的原则基础上,再结合性能影响因素,来最终确定使用哪种类型分区。 如果选择分区不能确保各分区内数据量基本平均,那么这种分区方式有可能是不恰当

    1.4K30

    Dilated-Net+BPB+SBE:解决分割边界模糊问题 (CVPR2020)

    1 研究背景 当前医学影像分割任务存在两个关键问题: 分割区域边界模糊性 缺乏专业领域知识前提下分割区域不确定性 这篇文章针对上述问题提出了解决方案,主要有如下三点贡献: 提出一种新颖边界关键点选择算法...如上图(Figure 2)所示,整个模型可以分解为三个主要部分:分割网络、边界保持模块(Boundary Preserving Block, BPB)以及形状边界判别器(Shape Boundary-aware...2.3 边界保持模块(Boundary Preserving Block, BPB) ? 上图(Figure 3)展示了如何在卷积网络中嵌入BPB模块,以达到在预测分割图过程中将边界关键点考虑进去。...具体地,假设现在是第 个卷积模块,模块输入特征维度为 ,BPB过程为: 采用上述算法生成对应该模块边界点图 然后将输入特征 和 做元素点乘( 在第三维度上需要广播),而后将结果和输入特征...2.4 形状边界判别器(Shape Boundary-aware Evaluator, SBE) 采用上述BPB模块嵌入到卷积网络中其实已经可以达到结构边界保持目的了,但可能存在问题:模型预测边界点图和模型预测分割区域可能不是很匹配

    7.6K11

    计算机是如何启动?一文教你自制操作系统

    2. boot — 计算机启动悖论 如果你深入思考过计算机应该如何被启动,你就会发现这其中存在着一个悖论 — 如果要启动计算机,那么就要先执行启动程序,可是如果计算机没有启动,那么就没有办法去执行启动程序西方有个谚语...,计算机设计中是如何解决这个悖论呢?...BIOS 中断 既然我们已经知道了计算机启动上述过程,我们能不能编写自己启动程序呢?答案当然是肯定。...编译链接 无论你用哪种汇编器完成代码编写,都要用相应汇编器执行编译链接,例如,基于 NASM 编写上述代码可以在 linux 下执行: nasm boot.asm -o boot.bin 生成二进制文件...boot.bin,如果提示 nasm 命令不存在,使用对应平台下包管理机制或到官网下载源码编译安装即可。

    2.8K10

    详解MBR篡改技术

    2、DBR区 DBR(Dos Boot Record操作系统引导记录区)位于硬盘0磁道1柱面1扇区,是操作系统可以直接访问第一个扇区,它包括一个引导程序和一个被称为BPBBios Parameter...开始按bios中设定系统引导顺序引导系统。当设置为从硬盘启动时,Bios执行完自己程序后如何把执行权交给硬盘呢?交给硬盘后又执行了什么呢?...这些问题便是需要MBR来解决bios在执行自己固有的程序以后就会跳转到mbr中第一条指令,将系统控制权交由mbr来执行。...需要注意是MBR不随操作系统不同而不同,意即不同操作系统可能会存在相同MBR,即使不同,MBR也不会夹带操作系统性质,具有公共引导特性。 Question2:所有电脑都有MBR引导区吗?...0×05 凤凰涅槃--MBR修复 如果有同学不慎中招了MBR病毒,不要慌张,下面我们来讲如何修复被破坏MBR扇区。

    1.6K20

    天天都在用 Nginx,可你知道如何用一个反向代理实现多个不同类型后端网站访问吗?

    用 Nginx 做反向代理 为了解决这两个问题,自然第一反应想到就是使用反向代理,我理想构思下应该是下图这样。 ?...比较好策略应该是让 Nginx 来判断当前 Host 是什么来决定跳转到哪一个后端 Webserver 上,比如: a.mip.com 就跳转到 Apollo,j.mip.com 就跳转到 Jenkins...然后通过 $host 系统变量判断当前 URL 中 host 值来实现跳转到相应网站。...从上图中,我们可以看到通过不同域名成功访问到了不同后端应用。...root html; # index index.html index.htm; # } #} } 至此,我们就演示完了一个反向代理实现多个不同类型后端网站访问场景

    3.6K31

    这篇论文让你无惧梯度消失或爆炸,轻松训练一万层神经网络

    选自arXiv 作者:Batchlechner等 机器之心编译 机器之心编辑部 深度学习在众多领域都取得了显著进展,但与此同时也存在一个问题:深层网络训练常常面临梯度消失或梯度爆炸阻碍,尤其是像 Transformer...研究人员使用精心设计权值初始化方法、BatchNorm 或 LayerNorm 这类标准化技术来缓解以上问题,然而这些技术往往会耗费更多计算资源,或者存在其自身局限。...结果显示,收敛之后,12 层 ReZero Transformer 与常规 Transformer 取得了相同 BPB。...表二:针对 ReZero 12 层 Transformers 归一化后与 enwiki8 验证集上达到 1.2 BPB 时所需训练迭代比较。...更快残差网络训练 通过前述部分,看到了 ReZero 连接是如何使深层网络训练成为可能,并且这些深层网络都包含会消失 Jacobian 奇异值,例如 ReLU 激活或自我注意力。

    1.1K20

    Linux 系统开机加电后发生了什么?

    BIOS如何启动,CPU硬件逻辑设计为在加电瞬间强行将CS值置为0XF000,IP为0XFFF0,这样CS:IP就指向0XFFFF0这个位置,这个位置正是BIOS程序入口地址。...,而各种硬件系统又各有不同,所以存在各种不同种类BIOS,随着硬件技术发展,同一种BIOS也先后出现了不同版本,新版本BIOS比起老版本来说,功能更强。...这时,BIOS需要知道,”下一阶段启动程序”具体存放在哪一个设备。也就是说,BIOS需要有一个外部储存设备排序,排在前面的设备就是优先转交控制权设备。...打开BIOS操作界面,里面有一项就是”设定启动顺序”。 在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。...BIOS如何找到操作系统? BIOS如何加载操作系统? 背景知识 多操作系统时启动顺序 为了寻找操作系统,BIOS按照”启动顺序”,把控制权转交给排在第一位储存设备。

    2K40

    linux系统开机加电后发生了什么?

    BIOS如何启动,CPU硬件逻辑设计为在加电瞬间强行将CS值置为0XF000,IP为0XFFF0,这样CS:IP就指向0XFFFF0这个位置,这个位置正是BIOS程序入口地址。...,而各种硬件系统又各有不同,所以存在各种不同种类BIOS,随着硬件技术发展,同一种BIOS也先后出现了不同版本,新版本BIOS比起老版本来说,功能更强。...这时,BIOS需要知道,”下一阶段启动程序”具体存放在哪一个设备。也就是说,BIOS需要有一个外部储存设备排序,排在前面的设备就是优先转交控制权设备。...打开BIOS操作界面,里面有一项就是”设定启动顺序”。 在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。...BIOS如何找到操作系统? BIOS如何加载操作系统? 背景知识 多操作系统时启动顺序 为了寻找操作系统,BIOS按照”启动顺序”,把控制权转交给排在第一位储存设备。

    2.5K30

    Linux X86-ACPI PNP Hardware ID识别框架

    分析内核是如何获取BIOS传递参数表 接下来主要来看看在Linux内核中,内核是怎么去通过BIOS传递参数表,传递对应字串,然后内核又是如何来解析它,最终为Linux驱动统一模型所用。...在启动内核时候又是如何知道BIOS传递过来HID参数?...而X86架构CPU与ARM启动形式就不太一样,显然比这里要复杂得多,由于BIOS源代码并不开放,所以我们也并不知道BIOS内幕具体是怎么实现,但我们可以从以下这张图可以得知X86架构从BIOS...到这里我们就明白了,不懂BIOS是怎么实现也没有什么关系,我们只要去百度下载一个ACPISpec,不就可以知道BIOS中具体工作是做什么了吗?...接下来我们来看看在X86 Linux内核启动过程中,是如何去识别BIOS传递过来Hardware ID?

    4.1K43

    4.计算机启动过程简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动

    CPU 显卡,内存 还有一些基本初始化(比如之前说到有些地方寄存器要清零 都是一种初始化) 也就是对于计算机来说想要正常工作一个底线,最基本功能 所以这个ROM系统也叫作BIOS  Basic...然后会根据设置读取第一块存储设备 BIOS系统接着读取硬盘上固定位置数据 这个位置数据结构是约定好---通常是硬盘0面0磁道第一个扇区 读入到内存,然后用一个跳转指令进入到这里进行执行 硬盘...0面0磁道第一个扇区 是主引导扇区 这是一个约定规范,就像接头暗号一样,我往这里存,你从这里读 引导分区包含了 启动指令和数据,以及分区表 每个分区有分区资料,表明分区起始位置,大小 类型以及是否为活动分区...类型表明分区是哪种操作系统管理 活动分区表示应该被启动 中央处理器读取到了应该被启动操作系统引导代码,将他读取到内存中 接着就是操作系统自身加载过程了 所以计算机启动,就是计算机电路上电之后...8.web发展 9.java web发展

    98131

    BIOS + EC

    BIOS + EC 1 介绍 2 相关知识 2.1 BIOS 修改BIOS开机画面 2.2 EC 3 制作DOS系统盘 4 刷BIOS 5 刷EC 参考 1 介绍 BIOS(基本输入输出系统)在整个系统中地位是非常重要...比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。...对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何BIOS构建了操作系统和底层硬件桥梁。...而我们平时说BIOS设定仅仅是谈到了其软件设定,比如设置启动顺序、禁用/启用一些功能等等。但这里有一个问题,在硬件上,BIOS如何实现呢?毕竟,软件是运行在硬件平台上吧?...下刷BIOS、EC小教程(以775TM为例) 4、在DOS中给神舟蓝天刷EC和BIOS通用方法【AMI】 5、DOS下刷bios和EC教程 6、可修改BIOS开机画面+蓝天 刷写官方、Prema

    1.7K10

    服务器bios界面usb无线网卡,BIOS怎么开启无线网卡

    无线网卡是终端无线网络设备,那么大家知道BIOS怎么开启无线网卡吗?接下来大家跟着学习啦小编一起来了解一下BIOS开启无线网卡解决方法吧。...BIOS开启无线网卡方法 本文以IdeaPad V370、V470、V570,Z500机型为例,讲解如何BIOS中开启无线网卡 1、在开机刚看见联想画面的时候,反复按下键盘“F2”按键,进入BIOS设置界面...:如图 2、在Configuration菜单中,将Wireless 或Wireless LAN设置为“Enabled”模式 开启或关闭计算机无线网卡方法 操作无线网络开启(或关闭)注意事项 一、部分机型可能存在多种配置...,可能某些机型上未标配无线网卡,因此部分主机模块可能会存在没有无线网络物理开关; 二、所有标配无线网络物理开关机型,必须开启,否则无法正常使用无线网络; 三、部分机型可能需要配合随机标配软件(如电源管理程序...),方可正常开启或关闭无线网卡; 四、需要在BIOS中启用无线网络; 五、大部分机型开启无线网络后,无线工作指示灯为常亮状态。

    4.9K30

    VMware workstation性能优化

    ,今天剑指工控就给大家提供一篇如何优化和提供vmware workstation技术文章,如果很多人想知道这个软件如何安装怎么用?...BIOS设置优化 若使用CPU支持硬件虚拟化技术,需要在BIOS设置中,打开相应设置。下面以Inte至强 E3-1230 V2 CPU,AMI BIOS为例讲解。...开机按Del进行到BIOS设置(进入BIOS设置方法因主板不同而不同,具体方法请参考主板附赠说明书)。...在“处理器配置”中,根据你机器CPU,选择“每个处理器核心数量”。 在“此虚拟机内存”设置中,根据物理机内存大小和虚拟机操作系统类型,为虚拟机分配合理内存。...在“网络类型”设置中,可以按实际需要进行选择。“使用桥接网络”比“使用网络地址转换(NAT)”性能稍高。 在“指定磁盘容量”设置中,根据需要设置“最大磁盘大小”。

    3.3K10

    Linux-3.14.12内存管理笔记【系统启动阶段memblock算法(1)】

    那么看一下linux如何实现这部分功能,这部分功能是在setup_memory_map里面实现。...,存在不合理项则直接退出。...接下来又出现新状况了: a) 如果当前新加入change_point类型值等于前者,继续开始下一循环; b) 如果当前新加入change_point类型值大于前者,那么new_bios将会以该...change_point项纪录地址作为new_bios前一项结束地址,然后更新大小到new_bios中,开启new_bios新一项记录; c) 如果当前新加入change_point类型值小于前者...连续类型合并到一块里面,不同类型各自为政,不同类型重叠部分根据类型优先级高低拆分,依高优先级顺序保证各类型内存块完整性。

    86220

    基于Linuxpc启动过程

    基于Linuxpc启动过程 我们都知道,所有的程序软件包括操作系统都是运行在内存中,然而我们操作系统一般是存放在硬盘上,当我们按下开机键时候,此时内存中什么程序也没有,因此需要借助某种方式,将操作系统加载到内存中...装过系统的人一定知道BIOS这个东西,那么它究竟是什么呢?...补充: CS:代码段寄存器,存在于CPU中,指向CPU当前执行代码在内存中所在区域。...IP:指令寄存器,存在于CPU中,记录将要执行指令在代码段内偏移地址,与CS组合即为将要执行指令内存地址。 当BIOS程序启动时,就会检测硬件设备,比如我们显卡、内存等信息。.../misc:包含一些杂项内容,如系统设置和系统功能启用禁用设置 /sdcard:用户自己存储区,可以存放照片,音乐,视频等文件 那么Bootloader是如何被加载呢?

    2K00
    领券