当前位置:首页>Linux>Linux/Windows 双系统引导修复(上)——GRUB为什么被干掉了

Linux/Windows 双系统引导修复(上)——GRUB为什么被干掉了

  • 2026-07-02 07:37:33
Linux/Windows 双系统引导修复(上)——GRUB为什么被干掉了

大家好,我是冯哥的缓存。Linux/Windows 双系统用户有一个经典噩梦:某天重启电脑,发现 Linux 启动菜单消失了,直接进了 Windows,怎么都找不回 Linux 入口。 或者更惨的......连 Windows 都进不去,黑屏报错 no bootable device

今天这篇来聊一下为什么会发生这种事,以及用 Live USB 一步步把引导修回来。

一、先搞清楚:电脑怎么知道从哪里启动?

在开始修之前,必须先理解"引导"是怎么工作的。不然修了还是不明白,下次坏了还是茫然。

1. BIOS 时代 vs UEFI 时代

现在的电脑几乎都是 UEFI 了,但有必要了解一下历史对比:

对比维度
BIOS(老)
UEFI(现在)
引导记录位置
硬盘第一个扇区(MBR,512字节)
一个专门的 EFI 分区(FAT32格式)
分区表
MBR 分区表(最多4个主分区)
GPT 分区表(最多128个分区)
多系统管理
MBR 只有一个引导记录,多系统互相覆盖
EFI 分区可以存多个启动项,互不干扰(理论上)
安全启动
没有
有 Secure Boot

💡 提示1: 怎么判断电脑是 UEFI 还是 BIOS? Windows 里按 Win+R 输入 msinfo32,看"BIOS 模式"那行,显示 UEFI 就是 UEFI,显示 Legacy或传统 就是 BIOS。 Linux 里看 /sys/firmware/efi 目录是否存在:ls /sys/firmware/efi 能列出内容说明是 UEFI,反之就是BIOS。

 💡 提示2: 现在的电脑几乎都是UEFI+GPT了,本文也以此为主。

2. UEFI 启动流程

上电
  ↓
UEFI 固件初始化硬件
  ↓
读取 EFI 分区(ESP)中的启动项列表(nvram/bootorder)
  ↓
按顺序尝试启动项
  ↓
找到 GRUB → 加载 grub.cfg → 显示启动菜单
  ↓
用户选择 Linux 或 Windows
  ↓
进入对应系统

关键点:UEFI 的启动项列表存在主板的 NVRAM 里,EFI 分区里存的是各个系统的引导加载程序文件(.efi 文件)。

3. EFI 分区长什么样

EFI 分区(ESP)通常是 100MB~500MB 的 FAT32 分区,挂载在 /boot/efi。里面结构大概是:

/boot/efi/EFI/
├── Microsoft/
│   └── Boot/
│       └── bootmgfw.efi       ← Windows 引导器
├── ubuntu/
│   ├── grubx64.efi            ← GRUB 主文件
│   ├── shimx64.efi            ← Secure Boot 垫片
│   └── grub.cfg               ← GRUB 配置(简单版,指向真正的 grub.cfg,它只包含几行加载根分区配置文件的内容)
├── Boot/
│   └── bootx64.efi            ← 默认启动项(UEFI fallback)
└── ...(其他系统)

Windows的快速启动功能(Fast Startup)在关机时并不会真正关机,它会把内核会话写入休眠文件。这可能导致双系统之间切换时,GRUB无法正确检测到Windows分区。如果GRUB能出现,但选Windows后蓝屏/重启,试试在Windows里关闭‘快速启动’。

二、GRUB 为什么会消失?

知道了结构,再来看"被干掉"的各种场景:

场景一:安装 / 重装 Windows

这是最常见的原因。

Windows 安装程序在安装时会:

  1. 把 EFI/Boot/bootx64.efi 替换为 Windows 引导器
  2. 在主板 NVRAM 里把 Windows 启动项设为第一优先级

结果:GRUB 的文件还在 EFI 分区,但 NVRAM 里的启动顺序被 Windows 改了,电脑开机直接跳过 GRUB 进 Windows。但GRUB文件还在,所以改BIOS启动顺序就能回来。

场景二:Windows 大版本更新(如 Win10 → Win11 升级)

Windows 大版本升级走的是重装流程,和上面一样——会重置启动顺序。

场景三:Windows 更新覆盖了 EFI/Boot/bootx64.efi

EFI/Boot/bootx64.efi 是 UEFI 的"默认启动项",很多 Linux 发行版为了在 Windows 已有的情况下还能引导,会把 GRUB 也复制到这个路径。但 Windows 更新有时会把这个文件替换成 Windows 引导器,把 GRUB 顶掉。

场景四:CMOS 电池没电 / 重置 BIOS

NVRAM 存储的启动项列表有时依赖 CMOS 电池维持,如果 CMOS 掉电或 BIOS 被重置,主板可能会回退到默认启动项(EFI/Boot/bootx64.efi),如果这个文件被 Windows 占了,就进不了 GRUB。

场景五:手动删了 EFI 分区里的文件

误操作,或者"清理垃圾"时把 EFI 分区的 ubuntu/ 目录删了。

场景六:磁盘分区变动导致 GRUB 找不到 Linux 分区

调整分区大小、移动分区、更换硬盘后,GRUB 配置文件里记录的 UUID 或设备号可能对不上新的分区布局。

三、判断是哪种情况

在动手修之前,先判断一下问题属于哪种:

症状
最可能的原因
开机直接进 Windows,完全没有选择菜单
Windows 安装/更新改了启动顺序
开机黑屏,显示 no bootable device / boot device not found
EFI 分区里的引导文件损坏或被删
有 GRUB 菜单,但选 Linux 后卡住或报错
GRUB 配置损坏,或 Linux 分区 UUID 变了
进了 GRUB 命令行(grub> ),没有菜单
grub.cfg 丢失或路径不对
开机直接 UEFI Shell(黑底 Shell>
EFI 分区里没有有效的 .efi 文件

四、最简单的情况:启动顺序被改了

如果确认 GRUB 文件还在(因为之前装双系统是成功的),只是开机直接进 Windows,最简单的修法是在 BIOS/UEFI 设置里改启动顺序

进 BIOS/UEFI 设置

开机时按快捷键(各品牌不同):

品牌
进 BIOS 快捷键
进启动菜单快捷键
联想(Lenovo/ThinkPad)
F1 / F2
F12
华硕(ASUS)
F2 / Del
F8
宏碁(Acer)
F2 / Del
F12
戴尔(Dell)
F2
F12
惠普(HP)
F10 / Esc
F9
微星(MSI)
Del
F11
技嘉(Gigabyte)
Del
F12
小米
F2
F12
华为
F2
F12

如果经操作过一次,下次遇到问题可以直接照着这个表操作。

进 BIOS 后找"Boot"或"引导"选项卡,可以移动 ubuntu(或 GRUB)、 Windows Boot Manager 前后顺序,保存退出。

💡 提示: 如果在启动顺序里根本找不到 ubuntu 或 GRUB 的选项,说明 NVRAM 里的启动项被彻底清掉了,需要用下面的方法从 Live USB 修复。

五、用 Live USB 修复 GRUB(核心方法)

Live USB 就是装 Linux 时用的那个 U 盘,也可以重新用 balenaEtcher 制作一个 Ubuntu 的 Live 镜像。用 Live USB 启动,不进安装,而是进"试用 Ubuntu",然后 chroot 到安装好的系统里重装 GRUB。整个过程大约15-20分钟,请耐心操作,不要中途断电。

准备工作

  1. 准备一个 Ubuntu Live USB(版本和安装的最好一致,但不严格要求,如果找不到完全一致的版本,用Ubuntu 22.04/24.04的Live USB也基本可以,grub-install 向后兼容。)
  2. 从 Live USB 启动,选"试用 Ubuntu"(Try Ubuntu)
  3. 打开终端

第一步:找到 Linux 分区

# 列出所有分区
lsblk -f

# 或者详细的信息
sudo fdisk -l

lsblk -f 输出示例:

NAME        FSTYPE LABEL  UUID                                 MOUNTPOINTS
sda
├─sda1      vfat          XXXX-XXXX                            /boot/efi   ← EFI 分区
├─sda2      ext4          xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx           ← Linux 根分区
└─sda3      ntfs   Windows                                          ← Windows 分区
nvme0n1
├─nvme0n1p1 vfat          XXXX-XXXX                                 ← EFI 分区(NVMe硬盘)
└─nvme0n1p2 ext4          xxxxxxxx-...                                ← Linux 根分区

需要记下:

  • Linux 根分区
    /,通常是 ext4 格式):比如 /dev/sda2 或 /dev/nvme0n1p2
  • EFI 分区
    (vfat,通常 100~500MB):比如 /dev/sda1 或 /dev/nvme0n1p1

第二步:挂载 Linux 根分区

# 把 Linux 根分区挂到 /mnt(把 /dev/sda2 换成根分区)
sudo mount /dev/sda2 /mnt

如果有单独的 /boot 分区(安装时分了的话),也要挂上:

# 查看是否有 /boot 分区
lsblk -f | grep boot

# 如果有,挂上(把 /dev/sda3 换成 boot 分区)
sudo mount /dev/sda3 /mnt/boot

第三步:挂载 EFI 分区

# 把 EFI 分区挂到 /mnt/boot/efi(把 /dev/sda1 换成 EFI 分区)
sudo mount /dev/sda1 /mnt/boot/efi

第四步:绑定必要的系统目录

# 这几个目录是 chroot 环境正常工作所必须的
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /run /mnt/run

# 如果需要用 efibootmgr 修改启动顺序,再挂一个:
sudo mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars

第五步:chroot 进入系统

# 切换根目录到安装的 Linux
sudochroot /mnt

💡 提示: chroot 之后,终端提示符会变化成‘root@ubuntu:/#’之类,现在"相当于"在安装的 Linux 系统里操作,而不是 Live USB 的临时系统。

第六步:重新安装 GRUB

UEFI 系统(绝大多数现代电脑):

# 重新安装 GRUB 到 EFI 分区
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu

# 重新生成 GRUB 配置文件(扫描所有系统,生成启动菜单)
update-grub

BIOS/MBR 系统(老电脑):

# 把 /dev/sda 换成硬盘名(不加分区号)
grub-install /dev/sda

update-grub

⚠️ 注意:grub-install 的目标是硬盘(如 /dev/sda),不是分区(不要写 /dev/sda1)。UEFI 系统用 --target=x86_64-efi 参数。

第七步:退出 chroot 并重启

# 退出 chroot
exit

# 卸载挂载点(可选,重启会自动卸载)
sudo umount -R /mnt

# 拔出 U 盘,重启
sudo reboot

重启后应该能看到 GRUB 启动菜单,里面有 Ubuntu 和 Windows 两个选项。

六、update-grub 没有检测到 Windows 怎么办

有时候 update-grub 跑完,重启后 GRUB 菜单里只有 Linux,没有 Windows 选项。

# 在 chroot 环境里检查 os-prober 是否安装
dpkg -l | grep os-prober

# 如果没有,安装它
apt install os-prober

# 确认 os-prober 没被禁用
cat /etc/default/grub | grep GRUB_DISABLE_OS_PROBER

# 如果输出 GRUB_DISABLE_OS_PROBER=true,需要改成 false 或者注释掉
nano /etc/default/grub
# 找到那行,改成:
# GRUB_DISABLE_OS_PROBER=false

# 手动运行 os-prober 测试
os-prober
# 应该能输出 Windows 的 EFI 路径

# 重新生成 GRUB 配置
update-grub

💡 提示: Ubuntu 21.10 以后,/etc/default/grub 默认加了 GRUB_DISABLE_OS_PROBER=true,这是 Ubuntu 默认的(安全考虑),但会导致双系统用户的 Windows 选项消失。改成 false 就好了。

七、常见报错处理

报错:grub-install: error: cannot find EFI directory

EFI 分区没挂上,或者挂错了路径:

# 退出 chroot,重新检查 EFI 分区挂载
exit
ls /mnt/boot/efi  # 应该能看到 EFI 目录
# 如果是空的,重新挂载 EFI 分区
sudo mount /dev/sda1 /mnt/boot/efi
# 再重新 chroot 进去操作

报错:grub-install: error: failed to get canonical path of /cow

这个报错通常意味着EFI分区没有正确挂载到 /boot/efi,先检查挂载再重试:

sudo mount --bind /run /mnt/run
# 重新 chroot 后再试

报错:cannot find a device for /boot/efi

EFI 分区没挂或识别失败:

# 查看 EFI 分区是否正确挂载
mount | grep efi
# 确认输出类似:/dev/sda1 on /mnt/boot/efi type vfat

GRUB 安装成功但开机还是进 Windows

NVRAM 里的启动顺序没变,需要手动改:

# 在 chroot 环境里查看当前启动顺序
efibootmgr

# 输出示例:
# BootCurrent: 0001
# BootOrder: 0001,0000
# Boot0000  Windows Boot Manager
# Boot0001  ubuntu

# 把 ubuntu(Boot0001)设为第一启动项
efibootmgr -o 0001,0000
# 或者:
efibootmgr --bootorder 0001,0000

八、全流程速查表

步骤
命令
说明
1. 查分区
lsblk -f
找根分区和 EFI 分区
2. 挂根分区
sudo mount /dev/sdXN /mnt
X=盘符,N=分区号
3. 挂 EFI 分区
sudo mount /dev/sdXN /mnt/boot/efi
4. 绑定系统目录
sudo mount --bind /dev /mnt/dev
 等
共5个目录
5. 进入 chroot
sudo chroot /mnt
6. 重装 GRUB
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
UEFI 系统用这条
7. 更新配置
update-grub
扫描并生成启动菜单
8. 退出重启
exit
 → sudo reboot
拔掉 U 盘再重启

如果经操作过一次,下次遇到问题可以直接照着这个表操作。

总结

核心知识点
一句话
为什么消失
Windows 安装/更新改了 NVRAM 启动顺序,或覆盖了 EFI 分区文件
最简单的修法
进 BIOS/UEFI 设置,把 ubuntu/GRUB 拖到启动顺序第一位
文件被删的修法
Live USB → chroot → grub-install → update-grub
Windows 不显示
安装 os-prober,把 GRUB_DISABLE_OS_PROBER 的值改成 false

📌 下一篇预告: 《Linux/Windows 双系统引导修复(下)——boot-repair 与手动修复进阶》,介绍 boot-repair 一键工具、更复杂的分区情况处理,以及修完之后怎么防止 Windows 更新再次干掉 GRUB。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-02 23:25:38 HTTP/2.0 GET : https://f.mffb.com.cn/a/500488.html
  2. 运行时间 : 0.694694s [ 吞吐率:1.44req/s ] 内存消耗:4,711.67kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=39d143855e12656f8516f7a35271e18d
  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.000942s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001418s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.014319s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.006310s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001475s ]
  6. SELECT * FROM `set` [ RunTime:0.004507s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001561s ]
  8. SELECT * FROM `article` WHERE `id` = 500488 LIMIT 1 [ RunTime:0.007358s ]
  9. UPDATE `article` SET `lasttime` = 1783005939 WHERE `id` = 500488 [ RunTime:0.022830s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.003272s ]
  11. SELECT * FROM `article` WHERE `id` < 500488 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.031150s ]
  12. SELECT * FROM `article` WHERE `id` > 500488 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.030232s ]
  13. SELECT * FROM `article` WHERE `id` < 500488 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.278555s ]
  14. SELECT * FROM `article` WHERE `id` < 500488 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.059165s ]
  15. SELECT * FROM `article` WHERE `id` < 500488 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.050568s ]
0.698414s