你家有这些安全隐患吗?

GRUB操作涉及系统核心引导流程,错误命令可能导致系统无法启动,建议普通用户在有经验人员指导下操作,修改关键配置前务必备份重要数据,本文仅提供技术参考,操作风险需自行承担。


GRUB基础概念

GRUB(GRand Unified Bootloader)是Linux系统的主流引导程序,负责加载内核,其操作分为两个主要环境:

  1. GRUB 菜单界面:开机时按 Shift(BIOS)或 Esc(UEFI)进入。
  2. GRUB 命令行:在菜单界面按 c 键进入,提示符为 grub>

常用GRUB命令详解(命令行模式)

grub> 提示符下输入命令(按 Tab 键可补全):

  1. 查看磁盘与分区 (ls)

    grub> ls
    (hd0) (hd0,msdos2) (hd0,msdos1) ... 
    • (hdX):物理磁盘(X=0,1,2…)
    • (hdX,msdosY)(hdX,gptY):分区(Y=1,2,3…)。msdos 指MBR分区表,gpt 指GPT分区表。
  2. 查看分区内容 (ls /path)
    确定根分区()或 /boot 分区位置:

    grub> ls (hd0,gpt2)/boot/grub
    # 若显示文件列表(如grub.cfg),说明该分区包含GRUB配置
    grub> ls (hd0,gpt2)/vmlinuz* 
    # 查找内核文件
  3. 设置根设备 (set root)
    指定包含内核和initramfs的分区(通常是 /boot 所在分区):

    grub> set root=(hd0,gpt2)
  4. 加载Linux内核 (linux)
    指定内核文件路径和启动参数:

    grub> linux /boot/vmlinuz-5.15.0-86-generic root=/dev/nvme0n1p2 ro quiet splash
    • /boot/vmlinuz...:内核文件路径(相对于 set root 设置的设备)。
    • root=/dev/XXX:指定系统根分区()的设备文件(需根据 ls 结果确定)。
    • ro:以只读方式挂载根文件系统(初始化后切换为rw)。
    • quiet splash:隐藏启动日志,显示图形启动画面(可选)。
  5. 加载初始内存盘 (initrd)
    加载与内核匹配的initramfs镜像:

    grub> initrd /boot/initrd.img-5.15.0-86-generic
  6. 启动系统 (boot)
    执行加载的内核和initramfs:

    grub> boot

GRUB菜单界面实用技巧

在菜单界面高亮选中条目时操作:

  1. e:编辑启动项

    • 临时修改当前选中的启动项配置(重启失效)。
    • 找到以 linux 开头的行,可修改内核参数(如删除 quiet splash 查看详细日志,或添加 single 进入单用户模式)。
    • Ctrl+XF10 使用修改后的配置启动。
  2. c:进入命令行
    如前所述,进行高级故障修复。

  3. F2/F3:保存/加载配置片段
    某些发行版支持保存临时编辑的配置。


修复GRUB的典型场景

场景1:GRUB Rescue模式(系统无法启动,提示 grub rescue>

  1. 定位 /boot 分区:
    grub rescue> ls
    grub rescue> ls (hd0,gpt1)/boot/grub
    # 尝试不同分区直到找到包含grub目录的分区
  2. 设置前缀和根:
    grub rescue> set prefix=(hd0,gpt1)/boot/grub
    grub rescue> set root=(hd0,gpt1)
  3. 加载正常模块:
    grub rescue> insmod normal
    grub rescue> normal # 进入常规GRUB菜单
  4. 进入系统后永久修复
    sudo update-grub
    sudo grub-install /dev/sdX # 替换为实际磁盘(如sda,非分区)

场景2:重装GRUB到磁盘(UEFI系统示例)

  1. 从Live USB启动系统。
  2. 挂载根分区和EFI分区:
    sudo mount /dev/nvme0n1p2 /mnt          # 挂载根分区
    sudo mount /dev/nvme0n1p1 /mnt/boot/efi # 挂载EFI系统分区(ESP)
  3. Chroot到目标系统:
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot /mnt
  4. 重新安装GRUB:
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu
    update-grub
  5. 退出并重启:
    exit
    sudo umount -R /mnt
    reboot

专业建议与风险规避

  1. 备份优先:操作前备份 /etc/default/grub/boot/grub/grub.cfg 及重要数据。
  2. 理解参数:勿随意修改 linux 行的 root= 或删除关键参数。
  3. 确认分区:使用 lsls (hdX,Y)/ 反复验证分区信息。
  4. 慎用 grub-install:错误安装可能导致其他系统无法启动。
  5. 单用户模式:启动时在 linux 行末尾添加 single 可进入紧急维护环境。
  6. 日志查看:启动失败时删除 quiet 参数查看内核日志定位问题。

何时寻求专业帮助?
若出现以下情况,建议联系系统管理员或专业支持:

  • 无法识别任何硬盘 (ls 无输出)
  • 关键文件损坏(内核、initramfs、GRUB模块)
  • 涉及RAID/LVM/加密分区的复杂配置
  • 多次尝试后仍无法引导

引用说明: 参考了以下权威来源以确保技术准确性:

  1. GNU GRUB Manual 2.06 ([www.gnu.org/software/grub/manual/grub]())
  2. Ubuntu Community Wiki – GRUB2 ([help.ubuntu.com/community/Grub2]())
  3. Arch Linux Wiki – GRUB ([wiki.archlinux.org/title/GRUB]())
  4. Linux Kernel Documentation – Boot Parameters ([www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html]())

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

(0)
酷番叔酷番叔
上一篇 2025年7月9日 04:55
下一篇 2025年7月9日 05:10

相关推荐

  • 为什么你总是瘦不下来?

    什么是 SVN?Apache Subversion(简称 SVN)是一个开源的集中式版本控制系统,用于管理文件和目录的变更历史,它帮助团队协作开发、追踪代码修改、回溯历史版本,是软件开发中常用的工具之一,安装 SVN 客户端在执行命令前,需先安装 SVN 客户端:Windows:下载 TortoiseSVN(图……

    2025年6月16日
    17700
  • 国内三甲医院智慧医疗企业,是何方神圣引领医疗变革?

    卫宁健康、东软集团等头部企业,通过数字化赋能,正引领三甲医院智慧医疗变革。

    2026年2月25日
    7900
  • 如何快速掌握小票打印机命令?

    当您使用小票打印机(无论是热敏式还是针式)时,您可能听说过“打印机命令”或“控制码”,这些命令是打印机与计算机(或POS系统、嵌入式设备等)之间沟通的“语言”,它们告诉打印机执行特定的操作,而不仅仅是打印文字,理解这些命令对于开发人员、系统集成商、技术支持人员,甚至是对技术好奇的用户来说都很有价值,本文将详细解……

    2025年6月26日
    18800
  • 主流厂商云存储,优势与不足如何权衡?

    优势在于高可靠性与生态,不足是成本与锁定,权衡需结合业务规模、合规需求及预算综合考量。

    2026年2月21日
    8100
  • 安全加固业务

    构建企业数字防线的关键实践在数字化转型的浪潮下,企业业务系统与网络环境的复杂性持续增加,安全漏洞、数据泄露和勒索攻击等威胁层出不穷,安全加固业务作为主动防御的核心手段,通过系统性、标准化的技术手段,对信息系统进行全面优化,降低被攻击风险,本文将从安全加固的定义、核心流程、关键技术、实施价值及常见挑战等方面展开分……

    2025年12月4日
    11200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信