当前位置:首页>Linux>Linux/Windows 双系统引导修复(下)——boot-repair 与手动修复进阶

Linux/Windows 双系统引导修复(下)——boot-repair 与手动修复进阶

  • 2026-06-28 03:14:40
Linux/Windows 双系统引导修复(下)——boot-repair 与手动修复进阶

大家好,我是冯哥的缓存。上篇聊了 GRUB 为什么会消失,以及用 Live USB 进入 chroot 手动修复的方法。今天聊一下两件事:一是更傻瓜的 boot-repair 一键修复工具;二是怎么防止 Windows 更新再次把 GRUB 干掉——修完不是终点,不再被干掉才是目标。

一、boot-repair:不想敲命令的救命工具

如果觉得 chroot 操作太复杂,boot-repair 是一个可以"一键修复"的图形化工具。

1. boot-repair 能干什么

boot-repair 是专门为引导修复设计的 Ubuntu 工具,主要功能:

功能
说明
Recommended Repair
自动分析引导问题并修复,覆盖 90% 的常见场景
GRUB 重装
自动检测 EFI 分区并重装 GRUB
修复 MBR
Legacy BIOS 环境同样支持
修复 os-prober
自动让 GRUB 重新检测 Windows 分区
生成引导报告
上传到网络,方便在论坛求助时分享

2. 怎么用 boot-repair

第一步:用 Ubuntu Live USB 启动

插入 Ubuntu Live USB,选择"Try Ubuntu"(不要安装),进入桌面。

第二步:联网

boot-repair 需要联网安装。点右上角网络图标,连接 Wi-Fi 或插网线。

⚠️ 注意: 如果网络不通,可以先参考上篇的 chroot 手动修复方法,不依赖网络。

第三步:安装 boot-repair

打开终端,执行:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install -y boot-repair

第四步:启动并修复

boot-repair

图形界面打开后,直接点 "Recommended Repair"(推荐修复),然后按提示操作,全程鼠标操作即可。

修复结束后会弹出摘要,告诉你做了什么。按提示重启,引导菜单一般就回来了。

💡 提示: 如果 Recommended Repair 失败,界面上还有"Advanced options",可以手动指定安装 GRUB 到哪块硬盘的哪个分区。通常不需要动这里,但如果有多块硬盘,可能需要手动指定。比如系统装在NVMe SSD(/dev/nvme0n1)而EFI分区在SATA硬盘(/dev/sda1)时,boot-repair 可能识别错,需要手动选对EFI分区。

二、efibootmgr:手动管理 NVRAM 启动项

不管是手动 chroot 修复还是 boot-repair 修复,修完之后可能还想手动调整 NVRAM 里的启动顺序,让 GRUB 永远排第一。这时候用 efibootmgr

1. 查看当前启动项

efibootmgr -v

输出示例:

BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0002
Boot0000* Windows Boot Manager  HD(1,GPT,...)/File(\EFI\Microsoft\Boot\bootmgfw.efi)
Boot0001* ubuntu                HD(1,GPT,...)/File(\EFI\ubuntu\shimx64.efi)
Boot0002  UEFI: USB Flash Drive ...
  • BootCurrent
    :本次实际用哪个启动项启动的
  • BootOrder
    :启动尝试顺序(从左到右,0001 优先于 0000)
  • Boot0000*
    :带星号表示该项已激活;无星号表示禁用

2. 修改启动顺序

把 GRUB(ubuntu,假设编号 0001)调到第一位:

# 查看完整BootOrder,然后按原样加上ubuntu排前面
efibootmgr -v

# 不要把其他启动项丢掉,否则可能无法从U盘启动
sudo efibootmgr --o 0001,0000,0002

顺序改完立即生效,重启就会按新顺序启动。

3. 删除多余的启动项

有时候会留下很多残余的启动项,可以删掉:

sudo efibootmgr --delete-bootnum --bootnum 0003

把 0003 换成要删的编号。

4. 手动添加 GRUB 启动项

如果 GRUB 条目不见了,可以手动添加(需要知道 EFI 分区在哪块硬盘的哪个分区):

# 先查 EFI 分区在哪
lsblk -f | grep -i vfat

# 假设 EFI 分区是 /dev/sda1(第一块硬盘的第一个分区)
sudo efibootmgr \
  --create \
  --disk /dev/sda \
  --part 1 \
  --label "ubuntu" \
  --loader '\EFI\ubuntu\shimx64.efi'

💡 提示:--loader 里的路径用反斜杠,这是 UEFI 标准要求的,不是 Linux 习惯。

三、防止 Windows 更新再次干掉 GRUB

这才是最关键的部分。很多人修了一次 GRUB,Windows 大版本更新后又被干掉,然后再修,循环往复。根本解法是把 GRUB 设成"不可被覆盖"的默认启动项。

方案一:把 GRUB 写入 fallback 路径(最简单)

UEFI 规定,如果 NVRAM 里的所有启动项都失败,会自动尝试 \EFI\Boot\bootx64.efi,这叫 fallback 路径。

Windows 更新会把自己的 bootmgfw.efi 复制到这个位置(也就是覆盖这里),这正是 GRUB 被"干掉"的机制之一。

**解法:把 GRUB 的 shimx64.efi 复制到 fallback 位置,并设置为优先。**如果想恢复,把 bootx64.efi.bak 复制回来就行。

# 挂载 EFI 分区(如果没挂载的话)
sudo mount /dev/sda1 /mnt/efi

# 备份 Windows 的 fallback(重要!)
sudocp /mnt/efi/EFI/Boot/bootx64.efi /mnt/efi/EFI/Boot/bootx64.efi.bak

# 安装shim-signed 包(如果没有安装)
sudo apt install shim-signed   

# 把 GRUB 的 shim 复制过去
sudocp /mnt/efi/EFI/ubuntu/shimx64.efi /mnt/efi/EFI/Boot/bootx64.efi

这样即使 NVRAM 被 Windows 改了,fallback 路径也会加载 GRUB。

⚠️ 注意: 这个方法的代价是:如果想直接进 Windows(绕过 GRUB),从 fallback 路径就进不了了,只能从 NVRAM 里的 Windows 条目进,或者在 GRUB 菜单里选 Windows。通常这不是问题——GRUB 里本来就有 Windows 选项。

方案二:用 GRUB 自身的重装命令(在 Linux 系统里执行)

在安装好的 Linux 系统里(不是 Live USB),每次发现 GRUB 被干掉之后:

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
sudo update-grub

这会重新注册 NVRAM 条目并重新生成配置文件,把 GRUB 恢复到第一位。

如果想让这步在每次 Windows 大版本更新后自动执行,可以加一条 cron 任务:

# 打开 root 的 crontab
sudo crontab -e

# 加这一行(每次重启后检查一次,如果 GRUB 不是第一启动项就修复)
@reboot /usr/sbin/grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --quiet 2>/dev/null

⚠️ 注意: 这个方法有一定风险,grub-install 每次重启都跑一遍,大多数情况无害,但如果系统处于特殊状态(比如 EFI 分区未挂载)可能出问题,所以不推荐给普通用户。如果需要自动化,建议改为检测efibootmgr -v中GRUB是否在第一位,不在才执行grub-install。如果实在不放心,改用手动执行。对大多数用户来说方案一更实用。

四、MBR/Legacy BIOS 环境的修复(老电脑)

如果用的是老电脑(BIOS 模式,不是 UEFI),修复方式有所不同。

确认是 Legacy BIOS

在 Live USB 环境里:

ls /sys/firmware/efi
# 如果报错"没有这个文件或目录",就是 Legacy BIOS
也可以用 [ -d /sys/firmware/efi ] && echo UEFI || echo Legacy 一键判断。

Legacy BIOS 的引导结构

Legacy BIOS 的引导程序写在硬盘 MBR(主引导记录,512字节)里,没有 EFI 分区这个概念。GRUB 装在 MBR 里,直接接管整块硬盘的引导。

修复步骤

进入 Live USB 后 chroot(步骤和上篇一样,但不挂载 EFI 分区),然后:

# Legacy 模式:把 GRUB 写到 MBR
# /dev/sda 是目标硬盘(整块硬盘,不是分区)
sudo grub-install /dev/sda
sudo update-grub

UEFI 模式
Legacy 模式
grub-install --target=x86_64-efi --efi-directory=/boot/efigrub-install /dev/sda
改 NVRAM 调启动顺序
MBR 只有一个,装了就是第一
EFI 分区(FAT32,100MB+)
不需要 EFI 分区

⚠️ 注意: Legacy 模式下多个系统争同一块 MBR,谁装在后面谁的引导器就会覆盖前面的。Windows 安装会覆盖 GRUB,所以如果是先装 Linux 再装 Windows,Windows 会直接覆盖 MBR,必须用上面的 grub-install /dev/sda 重新装回来。

五、GRUB 配置文件常见调整

修复完之后,顺带讲几个 GRUB 配置的实用调整:

1. 修改默认启动项

sudo nano /etc/default/grub

把 GRUB_DEFAULT=0 改成想要的条目编号(0 是第一个,通常是 Ubuntu;如果 Windows 排在第 3 个,就改成 2),或者直接写名称:

GRUB_DEFAULT="Windows Boot Manager"

> ⚠️ **注意:**必须和 update-grub 输出里的菜单标题完全一致,包括大小写和空格。

修改后重新生成:

sudo update-grub

2. 修改启动等待时间

GRUB_TIMEOUT=10    # 等10秒;改成0就直接不等,改成-1就一直等

3. 让 GRUB 记住上次选择

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

这样每次选了哪个系统,下次开机就默认选那个——双系统用户很实用。

4. GRUB 看不到 Windows

# 确认 os-prober 已安装
sudoapt install os-prober

# 编辑 GRUB 配置,把这行加上(或取消注释)
sudo nano /etc/default/grub
# GRUB_DISABLE_OS_PROBER=false

# 重新生成
sudo update-grub

update-grub 输出里如果有 Found Windows Boot Manager on /dev/sda1,说明 Windows 已经被检测到了。

六、完整修复路线汇总

遇到引导问题,按这个路线走:

步骤
操作
1
开机进 BIOS,看 Linux 启动项还在不在
2
在→ 在 BIOS 里把 GRUB 调到第一位,重启,问题解决
3
不在→ 用 Ubuntu Live USB 启动
4
想简单→ 用 boot-repair 图形界面,点 Recommended Repair
5
想手动→ chroot + grub-install + update-grub(上篇方法)
6
修好后→ 用 efibootmgr 确认 GRUB 在第一位
7
防复发→ 把 GRUB 的 shimx64.efi 复制到 fallback 路径

💡 提示: 多数情况下步骤 1-2 就能解决问题,根本不需要 Live USB。Windows 更新只是改了 NVRAM 顺序,GRUB 文件本身还在,进 BIOS 调一下就好。步骤6确认后,可以记录一下GRUB的编号(如0001),以后Windows更新后直接改BIOS或跑efibootmgr -o就行。

七、写在最后:双系统引导的最佳实践

引导问题折腾过一次就心有余悸,这里总结几条预防建议:

建议
原因
先装 Windows,再装 Linux
GRUB 装在 Linux 之后,自动检测并加上 Windows 条目,顺序最干净
Windows 大版本更新后立刻检查引导
Windows 更新最容易动 NVRAM,更新后进 BIOS 确认一次
把 GRUB 的 shimx64.efi 备份到 fallback 路径
一次性操作,长期有效
制作一个 Ubuntu Live USB 常备
修引导、修分区、救数据都靠它
记录自己的 EFI 分区设备名
每次 chroot 修复都要用,记下来(比如 /dev/sda1)省事

💡 提示: 如果你已经装了Linux,不需要重装,用上篇+本篇的方法修就行。

下篇预告: Linux 的 Shell 配置——bashrc 和 zshrc 怎么用、alias 怎么设、提示符怎么美化,让终端不再是一张白纸。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 00:54:43 HTTP/2.0 GET : https://f.mffb.com.cn/a/500503.html
  2. 运行时间 : 0.215885s [ 吞吐率:4.63req/s ] 内存消耗:4,871.95kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e43f029a5264e875051997e8e34354d0
  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.000962s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001570s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000672s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000588s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001152s ]
  6. SELECT * FROM `set` [ RunTime:0.000546s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001288s ]
  8. SELECT * FROM `article` WHERE `id` = 500503 LIMIT 1 [ RunTime:0.000956s ]
  9. UPDATE `article` SET `lasttime` = 1783011283 WHERE `id` = 500503 [ RunTime:0.058937s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000844s ]
  11. SELECT * FROM `article` WHERE `id` < 500503 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001317s ]
  12. SELECT * FROM `article` WHERE `id` > 500503 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.007768s ]
  13. SELECT * FROM `article` WHERE `id` < 500503 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001697s ]
  14. SELECT * FROM `article` WHERE `id` < 500503 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.037223s ]
  15. SELECT * FROM `article` WHERE `id` < 500503 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.015918s ]
0.219204s