电脑从按电源键开始到系统启动的全过程

说明

        本文主要讲解windows系统及linux系统电脑从开机按电源键到操作系统启动完毕的全过程讲解。

Windows系统启动

        Windows系统电脑从按下电源键到系统启动完成,这一过程称为“启动过程”或“开机过程”。从按下电源键到Windows系统启动完成,整个过程涉及硬件初始化、引导加载、内核加载、系统服务启动、用户登录和会话初始化等多个步骤。每一个步骤都至关重要,确保系统能够正常启动和运行。如果任何一个步骤出现问题,可能会导致启动失败或系统异常。以下是详细的步骤和解释:

1.按下电源键

  • 电源供应:当你按下电源键时,电源供应器(PSU)开始向计算机的各个组件提供电力。

2.BIOS/UEFI 初始化

  • 电源自检(POST):BIOS或UEFI固件开始执行电源自检(Power-On Self Test, POST),检查计算机硬件是否正常工作,如内存、硬盘、显卡、键盘等。任何错误会通过蜂鸣声或屏幕信息提示。
  • 硬件初始化:初始化硬件设备,如CPU、内存、图形卡等。
  • 引导设备选择:根据BIOS/UEFI设置的引导顺序,选择合适的引导设备(通常是硬盘、SSD或光驱)。

3.引导加载程序(Boot Loader)

  • MBR/GPT:BIOS系统读取主引导记录(MBR)或UEFI系统读取GUID分区表(GPT)的引导扇区。
  • 加载引导加载程序:从引导设备的引导扇区加载引导加载程序。常见的引导加载程序包括Windows Boot Manager(BOOTMGR)和GRUB(用于多系统引导)。

4.Windows Boot Manager

  • Windows Boot Manager工作:Windows Boot Manager(BOOTMGR)读取Boot Configuration Data(BCD)存储中的配置信息,确定要启动的Windows操作系统。
  • 加载Windows内核和底层驱动程序:BOOTMGR加载Windows内核(ntoskrnl.exe)、硬件抽象层(HAL.dll)以及其他关键文件和驱动程序。

5.Windows内核加载

  • 内核初始化:Windows内核开始初始化系统,包括加载核心驱动程序、初始化内存、设置系统进程和线程管理等。
  • 加载注册表和驱动程序:内核加载系统注册表和所有必要的驱动程序,以支持硬件设备。

6.Windows启动过程

  • 启动用户模式驱动程序:内核启动用户模式驱动程序,负责管理硬件设备和提供系统服务。
  • 启动系统服务:启动关键的系统服务和后台进程,如服务控制管理器(SCM)、本地安全授权子系统服务(LSASS)等。

7.用户登录界面

  • 启动登录界面:Windows显示登录界面(login screen),等待用户输入登录凭据(用户名和密码)。
  • 验证用户身份:系统验证用户输入的登录凭据,确认用户身份。

8.用户会话初始化

  • 加载用户配置:系统加载用户个人配置文件,包括桌面设置、用户特定的注册表项等。
  • 启动用户进程:启动用户特定的进程和应用程序,如文件资源管理器(explorer.exe),加载桌面、任务栏和开始菜单。

9.完成启动

  • 完成启动:Windows桌面环境完全加载,用户可以开始操作系统的正常使用。

Linux系统启动

        从按下电源键到Linux系统启动完成,整个过程涉及硬件初始化、引导加载、内核启动、系统服务启动、用户登录和会话初始化等多个步骤。每一个步骤都至关重要,确保系统能够正常启动和运行。如果任何一个步骤出现问题,可能会导致启动失败或系统异常。Linux系统电脑从按下电源键到系统启动完成,整个启动过程大致可以分为以下几个步骤:

1.按下电源键

  • 电源供应:当你按下电源键时,电源供应器(PSU)开始向计算机的各个组件提供电力。

2.BIOS/UEFI 初始化

  • 电源自检(POST):BIOS或UEFI固件开始执行电源自检(Power-On Self Test, POST),检查计算机硬件是否正常工作,如内存、硬盘、显卡、键盘等。任何错误会通过蜂鸣声或屏幕信息提示。
  • 硬件初始化:初始化硬件设备,如CPU、内存、图形卡等。
  • 引导设备选择:根据BIOS/UEFI设置的引导顺序,选择合适的引导设备(通常是硬盘、SSD或光驱)。

3.引导加载程序(Boot Loader)

  • MBR/GPT:BIOS系统读取主引导记录(MBR)或UEFI系统读取GUID分区表(GPT)的引导扇区。
  • 加载引导加载程序:从引导设备的引导扇区加载引导加载程序。常见的引导加载程序包括GRUB(Grand Unified Bootloader)、LILO(Linux Loader)等。

4.GRUB 引导加载程序

  • GRUB菜单:GRUB显示引导菜单,允许用户选择要启动的操作系统或内核版本。
  • 加载内核和initramfs:GRUB加载选定的Linux内核(vmlinuz)和初始内存盘(initramfs/initrd),它们包含启动所需的基本驱动程序和文件系统。

5.内核启动

  • 内核解压和初始化:Linux内核解压并开始初始化各个子系统,包括内存管理、进程管理、设备驱动程序等。
  • 挂载initramfs:内核挂载初始内存盘(initramfs)为临时根文件系统,执行其内的初始脚本(init)。
  • 设备检测和驱动加载:内核检测硬件设备并加载相应的驱动程序。

6.init进程启动

  • 启动init进程:内核查找并启动系统的第一个进程,即init进程。传统上,init进程是PID为1的进程,通常是SysV init(/sbin/init),但现代系统多使用systemd(/lib/systemd/systemd)或其他替代方案如Upstart。
  • 执行启动脚本:init进程根据配置文件执行启动脚本或启动单元,初始化系统服务和守护进程。

7.系统服务启动

  • 启动系统服务:init进程启动各种系统服务和守护进程,如网络服务、日志服务、数据库服务等。具体启动的服务取决于系统配置和启动目标(runlevel或target)。
  • 挂载文件系统:启动过程中,系统会挂载所有需要的文件系统,包括根文件系统、/home、/var等。

8.登录界面

  • 启动登录管理器:对于桌面环境,init进程会启动显示管理器(如gdm、lightdm、sddm等),提供图形化登录界面。对于服务器或纯文本模式,启动getty进程提供文本登录界面。
  • 用户登录:用户输入用户名和密码,登录管理器或getty验证用户凭据。

9.用户会话初始化

  • 启动用户会话:验证成功后,系统启动用户的会话,加载用户配置文件、环境变量等。
  • 启动桌面环境或命令行:对于桌面环境,系统会启动相应的桌面环境(如GNOME、KDE等),加载桌面、任务栏和应用程序。对于纯文本模式,系统会启动shell(如bash、zsh等)。

10.完成启动

  • 系统准备就绪:用户会话完全加载,系统启动完成,用户可以开始使用操作系统。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图灵追慕者

您的支持是我写作分享最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值