bootloader什么意思

bootloader什么意思,第1张

简单地说,BootLoader就是在 *** 作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用 *** 作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

第一个问题,你的理解可以说是对的。

BIOS是和主板一起开发的,所以主板的一些硬件信息只有BIOS清楚,每块主板的BIOS基本都是不同的,主板的具体信息需要BIOS报告给 *** 作系统。

而 *** 作系统只要系统类型一样就是通用的,如个人电脑的 *** 作系统,服务器的 *** 作系统等等。

第二个问题,可以从字面意思说起。

先说Boot Loader,字面意思 启动引导器,显而易见,作用是引导 *** 作系统启动的。

*** 作系统有一个系统引导程序,Boot Loader就是找到这个程序,执行之。主要用在嵌入式系统或者手机。

BIOS,Basic Input Output System 基本输入输出系统,意思是主板级别的一个小系统。负责系统(主要是主板)的硬件初始化,例如CPU,内存,硬盘,键盘,显示卡,网卡等等硬件的初始化。初始化是BIOS的主要工作。传统的个人电脑上面BIOS会有一个int19 软件中断功能,在初始化完成后,BIOS会进入int19中断,寻找启动介质,如软盘,光盘,硬盘,flash或者网络等等,读取第一个扇区的内容到内存的0000:7C00处,跳入这个地址执行。这里int19就是一个bootloader,启动引导器。所以BIOS具有Boot Loader的功能。当然,目前的BIOS功能已经被扩充了很多,例如电源管理方面的ACPI接口,USB驱动,PXE网络引导功能,硬盘加密,TPM接口,BIOS配置界面,BIOS自动恢复等等。

不过目前的Boot Loader功能也并不单纯,例如u-boot,一个有名的开源boot loader,其实还是会做一小部分硬件初始化的工作,主要用在嵌入式系统。

所以这两个其实很像,不过BIOS主要存在于个人电脑和服务器这里硬件比较复杂的系统;Boot Loader主要存在于嵌入式,手机,等相对简单的系统。

另外,如果对BIOS感兴趣,欢迎到 BIOS人论坛 www.biosren.com 来看看,如今的BIOS都已经转换为UEFI了,有部分开源的代码可以学习。

如果我没有猜错这位兄弟应该问的是

boot.ini了

它在系统盘的根目录下用记事本就可以打开

但是是隐藏文件打开前请先保持隐藏文件可见(在文件夹选项里弄下就OK)

如果你拥有Windows XP *** 作系统,那么你可以用“系统配置实用程序”来更方便的编辑“BOOT.INI”文件。具体做法是:打开“开始”菜单,点击“运行”命令,再在d出的文本框中输入“msconfig”点击“确定”后就会d出“系统配置实用程序”,再点击“BOOT.INI”选项卡,就会出现界面。在这里,我们可以很方便地设置文件打开以后它应该和下面的内容差不多

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\Windows

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows XP Professional" /fastdetect

这个东西的作用不小哈我们分部分来说

1.系统加载部分([boot loader])

这一部分很简单,只有两个设定。那就是“timeout=”和“default=”。

“timeout=”就是设定开机时系统引导菜单显示的时间,超过设定值则自动加载下面“default=”指定的 *** 作系统。默认值是30,单位为秒。我们可以在这里面设定等待时间的长短。如果将其设为“0”那么就是不显示系统引导菜单。

“default=”则是设定默认引导的 *** 作系统。而等号后面的 *** 作系统必须是已经在“[operating systems]”中存在的。如果想默认为加载另外的 *** 作系统,我们可以参看“[operating systems]”中的 *** 作系统列表,然后把想要加载的 *** 作系统按照格式写到“default=”后面就可以了。

2. *** 作系统部分([operating systems])

在这里面,列出了机器上所安装的全部 *** 作系统。比如机器上只有一个 *** 作系统,那么就只有一条信息,那就是“multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows XP Professional" /fastdetect”

在这里需要注意的是,在英文引号内的文字就是引导 *** 作系统菜单时显示出来的让我们选择 *** 作系统的提示文字,在这里面我们可以随意更改。而“multi(0)disk(0)rdisk(0)partition(1) \Windows”这一句就需要些解释了。因为它涉及ARC(高级RISC计算机)命名,它是x86或RISC计算机中用于标识设备的动态方法。

ARC命名的第一部分用于标识硬件适配卡/磁盘控制器,它有两个选项:SCSI和Multi。

Multi表示一个非SCSI硬盘或一个由SCSI BIOS访问的SCSI硬盘,而SCSI则表示一个SCSI BIOS禁止的SCSI硬盘。(x)是硬件适配卡序号。Disk(x)表示SCSI总线号。如果硬件适配卡为Multi,其正确表示方法就为disk(0),rdisk(x)则表示硬盘的序号,如果硬件适配卡为SCSI则忽略此值

partition(x)表示硬盘的分区序号。了解这些,我们就可以解释前面那条信息的含义了,即“multi(0)disk(0)rdisk(0)partition(1) \Windows”为,在0号非SCSI设备上的第0号磁盘上的第一个分区里面的“Windows”目录下可以找到能够启动的 *** 作系统

等号后的内容前面已经说过,那个就是引导菜单显示出来的供我们选择的提示文字。而后面的“/fastdetect”又是作什么用的呢?这是一个开关符,用来控制启动该 *** 作系统时的具体选项,下面再来详细的介绍各种开关符的含义:

/3GB:这是Win2000 SP3新引入的。这使得用户区和系统区分为3G比1G的比例。只有用户使用NT企业版,应用程序也支持3GB选项时,此选项才生效。

/BASEVIDEO:使用标准VGA方式启动。这种方式主要用于显示驱动程序失效时。

/BAUDRATE:指出用于调度的波特率,如果用户不设置,则使用默认的9600,而对于线缆Modem则使用19200。

/BOOTLOG:使Win2000将日志写入 %SystemRoot%\NTBTLOG.TXT 。

/BURNMEMORY=:使NT在已知的内存上少使用指定的数量,如果/burnmemory=64,则有64M内存NT不使用。

/CRASHDEBUG:调度器在NT启动时启动,只有在内核错误时才有用,如果系统经常会无故出错,这个选项就很有用了。

/DEBUG:在启动NT时调入调度器,它可以在任何时间激活,在错误可以再次出现时使用它比较合适。

/DEBUGPORT= comx :指定用于调度的端口,其它X就指端口号。

/FASTDETECT:对于Win2000启动时,它使系统不检查串行口和并行口。

/HAL=<hal>:允许用户不使用默认的HAL。

/INTAFFINITY:设置多处理器HAL(HALMPS.DLL),使编号最大的处理器接收中断请求。如果不设置此选项,Win2000会使所有处理器接收中断请求。

/KERNEL=<kernel>:与上面的功能相同,不过是针对SMP中的内核而言的。

/MAXMEM:n:指定NT可以使用的最大内存数,如果一个内存片损坏,这个开关就十分有用了。

/NODEBUG:不使用调试信息。

/NOGUIBOOT:指定此选项会使Win2000不加载VGA驱动程序,也就不会显示启动过程和失败时的兰屏信息。

/NOSERIALMICE=[COMx | COMx,y,z…]:在特定的COM中上禁止对串行鼠标的检测。如果用户有一个非鼠标设备接在COM口上,这个选项会十分有用。如果此开关未加参数,系统会禁止所有COM口。

/NUMPROC=n:只允许前N个系统处理器工作。

/ONECPU:在多处理器中只使用一个处理器。

/PCILOCK:不让NT为PCI设置分配IO/IRQ资源,而启用BIOS设置。

/SAFEBOOT:安全启动,这个大家一定十分熟悉,Win2000只启动HKLM\System\CurrentControlSet\

Control\SafeBoot中的驱动程序和服务,其后跟三个参数MINIMAL,NETWORK或DSREPAIR之一。MINIMAL和NETWORK在允许网络下启动系统。而DSREPAIR要求系统从备份设备中调入活动目录的设置。还有一个选项是"(ALTERNATESHELL)",它让系统调入由HKLM\System\CurrentControlSet\

SafeBoot\AlternateShell指定的SHELL程序,而不使用默认的Explorer。

/SOS:在调入驱动程序名时显示它的名字,在因驱动问题而无法启动时使用比较好。

/WIN95:在装有三个系统DOS、Win9x和Windows NT的系统上,让NTLDR直接调用Win9x。启动文件BOOTSECT.W40。

/WIN95DOS:在装有三个系统DOS、Win9x和Windows NT的系统上,让NTLDR直接调用DOS启动文件BOOTSECT.DOS

/YEAR=:使用指定的年份,如果设置为/YEAR=2005,那现在的时间就是2005年,此选项仅对NT4+SP4和Win2000生效。

了解了以上这些,我们就可以更加轻松控制好我们系统的启动了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11208467.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存