当前位置:首页>Linux>主流Linux发行版中GRUB引导支持LVM逻辑卷现状:原理、配置与最佳实践(轻深度)

主流Linux发行版中GRUB引导支持LVM逻辑卷现状:原理、配置与最佳实践(轻深度)

  • 2026-06-28 20:51:39
主流Linux发行版中GRUB引导支持LVM逻辑卷现状:原理、配置与最佳实践(轻深度)

前一段,在本公众号一篇 GRUB 与 LVM 基础文章的留言区中,有朋友提出 “/boot 分区早已支持 LVM 管理”,该说法完全正确。本篇作为上一篇的补充,核心结论如下:GRUB旧版本不支持将 /boot 放入 LVM,但 GRUB 2 已实现支持

目前所有主流 Linux 发行版,均支持将 /boot 部署在 LVM 逻辑卷内。从生产环境稳定性出发,为规避故障风险,建议将 /boot 设置为独立分区。

不少运维人员实际配置时,常会产生困惑:GRUB 2 如何支持 LVM 内的 /boot 分区?不同发行版配置有何差异?生产环境为何更推荐 /boot 独立部署?这些疑问,根源是对 GRUB 与 LVM 的协同机制、具体配置细节理解不透彻。


一、基础认知:GRUB 与 LVM,为什么要 “绑定” 使用?

深入探讨配置方法前,需先明确两个核心组件的具体作用,以及它们协同工作的意义 —— 这是解决所有相关配置问题的前提。

1.1 GRUB:Linux 系统的 “启动向导”

GRUB(Grand Unified Bootloader)是 Linux 系统最常用的引导加载程序,目前主流版本为 GRUB 2,已全面取代早期的 GRUB Legacy。其核心作用是,在电脑硬件完成初始化后,精准找到并加载 Linux 内核,完成从硬件到操作系统的平滑过渡。

GRUB 的启动流程分为三个关键阶段,各阶段环环相扣、不可或缺:

✅ 第一阶段(Stage 1):位于硬盘 MBR(BIOS 模式)或 EFI 系统分区(UEFI 模式),体积极小(仅 446 字节左右),唯一职责是找到并加载第二阶段程序。

 ✅ 第二阶段(Stage 1.5):作为 GRUB 的 “过渡桥梁”,包含文件系统驱动及 LVM 模块,可直接读取 /boot 分区(无论是否部署在 LVM 上)内的配置文件和内核镜像。

 ✅ 第三阶段(Stage 2):根据配置文件(/boot/grub/grub.cfg)呈现启动菜单,加载内核及初始内存盘,最终将系统控制权移交至操作系统。

最关键的是 GRUB 2 的模块化设计—— 可按需加载 LVM 模块(lvm)。这是其能够引导 LVM 逻辑卷的核心原因,也是引言中 “GRUB 2 支持 /boot 放入 LVM” 的底层技术逻辑。

1.2 LVM:磁盘管理的 “灵活神器”

LVM(逻辑卷管理器)是 Linux 系统提供的磁盘抽象层,可将多个物理磁盘或分区 “池化” 整合,再按需分配虚拟逻辑卷。这一特性,彻底解决了传统分区 “静态死板、无法灵活调整” 的痛点。

LVM 的核心优势是动态管理能力:无需停机,即可实现分区空间扩展与收缩、跨磁盘存储整合、快照备份等操作。这也是企业级服务器优先选择 LVM 的核心原因。

1.3 关键协同:GRUB、内核与 initramfs 的 “三角配合”

系统从 LVM 逻辑卷启动,仅靠 GRUB 和 LVM 不够,还需内核参数与 initramfs 协同配合,三者缺一不可:

  1. GRUB 加载 LVM 模块:Stage 1.5 阶段,GRUB 通过 lvm 模块解析 LVM 元数据,精准定位 /boot 或根分区所在的逻辑卷。

  2. 内核参数传递:GRUB 将 root = 参数(指向 LVM 逻辑卷路径,如 /dev/mapper/vg-root)等关键信息传递给内核,明确告知内核根文件系统的具体位置。

  3. initramfs 搭桥衔接:initramfs 是临时根文件系统,内置 LVM 工具及设备映射器模块,可在系统启动早期激活 LVM 卷组,完成真正根文件系统的挂载。

简单总结:GRUB 负责 “定位” LVM 卷,initramfs 负责 “激活” LVM 卷,内核负责 “使用” LVM 卷。三者高效协同,是 GRUB 2 支持 /boot 放入 LVM、实现全 LVM 引导的核心逻辑。

1.4 版本差异:GRUB Legacy 与 GRUB 2 的 LVM 支持区别

不少资深运维人员记得,早期 Linux 系统的 GRUB 不支持 LVM,核心原因是版本差异:

❌ GRUB Legacy(0.9x 版本):采用静态架构,无法加载 LVM 模块,因此 /boot 分区必须部署在独立物理分区上。根分区虽可放在 LVM 上,但需依赖 initramfs 完成挂载。

 ✅ GRUB 2(1.x + 版本):采用模块化架构,可完美支持 LVM 模块,能将 /boot 分区直接部署在 LVM 逻辑卷上,实现 “全 LVM” 统一管理。这也是目前所有主流 Linux 发行版的默认选择,与引言核心结论完全一致。


二、主流发行版对比:GRUB 引导 LVM 的支持策略差异

明确 GRUB 与 LVM 的协同原理、GRUB 2 与 GRUB Legacy 的核心差异后,再来看看主流发行版的具体支持策略。

所有主流 Linux 发行版均支持 GRUB 2 引导 LVM,也能实现 /boot 放入 LVM 的配置。但因各发行版设计理念不同,默认配置、推荐方案存在明显差异,尤其在 “是否推荐 /boot 独立” 这一关键问题上,倾向各不相同。

这也是很多人跨发行版配置时容易踩坑的核心原因。以下针对两大主流阵营及特色发行版,逐一解析其支持策略。

2.1 Debian 系(Ubuntu、Debian):自动化首选,开箱即用

Debian 系(含 Ubuntu、Debian)的核心优势是 “用户友好、自动化集成”,适合新手及通用场景使用:

✅ 默认配置:安装时勾选 “使用 LVM”,系统会自动将 /boot 分区创建在 LVM 逻辑卷内(推荐 ext4 文件系统),无需手动配置 GRUB,全程自动化完成。 

✅ 工具链:通过 update-grub 命令(grub-mkconfig 的封装工具)更新 GRUB 配置,使用 mkinitramfs(Ubuntu 采用 dracut)生成 initramfs。默认已包含 LVM 相关工具,无需额外安装。 

⚠️ 注意:/boot 分区的文件系统必须是 GRUB 2 支持的类型(如 ext4、XFS),否则会导致系统启动失败。

2.2 RedHat 系(RHEL、CentOS、Fedora):稳健优先,/boot 独立

RedHat 系(含 RHEL、CentOS、Fedora)主打企业级稳健性,延续 “/boot 独立部署” 传统,适合生产环境使用:

✅ 默认配置:Anaconda 安装程序会自动创建约 1GB 的独立 /boot 物理分区(推荐 ext4 文件系统),剩余磁盘空间分配给 LVM 卷组,并默认创建 /(根)和 swap 逻辑卷。

 ✅ 设计初衷:/boot 独立部署可最大限度降低启动链的依赖性。即便 LVM 元数据损坏,GRUB 仍能直接读取 /boot 分区内的内核文件,便于后续系统救援。 

✅ 工具链:通过 grub2-mkconfig 命令生成 GRUB 配置,使用 dracut 工具生成 initramfs。默认已包含 LVM 相关模块,无需手动配置。

 ⚠️ 注意:卷组(VG)名称变更会导致系统启动失败(例如克隆虚拟机后,卷组名从 rhel 变为 centos),需及时修改 GRUB 相关配置。

2.3 其他发行版:openSUSE 与 Arch Linux 的特色支持

除两大主流阵营外,openSUSE 和 Arch Linux 的支持策略极具特色,可满足不同用户的个性化需求:

🔹 openSUSE:兼顾稳健性与灵活性,默认将 /boot 独立部署,支持 Btrfs 与 LVM 组合使用。但官方更推荐 “纯 Btrfs” 方案(Btrfs 的子卷功能可替代部分 LVM 功能,减少系统复杂性),通过 YaST 图形化管理工具,可轻松完成 LVM 相关配置。

🔹 Arch Linux:秉持 “极致手动、用户主导” 理念,所有配置均需用户手动完成。必须在 /etc/mkinitcpio.conf 文件的 HOOKS 数组中添加 lvm2 钩子,否则 initramfs 无法激活 LVM 卷组。

官方强烈建议将 /boot 独立部署,更适合技术熟练的极客及 Linux 学习者使用。

2.4 横向对比:一张表看懂各发行版核心差异

为方便快速选择适配自身场景的发行版,整理各发行版核心特征对比,一目了然:

特征维度
Debian / Ubuntu
RHEL / CentOS / Fedora
openSUSE
Arch Linux
默认 /boot 位置
LVM 逻辑卷内
独立物理分区
独立物理分区
独立物理分区
默认 LVM 使用
推荐,自动化配置
推荐,企业级首选
支持但非首选
用户自主手动配置
initramfs 工具
mkinitramfs / dracut
dracut
dracut
mkinitcpio
关键配置要求
/boot 文件系统为 GRUB 支持类型
/boot 独立,警惕卷组名变更
/boot 独立,谨慎使用 Btrfs+LVM
必须添加 lvm2 钩子
适用场景
通用服务器、桌面、云实例
企业数据中心、关键业务服务器
企业桌面、需要 Btrfs 快照场景
极客、学习者、追求极致控制

三、实战配置:从安装到维护的完整操作指南

了解 GRUB 与 LVM 的协同原理、各主流发行版的支持策略差异后,聚焦实操层面。从简化的安装流程入手,重点拆解核心难点,补充日常维护要点。

3.1 标准安装流程:核心要点速览(简化版)

不同发行版的 GRUB 引导 LVM 安装流程虽有差异,但核心原则统一:确保 GRUB 核心镜像包含 lvm 模块、initramfs 包含 LVM 相关工具、grub.cfg 配置文件正确指向 LVM 逻辑卷。各发行版核心安装要点简化如下,无需复杂操作,重点关注 /boot 位置选择即可:

🔹 Debian/Ubuntu:安装时勾选 “使用 LVM”,系统全程自动化配置,默认将 /boot 放入 LVM,无需手动干预。 

🔹 RedHat 系:自动分区默认创建 1GB 独立 /boot 分区,剩余空间分配给 LVM,兼顾稳健性与便捷性。 

🔹 Arch Linux:需手动创建分区、配置 LVM,关键是在 /etc/mkinitcpio.conf 中添加 lvm2 钩子,再生成 initramfs 和安装 GRUB。

掌握上述简化版安装要点后,重点攻克本章核心难点 ——/boot 分区的位置选择。这直接决定系统启动稳定性,也是运维人员最易纠结的关键环节。

3.2 核心难点:/boot 位置的选择(独立 vs LVM 内)—— 决定系统稳定性的关键

/boot 分区位置选择是 GRUB 引导 LVM 配置的核心环节。它直接决定系统启动稳定性和运维便捷性,也是多数运维人员最易纠结的问题。

答案无需复杂分析,核心围绕使用场景取舍。

以下从优势、适用场景、注意事项三方面,拆解两种选择的核心差异,帮助快速做出最优决策。

✅ 选择 1:/boot 放在 LVM 内(推荐桌面 / 开发工作站,优先便捷性)

核心优势:实现全系统统一 LVM 管理,打破传统分区的静态限制。可根据需求动态扩展 /boot 分区空间,无需停机即可完成扩容。尤其适合磁盘空间紧张、需频繁更新内核(导致 /boot 空间占用增加)的场景,无需担心分区空间不足。同时配置更便捷,如 Debian/Ubuntu 系发行版可全程自动化配置,无需手动干预 GRUB 与 LVM 的协同设置。

适用场景:Ubuntu Desktop、Fedora Workstation 等桌面系统、开发工作站。适合追求配置便捷性、对系统启动稳定性要求不极致,且需要灵活管理磁盘空间的用户。

注意事项:需确保 /boot 分区的文件系统为 GRUB 2 支持的类型(如 ext4、XFS),否则会导致系统启动失败。若 LVM 元数据损坏,可能影响 /boot 分区可访问性,增加系统救援难度。

✅ 选择 2:/boot 独立(推荐企业级服务器,优先稳定性)

核心优势:最大限度降低系统启动链的依赖性,是企业级部署的 “黄金标准”。/boot 独立部署后,即便 LVM 元数据损坏、卷组无法激活,GRUB 仍能直接读取独立 /boot 分区内的内核文件和配置,正常引导系统启动。这为后续故障排查和救援提供极大便利,有效减少系统宕机时间,保障业务连续性。

适用场景:RHEL、CentOS、Ubuntu Server 等生产服务器、企业数据中心。适合运行关键业务、对系统稳定性和可恢复性要求极高的场景,也是引言中重点推荐的生产环境配置方案。

注意事项:/boot 分区建议设置为 1GB 左右,采用 ext4 文件系统,满足内核文件、GRUB 配置的存储需求。无需对 /boot 分区动态扩容,避免因扩容操作增加故障风险,简化日常维护成本。

补充对比:两种选择无绝对优劣,核心是 “场景适配”:

追求便捷性、灵活扩容,选 LVM 内;

追求稳定性、易救援,选独立分区。生产环境中,即便 GRUB 2 完全支持 /boot 放入 LVM,也更推荐独立部署,从源头规避不必要的故障风险。

3.3 日常维护:关键操作不能少

任何对 LVM、内核、GRUB 的修改,都需同步更新 initramfs 和 grub.cfg 配置文件,否则会导致系统启动失败。

🔹 Debian/Ubuntu 维护命令

  1. 安装新内核后:执行 sudo update-initramfs -u -k all(更新所有内核对应的 initramfs 镜像)

  2. 修改 LVM 结构后:执行 sudo update-initramfs -u -k all + sudo update-grub(同步更新 initramfs 和 GRUB 配置)

  3. 卷组名变更后:修改 /etc/default/grub 配置文件,再执行 update-grub 命令更新 GRUB 配置。

🔹 RedHat 系维护命令

  1. 安装新内核后:执行 sudo dracut -f(强制更新当前内核对应的 initramfs 镜像)

  2. 修改 LVM 结构后:执行 sudo dracut -f + sudo grub2-mkconfig -o /boot/grub2/grub.cfg(同步更新 initramfs 和 GRUB 配置)


四、故障排查:常见问题快速解决

即便配置正确,也可能因硬件故障、误操作等导致 GRUB 引导 LVM 失败。以下总结 3 种最常见故障,讲解快速诊断与修复方法。

4.1 故障 1:出现 grub rescue  提示符(GRUB 核心镜像损坏)

现象:开机后系统停留在 grub rescue > 界面,无法正常进入操作系统。 原因:MBR 或 EFI 系统分区被覆盖、/boot 分区被移动或删除、grub.cfg 配置文件严重损坏。

临时修复步骤:

  1. 用 ls 命令查找包含 /boot/grub 的分区:ls (hd0,gpt1)/boot/grub(依次尝试不同分区,直至找到正确路径)。

  2. 设置 GRUB 根目录和前缀:set root=(hd0,gpt2)(将括号内路径替换为上一步找到的分区)、set prefix=(hd0,gpt2)/boot/grub。

  3. 加载 normal 模块并启动系统:insmod normal、normal(输入两条命令后,即可进入 GRUB 启动菜单)。

永久修复:成功进入系统后,执行 sudo update-grub + sudo grub-install /dev/sda(/dev/sda 为系统磁盘,根据实际情况替换)。

4.2 故障 2:报错 “Cannot find volume group”(LVM 激活失败)

现象:系统越过 GRUB 启动菜单,直接进入 initramfs 或 dracut shell,提示 “Cannot find volume group”(无法找到卷组)。 原因:initramfs 镜像缺少 LVM 相关工具、LVM 元数据损坏、卷组(VG)名称发生变更。

修复步骤:

  1. 检查内核参数:
cat /proc/cmdline | grep -o 'rd\.lvm\.lv=[^ ]*'

命令解释

  • cat /proc/cmdline:读取并显示完整的内核启动参数字符串。
  • grep -o 'rd.lvm.lv=[^ ]*':从参数字符串中精确提取所有以 rd.lvm.lv= 开头的内容。rd.lvm.lv 参数用于在系统启动早期指定需要激活的 LVM 逻辑卷。
  1. 手动激活卷组:依次执行 lvm vgscan(扫描所有 LVM 卷组)、lvm vgchange -ay(激活所有卷组)。

  2. 若卷组名称不匹配:使用 vgrename 命令重命名卷组(需与 GRUB 配置中的名称一致),或修改 GRUB 配置文件中的相关参数。

4.3 故障 3:系统无法启动,需用 Live 环境救援

上述两种方法无法修复故障时,需借助 Ubuntu Live USB、Fedora 安装介质进入救援模式,具体步骤如下:

  1. 启动 Live 环境,安装 LVM 相关工具:sudo apt install lvm2(Debian 系发行版,RedHat 系可使用 yum install lvm2)。

  2. 扫描并激活 LVM 卷组:依次执行 sudo vgscan、sudo vgchange -ay。

  3. 挂载根文件系统:sudo mount /dev/mapper/vg-root/mnt/root(将路径替换为实际根逻辑卷路径)。

  4. chroot 到原系统:依次执行 sudo mount --bind /dev/mnt/root/dev、sudo mount --bind /proc/mnt/root/proc、sudo mount --bind /sys/mnt/root/sys,再执行 sudo chroot /mnt/root。

  5. 重新生成 initramfs 和 GRUB 配置:参考对应发行版的日常维护命令,完成配置更新。

  6. 卸载挂载点并重启系统:执行 exit 退出 chroot 环境,再执行 sudo umount /mnt/root/*,最后执行 sudo reboot 重启系统。


五、最佳实践与综合建议

5.1 分区与 LVM 布局最佳实践

  1. 企业级服务器:建议采用 “独立 /boot(1GB ext4)+ 多卷组” 布局(vg_system 存放系统、vg_data 存放数据)。实现故障隔离,便于日常维护和故障排查。

  2. 桌面 / 开发工作站:建议将 /boot 置于 LVM 逻辑卷内,搭配单卷组布局。实现全系统统一 LVM 管理,灵活扩容,适合对配置便捷性要求较高的场景,充分利用 GRUB 2 支持 /boot 放入 LVM 的特性。

  3. 引导模式:优先选择 UEFI 引导模式。相比 BIOS 模式更安全、支持大容量磁盘,且对 LVM 的依赖性更低,可进一步提升系统稳定性。

5.2 不同场景的方案选择

🔹 企业级生产服务器(高可靠优先):推荐选择 RedHat 系、Ubuntu Server,搭配 “独立 /boot + 多卷组 LVM” 布局。 

🔹 桌面 / 开发工作站(易用优先):推荐选择 Ubuntu Desktop、Fedora Workstation,搭配 “/boot 置于 LVM 内” 布局。

 🔹 极客 / 学习者(控制优先):推荐选择 Arch Linux,搭配 “独立 /boot + 手动配置 LVM”,深入掌握系统底层原理。

5.3 未来趋势:GRUB 与 LVM 的集成方向

随着 Linux 技术不断发展,GRUB 与 LVM 的集成将更加智能、安全,未来主要有三个发展方向:

  1. 增强 LVM 高级特性支持:未来 GRUB 有望直接支持 LVM 快照引导,无需额外工具即可快速恢复系统,提升运维效率。

  2. 深度集成 UEFI 安全启动:将 LVM 元数据校验纳入 GRUB 签名验证流程,进一步提升系统安全性,防范恶意篡改。

  3. 简化配置流程:引入更易读、更易用的 GRUB 配置语言,降低手动配置难度,让更多新手能轻松完成 LVM 引导配置。


总结

GRUB2 引导 LVM 逻辑卷的核心,是三者的 “模块化协同”:

GRUB2 的 lvm 模块负责定位 LVM 卷,initramfs 负责激活 LVM 卷,内核负责使用 LVM 卷。

生产环境推荐 /boot 独立部署,本质是为了降低启动链的依赖性,规避不必要的故障麻烦,提升系统可靠性。

不同主流发行版的支持策略虽有差异,但核心原则一致:追求便捷性选 Debian 系,追求稳健性选 RedHat 系,追求极致控制选 Arch Linux。

只要掌握基础原理、标准配置和故障排查方法,就能轻松应对 GRUB 与 LVM 的各种问题,构建健壮、可维护的 Linux 系统。

如果觉得本文有帮助,欢迎点赞、在看、转发,关注获取更多 Linux 运维深度干货~


最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 20:32:19 HTTP/2.0 GET : https://f.mffb.com.cn/a/487306.html
  2. 运行时间 : 0.094457s [ 吞吐率:10.59req/s ] 内存消耗:4,919.01kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a6d8f096ad270453848f4a2c0d3e00b5
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000523s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000838s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000313s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000268s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000488s ]
  6. SELECT * FROM `set` [ RunTime:0.000268s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000511s ]
  8. SELECT * FROM `article` WHERE `id` = 487306 LIMIT 1 [ RunTime:0.000428s ]
  9. UPDATE `article` SET `lasttime` = 1783081939 WHERE `id` = 487306 [ RunTime:0.005546s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000260s ]
  11. SELECT * FROM `article` WHERE `id` < 487306 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000465s ]
  12. SELECT * FROM `article` WHERE `id` > 487306 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000415s ]
  13. SELECT * FROM `article` WHERE `id` < 487306 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000915s ]
  14. SELECT * FROM `article` WHERE `id` < 487306 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001108s ]
  15. SELECT * FROM `article` WHERE `id` < 487306 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.011952s ]
0.096060s