GRUB2 命令行实战:5个核心命令手动引导 Ubuntu 系统(以 Z3735 为例)

发布时间:2026/9/30 19:12:03

GRUB2 命令行实战:5个核心命令手动引导 Ubuntu 系统(以 Z3735 为例)
GRUB2 命令行实战5个核心命令手动引导 Ubuntu 系统当你的Ubuntu系统无法正常启动时GRUB2命令行界面可能是你最后的救命稻草。本文将深入解析ls、set root、linux、initrd和boot这五个核心命令在系统恢复中的关键作用帮助你掌握手动引导系统的技能。1. GRUB2命令行基础与环境准备GRUB2GRand Unified Bootloader version 2是大多数Linux发行版默认使用的引导加载程序。当系统启动失败时你可能会看到一个黑屏界面顶部显示GNU GRUB version x.x字样这就是GRUB2的命令行界面。要进入GRUB2命令行通常有以下几种方式在GRUB菜单界面按c键系统启动失败后自动进入通过Live CD环境手动调用在开始操作前你需要准备以下信息知道你的Linux内核版本如5.4.0-42-generic了解你的根分区位置如/dev/sda2确保你有一个可用的键盘某些虚拟机环境可能需要特别设置重要提示GRUB2中的设备命名规则与Linux系统内不同(hd0)表示第一个硬盘(hd0,msdos1)表示第一个硬盘的第一个MBR分区(hd0,gpt1)表示第一个硬盘的第一个GPT分区2. 设备探测与分区定位ls命令是GRUB2中最基础的探测工具它能列出所有可识别的存储设备和分区。# 列出所有存储设备 ls # 列出特定设备的分区 ls (hd0) ls (hd0,gpt1)/ # 查看分区内容 ls (hd0,gpt2)/boot执行ls命令后你可能会看到类似如下的输出(hd0) (hd0,gpt1) (hd0,gpt2) (hd1) (hd1,msdos1)常见问题排查如果ls命令没有输出可能是存储驱动未加载如果分区内容无法列出可能是文件系统损坏或不被支持3. 设置根分区与内核加载确定正确的分区后你需要使用set root命令设置根设备然后加载内核。# 设置根分区假设根分区在第二个GPT分区 set root(hd0,gpt2) # 加载Linux内核 linux /boot/vmlinuz-5.4.0-42-generic root/dev/sda2 # 加载初始内存盘 initrd /boot/initrd.img-5.4.0-42-generic参数说明参数说明root/dev/sda2指定根文件系统位置ro以只读模式挂载可选项quiet减少启动信息输出可选项splash显示启动画面可选项如果不知道确切的内核版本可以尝试使用Tab键自动补全linux /boot/vmlinuz-按Tab键4. 引导系统与常见问题解决完成内核和initrd加载后使用boot命令启动系统boot如果启动失败可能需要检查以下问题内核参数错误确认root参数指向正确的根分区尝试添加nomodeset参数解决显卡问题文件系统损坏# 尝试修复文件系统 fsck /dev/sda2initrd不匹配确保initrd版本与内核版本一致可以尝试使用旧版本内核启动5. GRUB2设备命名与Linux设备映射GRUB2使用自己的设备命名规则与Linux系统中的设备名称不同。以下是对照表GRUB2设备名Linux设备名说明(hd0)/dev/sda第一块硬盘(hd0,gpt1)/dev/sda1第一块硬盘的第一个GPT分区(hd1,msdos1)/dev/sdb1第二块硬盘的第一个MBR分区(hd2)/dev/nvme0n1NVMe固态硬盘实际案例假设你的Ubuntu安装在第三块硬盘的第二个分区GRUB2中表示为(hd2,gpt2)Linux中可能为/dev/nvme0n1p26. 高级技巧与自动化脚本对于经常需要手动引导的用户可以创建GRUB2自定义菜单项menuentry Manual Boot Ubuntu { set root(hd0,gpt2) linux /boot/vmlinuz-5.4.0-42-generic root/dev/sda2 initrd /boot/initrd.img-5.4.0-42-generic }或者使用更智能的自动探测脚本menuentry Auto Detect Ubuntu { search --setroot --file /etc/os-release linux /boot/vmlinuz-$(ls /boot | grep vmlinuz | sort -V | tail -n1) rootUUID$(blkid -s UUID -o value $(findfs $(mount | awk $3/{print $1}))) initrd /boot/initrd.img-$(ls /boot | grep vmlinuz | sort -V | tail -n1) }7. 故障排查清单当手动引导失败时可以按照以下步骤排查确认分区布局ls (hd0)/boot检查内核文件cat (hd0,gpt2)/boot/vmlinuz-*验证文件系统ls (hd0,gpt2)/etc/fstab查看启动日志dmesg | grep error尝试恢复模式在linux命令后添加single或init/bin/bash掌握这些GRUB2命令不仅能解决启动问题还能让你更深入地理解Linux系统的启动过程。记住熟练使用GRUB2命令行是每个Linux系统管理员必备的技能之一。

相关新闻

Unity水体Shader开发:核心问题诊断与性能优化实战指南

Unity水体Shader开发:核心问题诊断与性能优化实战指南

2026/9/6 10:29:25

1. 项目概述:Unity水体Shader的“痛”与“通”做Unity项目,尤其是开放世界、RPG或者任何需要自然场景的游戏,水体效果几乎是个绕不开的坎。一个写实或风格化的水面,能瞬间提升场景的沉浸感和品质感。但说实话,Unity的水…

ADCIRC 55.1 在 Ubuntu 22.04 上的编译与部署:解决 NETCDF 依赖的 3 个关键步骤

ADCIRC 55.1 在 Ubuntu 22.04 上的编译与部署:解决 NETCDF 依赖的 3 个关键步骤

2026/9/3 11:00:13

ADCIRC 55.1 在 Ubuntu 22.04 上的编译与部署:解决 NETCDF 依赖的 3 个关键步骤对于从事海洋水动力模拟的研究人员和工程师来说,ADCIRC 是一个不可或缺的工具。作为新一代海洋水动力计算模型,它采用非结构三角形网格和广义波动连续方程的设计…

大疆C板缓启动电路 RC参数计算:从24V VBAT到PMOS导通的3个关键时间常数

大疆C板缓启动电路 RC参数计算:从24V VBAT到PMOS导通的3个关键时间常数

2026/8/31 3:15:38

大疆C板缓启动电路RC参数计算:从24V VBAT到PMOS导通的3个关键时间常数在嵌入式硬件设计中,电源管理电路的设计往往决定了整个系统的稳定性和可靠性。大疆RoboMaster C型开发板作为一款面向机器人竞赛的高性能控制平台,其缓启动电路的设计尤为…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/29 22:00:59

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/28 16:01:49

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/28 2:15:29

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/29 19:20:49

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/28 3:58:00

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/30 8:20:32

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/28 16:01:48

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/28 5:05:21

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/28 16:01:48

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…