开机怎么grub命令

GRUB(Grand Unified Bootloader)是Linux系统中广泛使用的引导加载程序,负责在开机时加载操作系统内核、初始化系统并启动,当系统出现引导问题(如无法进入系统、忘记密码、需要指定启动参数等)时,通过GRUB命令行进行操作是常见的解决方式,以下将详细介绍开机时如何进入GRUB命令行及常用命令的使用方法。

开机怎么grub命令

进入GRUB命令行的方法

不同Linux发行版进入GRUB菜单的方式略有差异,但核心逻辑是通过特定按键中断自动启动流程,进入GRUB交互界面后再切换到命令行模式,以下是常见操作步骤:

进入GRUB菜单

  • Ubuntu/Debian系统:开机时按住Shift键(或连续按Esc),直到出现GRUB菜单界面。
  • CentOS/RHEL/Fedora系统:开机时按e键(部分系统需先按Esc唤醒GRUB菜单后再按e),进入编辑模式。
  • Arch Linux系统:开机时按Esc键,进入GRUB菜单后选择“Advanced options”或直接按e编辑启动项。

切换到命令行模式

  • 若在GRUB菜单界面,直接按c键即可进入GRUB命令行( grub> 提示符)。
  • 若已进入编辑模式(如按e后),需先定位到以linuxlinuxefi开头的内核参数行,将光标移至行尾,删除ro quiet splash等参数,添加init=/bin/bash(临时切换为bash环境)或直接按Ctrl+X进入命令行(部分系统需先按F10启动,再中断进入命令行)。

GRUB命令行常用命令及示例

进入GRUB命令行后,可通过命令查看设备、加载内核、设置参数等,以下是核心命令及用法(以GRUB2为例,GRUB Legacy命令略有差异):

命令 用途 示例
help 显示所有可用命令及帮助信息 help
ls 列出所有存储设备及分区 ls(显示如(hd0,gpt1) (hd0,gpt2)等分区)
set 查看或设置GRUB环境变量 set(查看当前变量,如rootprefix);set root='hd0,gpt1'(设置根分区)
linux 加载Linux内核文件 linux /boot/vmlinuz-5.4.0-91-generic root=/dev/sda2(指定内核路径和根分区)
initrd 加载initrd镜像文件 initrd /boot/initrd.img-5.4.0-91-generic
boot 启动已配置的内核 boot(执行加载内核和initrd后启动)
reboot 重启系统 reboot
insmod 动态加载模块 insmod ext2(加载ext2文件系统模块,用于识别分区)
search 搜索包含特定文件的分区 search --set=root --file /boot/grub/grub.cfg(查找grub.cfg并设为根分区)

GRUB命令行常见操作场景

启动系统(指定内核或根分区)

当系统因根分区参数错误无法启动时,可通过命令手动指定:

开机怎么grub命令

# 1. 列出分区,确认内核和initrd路径
ls (hd0,gpt1)/boot/  # 假设系统在hd0,gpt1分区,查看boot目录下的文件
# 2. 加载内核和initrd
linux /boot/vmlinuz-5.4.0-91-generic root=/dev/sda2 ro
initrd /boot/initrd.img-5.4.0-91-generic
# 3. 启动
boot

修复忘记的root密码

  • 进入GRUB命令行后,修改内核参数,添加rd.break(进入系统初始化的紧急模式):
    linux /boot/vmlinuz-5.4.0-91-generic root=/dev/sda2 ro rd.break
    initrd /boot/initrd.img-5.4.0-91-generic
    boot
  • 系统会挂载根分区为/sysroot,执行以下命令重置密码:
    mount -o remount,rw /sysroot  # 重新挂载为可读写
    chroot /sysroot               # 切换到根环境
    passwd root                    # 修改root密码
    touch /.autorelabel            # (可选)强制下次重启时重新标签文件系统
    exit                          # 退出chroot
    reboot                        # 重启系统

无法识别文件系统(如LVM、加密分区)

若GRUB默认无法识别分区文件系统(如LVM、LUKS加密),需先加载对应模块:

# 加载LVM模块(适用于LVM分区)
insmod lvm
ls  # 此时会显示LVM卷组名称(如vg0/root)
# 加载加密分区模块(LUKS)
insmod cryptodisk
insmod luks
# 搜索LUKS分区并解锁(需手动输入密码)
search --set=root --fs-uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  # LUKS分区的UUID
cryptomount uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

注意事项

  1. GRUB版本差异:GRUB Legacy(GRUB 0.97)与GRUB2命令不同,例如GRUB Legacy用root (hd0,0)表示第一个分区的第一个扇区,而GRUB2用set root='hd0,gpt1'
  2. 操作前备份:修改GRUB配置前,建议备份/boot/grub/grub.cfg文件,避免误操作导致系统无法启动。
  3. 参数谨慎性:手动指定内核参数时,确保root=参数正确(可通过lsblkid命令查看分区UUID或设备名)。

相关问答FAQs

Q1:开机时按Shift/Esc无法进入GRUB菜单怎么办?
A:可能原因及解决方法:

  • BIOS/UEFI禁用了快速启动:进入BIOS/UEFI设置,关闭“Fast Boot”或“UEFI Fast Boot”选项。
  • GRUB超时时间过短:修改/etc/default/grub文件,将GRUB_TIMEOUT设置为10(默认可能为0或秒数),然后执行sudo update-grub更新配置。
  • GRUB未安装在主引导记录(MBR)或EFI分区:重新安装GRUB,例如Ubuntu系统执行sudo grub-install /dev/sda(MBR模式)或sudo grub-install --efi-directory=/boot/efi(UEFI模式)。

Q2:使用GRUB命令行启动后,系统报错“kernel panic: not syncing: VFS: Unable to mount root fs on unknown-block(0,0)”怎么办?
A:通常是因为root=参数错误或内核未找到根分区,解决步骤:

开机怎么grub命令

  1. 确认内核路径:通过ls (hd0,gpt1)/boot/查看vmlinuzinitrd文件是否存在,路径是否正确。
  2. 确认根分区:使用blkid命令查看分区的UUID(如UUID=xxxx-xxxx / ext4 defaults 0 0),然后修改linux行中的root=参数为root=UUID=xxxx-xxxx
  3. 检查文件系统模块:若使用ext4/xfs等文件系统,确保加载了对应模块(如insmod ext4)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/17581.html

(0)
酷番叔酷番叔
上一篇 2025年8月26日 17:21
下一篇 2025年8月26日 17:33

相关推荐

  • 手机终端怎么输命令

    终端输命令需先获取root权限,安装终端模拟器,在特定

    2025年8月18日
    7600
  • 安全数据法律如何平衡个人信息保护与企业合规需求?

    在数字化浪潮席卷全球的今天,数据已成为关键生产要素和核心战略资源,其安全直接关系国家安全、经济运行和社会稳定,为规范数据处理活动,保障数据安全,中国构建了以《中华人民共和国数据安全法》(以下简称《数据安全法》)为核心,辅以《中华人民共和国网络安全法》《中华人民共和国个人信息保护法》(以下简称《个人信息保护法……

    2025年10月28日
    5500
  • Cassandra命令行报错怎么办?

    <command> is not a valid command 或 Unknown command,此问题通常由命令拼写错误、环境配置异常、版本不兼容或权限问题导致,分步排查与解决方案检查命令拼写与语法(最常见原因)大小写敏感:CQL命令不区分大小写,但cqlsh元命令(以开头)需小写✅ 正确:D……

    2025年7月24日
    10600
  • 安装syslog工具有多难?

    在Linux系统中,保存已执行的命令记录对于审计、故障排查、脚本复用或学习都至关重要,以下是7种专业且高效的方法,涵盖不同场景需求:实时保存到文本文件(基础重定向)command | tee -a output.txt # 同时显示输出并追加到文件或command >> output.txt 2&g……

    2025年7月24日
    11400
  • 安全专家如何护航双11促销活动?

    在数字经济蓬勃发展的今天,电商促销活动已成为企业提升业绩的重要战场,而“双11”作为年度规模最大的购物狂欢,其背后潜藏的安全风险不容忽视,从服务器高并发压力、数据泄露风险,到恶意攻击、业务逻辑漏洞,每一个环节都可能影响用户体验甚至造成品牌损失,安全专家服务在此类大型促销活动中扮演着“守护者”角色,通过专业能力构……

    2025年12月7日
    4000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信