075玩软件园
首页 > 资讯教程 > 软件教程 > 操作系统 > 引导系统(系统引导器)

引导系统(系统引导器)

作者:075玩 来源:互联网 2023-07-30 18:00:08

简介

系统引导器(英语:boot loader,也称启动加载器,引导程序) 是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。

流程

最简单地讲,引导加载程序(boot loader) 会引导操作系统。当机器引导它的操作系统时,BIOS 会读取引导介质上最前面的 512 字节(即人们所知的 主引导记录(master boot record,MBR))。在单一的 MBR 中只能存储一个操作系统的引导记录,所以当需要多个操作系统时就会出现问题。所以需要更灵活的引导加载程序。

主引导记录本身要包含两类内容 —— 部分(或全部)引导加载程序以及分区表(其中包含有关于介质其余部分如何划分为分区的信息)。当 BIOS 引导时,它会寻找硬盘驱动器第一个扇区(MBR)中存储的数据;BIOS 使用存储在 MBR 中的数据激活引导加载程序。

由于 BIOS 只能访问很少量的数据,所以大部分引导加载程序分两个阶段进行引导。

在引导的第一个阶段中,BIOS 引导一部分引导加载程序,即 初始程序加载程序(initial program loader,IPL)。IPL 查询分区表,从而能够加载位于不同介质上任意位置的数据。首先通过这步操作 来定位第二阶段引导加载程序(其中包含加载程序的其余部分)。

第二阶段引导加载程序是引导加载程序的主体;很多人认为这才是引导加载程序的真正部分。它包含有加载程序更需要磁盘空间的部分,比如用户界面和内核引导程序。从简单的命令行到绘声绘色的 GUI,这些用户界面的范围很广泛。 引导加载程序通常配置为两种方式的其中之一:要么是作为主引导加载程序(primary boot loader),要么是作为二级引导加载程序(secondary boot loader)。

主引导程序 是安装在 MBR 上的第一阶段引导加载程序(见先前的描述)。 二级引导加载程序 是安装在可引导分区的第一阶段引导加载程序。必须在 MBR 上安装单独的引导加载程序,并配置它将 控制权转交给二级引导加载程序。

很多较新的 Linux 引导加载程序特别实用,因为它们提供了不同程度的交互,比如高级的 GUI 和加密的口令,以及通过选择操作系统进行引导的能力。这样,可以在具有多个物理磁盘的同一机器上共存多个操作系统。这种设置越来越常见,因为它帮助很多用户在安装新的 Linux 时,能够保留先前由 Windows® 机器所生成的宝贵数据资料。我个人认为这种设置非常美妙;只使用一台机器就可同时拥有 Linux 和 Windows。 随着时间的推移,引导加载程序已经得到了增强,为用户引入了大量的功能。

各个引导程序的功能和配置存在差异,但基本的目标是相同的。通常,Boot Loader是严重地依赖于硬件而实现的,不同体系结构的系统存在着不同的Boot Loader。

Linux的引导扇区内容是采用汇编语言编写的程序,其源代码在arch/i386/boot中(不同体系的cpu有其各自的boot目录),有4个程序文件:

bootsect.S,引导扇区的主程序,汇编后的代码不超过512字节,即一个扇区的大小setup.S, 引导辅助程序edd.S,辅助程序的一部分,用于支持BIOS增强磁盘设备服务video.S,辅助程序的另一部分,用于引导时的屏幕显示

常见的系统引导器

Grub:深度操作系统所采用的系统引导器。

LILO:目前已经逐渐被淘汰的系统引导器。

Deepin深度系统用户手册安装&卸载如何在桌面新建文件夹/文档原生安装教程Deepin深度系统体验安装教程 - 安装&卸载Deepin深度系统系统卸载教程Deepin深度系统安装器基本操作新建文件夹/文档、排列方式、设置显示器、热区、壁纸任务栏图标、切换显示模式、设置任务栏位置、大小、显示隐藏、回收站账户管理(创建,更改账户头像,密码,删除账户)显示设置(单屏设置,多屏设置,自定义设置)默认程序设置(选中、添加、删除默认程序设置)个性化设置(主题、字体设置)硬件资源设备管理蓝牙设置(蓝牙开关、蓝牙名称、蓝牙设备)网络设置(有线,无限,移动,宽带,vpn,代理网络设置)声音设置(设置扬声器、耳机、音效、高级设置)日期和时间(设置日期时间、时区、自动同步)电源管理(设置显示器休眠、设置锁屏时间)设备管理(鼠标、键盘、触控板、语言)系统管理(系统信息、协议、系统更新)窗口管理器(打开,添加,切换,命名,桌面窗口等)桌面操作新手入门(概述、打开,关闭)文件文件(夹)功能(新建,重命名,复制,压缩,删除等)磁盘以及选项管理(显示、卸载、弹出磁盘)常用操作(搜索文件、管理标签、书签、共享、网上邻居、创建链接等)应用商店(运行,关闭,以及主界面)应用管理(搜索,下载,安装,更新,升级,卸载)看图管理(介绍,运行,关闭)图片操作(复制,打印,删除,旋转,设置为壁纸)图片管理(时间线、相册管理)系统管理启动管理(系统启动流程)引导系统(系统引导器)Linux内核(引导系统)Linux内核错误(引导系统)Linux初始化(初始化)开机动画 (初始化)电源管理(待机,休眠,关机,重启)电源管理(能耗、节能、亮度,CPU频率,内核等)用户管理用户管理(用户类型,添加,修改,删除用户)群组管理(分组,群组密码,身份切换,常见问题)文件管理文件与目录(命名,路径,目录,图形管理,命令管理)文件与目录权限(文件、目录权限)管理文件权限(图形、命令、改变文件权限、umask介绍等)文件系统(本地,网络文件系统)磁盘管理挂载(挂载点,FHS,挂载文件系统(图形管理,命令管理))挂载点管理 - 文件管理磁盘管理(分区,格式化,维护,写入,配额)软件管理源代码与程序 、进程分类、属性、父进程和子进程配置文件目录,备份、删除、清理残余等开机启动配置文件管理快捷方式原理 - Desktop Entry 文件软件源(文件,修改,同步软件源)源代码包(修改,获取,编译安装,删除)包管理命令(dpkg,apt,apt-cache,apt-file,aptitude,dselcet)系统服务deepin深度系统常见服务服务(分类,窗口类型,工作形态的类型,命名,启动方式)服务管理(chkconfig,service)登录管理器(类型,设置,切换登录管理器,登录出错)桌面组件Shell(命令Shell,图形Shell)桌面组件常见问题为什么要自定义多个分区?为什么不默认开机挂载Win分区不能挂载特定的win分区?Linux系统盘分区太小,不够用,问是不是要重装系统?为什么不把软件全部转换成deb包?如何删除APT缓存?如何删除软件配置?添加PPA?无法解析或打开软件包的列表或是状态文件出现Unable to correct problems, you have held broken packages的解决办法dpkg 被中断,您必须手工运行 sudo dpkg --configure -a解决此问题下列签名无法进行验证: NO_PUBKEY 06EA41DE4F6C1E86出现They have been ignored, or old ones used instead的解决办法E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)如何删除卸载软件包? 为什么不能同时安装一个以上的软件无法下载bzip2, Hash 校验和不符在deepin系统中如何设置GTK主题和窗口主题?在deepin系统中如何安装与设置图标主题?在deepin系统中如何安装与设置光标(鼠标)主题?在deepin系统中如何设置开机音乐?在deepin系统中如何安装系统字体?在deepin系统中如何设置系统语言?
关 键 词:
  • 热门软件
  • 热门标签
返回顶部