news 2026/10/22 15:11:03

Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 系统启动与关闭详解(11)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 系统启动与关闭详解(11)

Ubuntu 22.04 系统启动与关闭详解

1 Ubuntu 的启动过程

1.1 BIOS 阶段

计算机加电后,BIOS(基本输入输出系统)首先进行硬件自检(POST),检测CPU、内存、磁盘等关键硬件。随后BIOS根据预设的启动顺序(如U盘、硬盘、网络)查找可启动设备,并加载该设备首个扇区的主引导记录(MBR)到内存执行。

案例代码:查看BIOS启动顺序(需进入BIOS界面,无直接命令,但可通过系统日志验证):

# 查看系统最后一次启动时间,间接验证BIOS阶段完成时间 who -b # 输出示例:system boot 2025-11-29 09:00

1.2 引导程序阶段(GRUB)

MBR中的代码加载GRUB(GRand Unified Bootloader)引导程序。GRUB的配置文件位于/boot/grub/grub.cfg(自动生成,不可直接修改),其模板文件为/etc/default/grub。GRUB提供菜单供用户选择内核版本,并加载对应的内核镜像(vmlinuz)和初始内存盘(initrd)到内存。

案例代码:修改GRUB配置(如将默认启动项改为Windows):

# 1. 编辑GRUB配置模板 sudo nano /etc/default/grub # 修改以下参数(示例:将默认启动项设为第2个菜单项,即Windows) GRUB_DEFAULT=2 # 0表示首个菜单项,1表示第二个,以此类推 GRUB_TIMEOUT=10 # 菜单显示时间(秒),0表示直接启动默认项 # 2. 更新配置以生成grub.cfg sudo update-grub # 输出示例:Found linux image: /boot/vmlinuz-5.15.0-60-generic

注释:

  • GRUB_DEFAULT可设为数字(菜单项索引)或菜单标题(如 “Windows Boot Manager”)。
  • 若系统为双系统,Windows菜单项通常索引为2(Ubuntu为0,高级选项为1)。

1.3 内核阶段

内核被加载后,初始化硬件设备,并挂载根文件系统。随后启动init进程(PID 1),该进程是所有系统进程的父进程。在Ubuntu 22.04中,init进程通常为systemd,它接管后续启动流程。

案例代码:查看当前内核版本和运行进程:

# 查看内核版本 uname -sr # 输出示例:Linux 5.15.0-60-generic # 检查init进程(应为systemd) ps -p 1 -o comm= # 输出示例:systemd

1.4 进入系统:运行级别与目标

systemd通过目标(target)管理系统状态,类似传统运行级别。常见目标包括:

  • graphical.target:多用户图形界面(对应运行级别5)
  • multi-user.target:多用户命令行界面(运行级别3)
  • rescue.target:救援模式(运行级别1)
  • poweroff.target:关机(运行级别0)案例代码:查看和切换目标:
# 查看当前目标 systemctl get-default # 输出示例:graphical.target # 切换到命令行模式 sudo systemctl isolate multi-user.target # 设置默认启动到命令行 sudo systemctl set-default multi-user.target

注释:传统运行级别可通过init命令切换(如init 3进入命令行模式),但建议使用systemd目标。

2 引导相关组件

2.1 主引导记录(MBR)

MBR是磁盘首个扇区(512字节),包含:

  • 引导代码(446字节):加载GRUB核心代码。
  • 分区表(64字节):记录磁盘分区信息。
  • 魔数(2字节):标识有效性。 若MBR损坏,系统无法启动。可通过Live USB修复:
# 使用Live USB启动后,重装GRUB到磁盘(示例:磁盘为/dev/sda) sudo grub-install /dev/sda sudo update-grub

2.2 GRUB启动程序

GRUB配置文件详解(/etc/default/grub部分参数):

GRUB_TIMEOUT_STYLE=menu # 显示菜单(hidden表示隐藏) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" # 内核参数:安静启动+图形动画 GRUB_DISABLE_OS_PROBER=false # 允许探测其他系统(用于双系统)

案例代码:在GRUB菜单中临时修改启动参数(用于修复启动问题):

  1. 启动时按Shift键显示GRUB菜单,选择Ubuntu项后按e键。
  2. 找到linux行,删除quiet splash,添加single(单用户模式)。
  3. 按Ctrl+X启动,进入救援模式后重置密码或修复配置。

3 登录过程

3.1 login进程

系统启动完成后,login进程提示用户登录。在图形界面中,由显示管理器(如GDM)提供登录窗口;在命令行界面中,直接提示输入用户名和密码。

3.2 选择Shell

用户登录后,系统根据/etc/passwd中配置的Shell启动对应解释器(如bash)。

案例代码:查看和更改用户Shell:

# 查看当前Shell echo $SHELL # 输出示例:/bin/bash # 更改默认Shell为zsh(需已安装) chsh -s /bin/zsh

3.3 用户初始化文件

登录后自动执行初始化脚本:

  • 全局配置:/etc/profile、/etc/bash.bashrc
  • 用户个性化配置:~/.bashrc、~/.profile案例代码:在~/.bashrc中添加自定义别名:
# 编辑用户bashrc nano ~/.bashrc # 添加以下行(示例:创建快捷别名) alias ll='ls -alF' # ll命令显示详细文件列表 alias update='sudo apt update && sudo apt upgrade' # 一键更新系统 # 重新加载配置 source ~/.bashrc

4 关闭系统

4.1 shutdown命令

语法:shutdown [选项] [时间] [消息]

常用选项:

  • -h或--poweroff:关机(默认)
  • -r:重启
  • -c:取消计划中的关机
  • -k:仅发送警告消息,不实际关机案例代码:
# 立即关机 sudo shutdown -h now # 10分钟后关机,并通知用户 sudo shutdown -h +10 "系统将于10分钟后维护关机,请保存工作!" # 定时关机(今晚20:30) sudo shutdown -h 20:30 # 取消关机计划 shutdown -c

注释:

  • 使用-k选项可模拟关机(如shutdown -k +5 "测试警告")向所有用户发送消息但不执行关机。
  • 生产环境中务必提前发送消息,避免数据丢失。

4.2 init命令

通过切换运行级别关机或重启(兼容Systemd):

# 关机(运行级别0) sudo init 0 # 重启(运行级别6) sudo init 6 # 进入单用户维护模式(运行级别1) sudo init 1

4.3 其他命令

  • halt:立即停止系统(不断电源)
  • poweroff:立即关机并断电源
  • reboot:立即重启案例代码:
# 强制关机(不推荐,可能丢失数据) sudo poweroff # 安全重启(推荐) sudo reboot # 使用sync确保数据写入磁盘后重启 sync && sudo reboot

重要提醒:关机前建议手动运行sync将内存数据写入磁盘,防止数据丢失。

关键配置文件与日志

  • 启动日志:journalctl -b(查看本次启动日志)或last reboot(重启历史)。
  • 关机记录:last shutdown(需systemd-logind支持)。
  • 运行级别:who -r查看当前级别。

以上知识点覆盖了Ubuntu 22.04启动关闭的核心流程,结合代码示例可帮助理解操作细节。实际操作时需注意权限问题(如使用sudo),生产环境谨慎执行关机命令。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 7:08:19

机器学习——生态系统

Python已成为机器学习最受欢迎的编程语言,因其简洁、易用且拥有丰富的库生态系统。本文介绍了Python机器学习生态系统的核心组件:Python语言本身、常用IDE(如Jupyter Notebook)以及关键库(NumPy、Pandas、Scikit-learn…

作者头像 李华
网站建设 2026/10/19 5:33:56

探索云广直流输电的PSCAD模型

云广直流输电pscad,模型在电力系统领域,云广直流输电项目一直备受关注。而借助PSCAD软件构建其模型,能让我们更深入地理解和研究这一复杂的输电系统。 云广直流输电概述 云广直流输电工程是我国重要的电力传输项目,它实现了大容量、远距离的电…

作者头像 李华
网站建设 2026/10/19 5:33:56

智能医疗设备中的AI Agent控制系统

智能医疗设备中的AI Agent控制系统关键词:智能医疗设备、AI Agent、控制系统、医疗自动化、人工智能摘要:本文聚焦于智能医疗设备中的AI Agent控制系统,详细阐述了其背景、核心概念、算法原理、数学模型等内容。通过对相关理论的深入剖析和具…

作者头像 李华
网站建设 2026/10/21 1:11:42

YOLO训练学习率设置不当?GPU利用率会明显下降

YOLO训练学习率设置不当?GPU利用率会明显下降 在部署YOLO模型进行目标检测训练时,不少工程师都遇到过这样的困扰:明明配备了高端GPU,监控工具却显示利用率长期徘徊在30%~50%,甚至出现锯齿状剧烈波动。直觉上我们会怀疑…

作者头像 李华
网站建设 2026/10/19 5:33:56

火炼人心,执破新生——写给困在集体执念里的觉醒者

我们总说人间是灵魂的炼狱,却忘了炼狱的熔炉,从来都是人类自己亲手点燃的。这份煎熬,源于我们把意识的全息自由度,死死坍缩在了“低维执念”的硬壳里。个人困在“必须成功、必须合群”的认知囚笼中撞得头破血流;人类集…

作者头像 李华