ubuntu 启动流程
时间: 2024-03-01 09:48:08 浏览: 45
Ubuntu的启动流程可以分为以下几个步骤:
1. BIOS/UEFI:计算机开机后首先会执行基本输入输出系统(BIOS)或统一固件接口(UEFI),进行硬件自检和初始化,并加载操作系统引导程序。
2. 引导加载程序(Bootloader):BIOS/UEFI会加载引导加载程序,最常用的引导加载程序是GRUB(GRand Unified Bootloader)。GRUB会显示启动菜单,让用户选择要启动的操作系统。
3. 内核加载:选择启动Ubuntu后,引导加载程序会加载Linux内核(vmlinuz),并将控制权交给内核。
4. 初始化内核:内核会进行一系列的初始化操作,包括初始化设备驱动程序、文件系统、内存管理等。
5. 启动init进程:内核会启动第一个用户空间进程,即init进程。在Ubuntu中,init进程是systemd或Upstart。
6. 系统初始化:init进程会根据配置文件执行一系列的初始化脚本,包括加载系统服务、挂载文件系统、设置网络等。
7. 用户登录:系统初始化完成后,会进入登录界面。用户可以输入用户名和密码登录到图形界面或命令行界面。
8. 用户空间服务启动:用户登录后,init进程会启动用户空间的各种服务和应用程序,如网络服务、窗口管理器、桌面环境等。
9. 用户交互:用户可以通过图形界面或命令行界面与系统进行交互,运行应用程序、访问文件等。
相关问题
Ubuntu启动流程
Ubuntu启动流程包括以下几个步骤:
1. BIOS自检,识别主机上可以启动的设备,通常是硬盘启动,启动驻留在MBR中的grub或lilo。
2. grub/lilo引导启动,将控制权转移给内核。
3. 装载linux内核,ubuntu将linux内核至于/boot目录下。
4. 系统初始化,启动init进程,读取初始化脚本,完成系统相关的管理任务,执行步骤如下:
- 执行功能/etc/inittab确定运行级别
- /etc/rc.d/rc.sysinit PATH、网络、SWAP、proc的设定
- /etc/modules.conf加载模块
- /etc/rc*.d/执行不同运行级别的脚本程序
- /etc/rc.local用户执行的操作
- /bin/login执行该程序,进入登录界面。
5. Event机制,将进程的触发、停止都看成是Event。Ubuntu的/etc/下有一个event.d,这个目录是upstart的核心。/etc/event.d/下面存放了目前upstart需要识别的各种event。这其中主要有三种:rc-default,rcX(X = 0,1,2,3,4,5,6,S),ttyX(X = 0,1,2,3,4,5,6,S)。
ubuntu启动过程 GNU GRUB 2.04
Ubuntu启动过程中涉及到GNU GRUB 2.04。GRUB(GRand Unified Bootloader)是一个多操作系统的引导加载程序,它允许用户在启动时选择要加载的操作系统或内核。下面是Ubuntu启动过程中GRUB的一般流程:
1. 计算机开机后,BIOS(Basic Input/Output System)会首先运行自检程序,并检测系统硬件。
2. BIOS会在硬盘的引导扇区(一般为第一个扇区,即MBR)中寻找引导加载程序。
3. 在MBR中,GRUB的引导加载程序(通常为stage1)被加载到内存中。
4. GRUB stage1会读取GRUB stage2,该文件通常位于硬盘的/boot/grub目录下。
5. GRUB stage2被加载到内存中后,会显示一个菜单界面,列出可供选择的操作系统或内核。
6. 用户可以使用键盘选择要启动的操作系统或内核,然后按下回车键确认选择。
7. GRUB会根据用户的选择加载对应的操作系统或内核,并将控制权交给它们。
需要注意的是,GRUB的配置文件位于/boot/grub/grub.cfg,可以通过编辑该文件来修改启动菜单的设置。此外,GRUB还支持高级功能,如启动参数配置、内存测试等。
以上是Ubuntu启动过程中GNU GRUB 2.04的一般流程,具体的细节可能会因系统版本和配置而有所不同。