[System Installation] Deepin25磐石全盘安装缺失/boot/loader目录,重装复现【加急】
Tofloor
poster avatar
烽火小哪吒
deepin
2026-08-15 17:29
Author

您好深度操作系统技术团队,麻烦加急处理此Bug反馈,问题影响系统基础引导,多次重装依然复现,情况较为严重。

我使用的设备为荣耀MagicBook NBR‑WAX9,处理器i3‑10110U,内存8GB,内置NVMe 256GB固态硬盘,安装Deepin 25磐石不可变(OSTree快照版本)系统。
我已经多次全盘格式化、完整重装Deepin25磐石版本系统,安装完成后可短暂进入系统,但是系统底层引导会出现异常,出现关键报错: /run/ostree‑booted found, but no /boot/loader directory 。

故障现象完整描述:

1. 系统可以正常登录进入桌面,但是 /boot/loader 目录直接缺失;
2. OSTree磐石架构依赖该目录完成引导管理,目录缺失之后,系统无法执行正常版本更新,一旦执行系统更新操作,机器会直接引导损坏,重启后无法开机,直接黑屏无法进入系统;
3. 手动创建 /boot/loader 目录不能修复根本问题,OSTree底层引导链已经损坏,属于安装流程或者套件层面的问题,并非人为误删文件;
4. 该问题不是单次偶然故障,我经过全盘清空硬盘、完整重装系统多次复现该现象,排除分区手动操作失误、文件误删除等人为因素;
5. 当前系统就算暂时能够进入桌面,也属于侥幸临时可用状态,随时会因为重启、系统更新直接彻底丢失引导,完全丧失系统可用性,日常使用风险极高。

附件我附上了完整硬件信息导出文档、磐石系统自检日志,可供开发人员复现、定位根源问题。

该问题会直接破坏磐石不可变版本核心的快照更新机制,普通用户重装也无法规避,会严重影响Deepin25磐石版本的使用体验,恳请开发团队重点排查安装脚本、EFI引导部署环节,定位为什么全新全盘安装后会丢失 /boot/loader 目录。

我的联系信息:
手机号:19112749580
微信号:ffrfstgr6652366gy6
邮箱:3173431913@qq.com
备用邮箱:m19112749580@163.com

希望技术团队可以联系我,需要复现环境我可以配合提供,期待尽快得到回复,感谢。

日志.zip

新日志.zip

deepin25-boot-bug-logs.zip

磐石自检报告_20260812_155011 .txt

Linux极限全量系统公示_增强版.txt

磐石自检.zip

邮件截图.jpg

Reply Favorite View the author
All Replies
avatar
烽火小哪吒
deepin
2026-08-15 17:34
#1

该问题会直接破坏磐石不可变版本核心的快照更新机制,普通用户重装也无法规避,会严重影响Deepin25磐石版本的使用体验,恳请开发团队重点排查安装脚本、EFI引导部署环节,定位为什么全新全盘安装后会丢失 /boot/loader 目录。

我的联系信息:
手机号:19112749580
微信号:ffrfstgr6652366gy6
邮箱:3173431913@qq.com
备用邮箱:m19112749580@163.com

希望技术团队可以联系我,需要复现环境我可以配合提供,期待尽快得到回复,感谢。

磐石自检报告_20260815_160601.txt

Reply View the author
avatar
neko
deepin
Ecological co-builder
Q&A Team
2026-08-15 17:46
#2

应该确实什么地方有问题,我昨天更新BIOS版本后,依赖ostree的引导开机只会进入initramfs模式,所有文件系统正常,目录也能正常读写,但执行exit流程后直接内核恐慌错误100,最终只能重装系统。

6a5c4de1ec6ea7bebdd9b72630e44f35.jpg

e49212d977f1c0fb90c0bfc0268432d4.jpg

Reply View the author
avatar
烽火小哪吒
deepin
2026-08-15 17:47
#3

补充:最新版本磐石自检报告,见本帖1楼回帖附件。

Reply View the author
avatar
烽火小哪吒
deepin
2026-08-15 17:50
#4
neko

应该确实什么地方有问题,我昨天更新BIOS版本后,依赖ostree的引导开机只会进入initramfs模式,所有文件系统正常,目录也能正常读写,但执行exit流程后直接内核恐慌错误100,最终只能重装系统。

6a5c4de1ec6ea7bebdd9b72630e44f35.jpg

e49212d977f1c0fb90c0bfc0268432d4.jpg

看来确实不是个例,我这边是全新全盘安装就直接缺失/boot/loader目录,一旦系统更新就直接引导损坏。BIOS相关因素确实很值得重点排查。

Reply View the author
avatar
烽火小哪吒
deepin
2026-08-15 17:52
#5
It has been deleted!
avatar
烽火小哪吒
deepin
2026-08-15 17:55
#6
neko

应该确实什么地方有问题,我昨天更新BIOS版本后,依赖ostree的引导开机只会进入initramfs模式,所有文件系统正常,目录也能正常读写,但执行exit流程后直接内核恐慌错误100,最终只能重装系统。

6a5c4de1ec6ea7bebdd9b72630e44f35.jpg

e49212d977f1c0fb90c0bfc0268432d4.jpg

你可以使用帖子正文上传的自检脚本进行检测。

Reply View the author
avatar
看时光飞逝
deepin
2026-08-15 23:42
#7

你的分区挂载信息不对:

【5】分区挂载信息 / /boot /boot/efi
/dev/nvme0n1p4 23G 7.0G 15G 33% /
/dev/nvme0n1p2 3.9G 378M 3.3G 11% /boot
/dev/nvme0n1p1 296M 12M 285M 4% /boot/efi

我看你使用ventoy安装?你得使用deepin自己的安装程序进行分区安装。磐石有自己的分区方案。

截图_选择区域_20260815233212.png

Reply View the author
avatar
烽火小哪吒
deepin
2026-08-16 17:53
#8
看时光飞逝

你的分区挂载信息不对:

【5】分区挂载信息 / /boot /boot/efi
/dev/nvme0n1p4 23G 7.0G 15G 33% /
/dev/nvme0n1p2 3.9G 378M 3.3G 11% /boot
/dev/nvme0n1p1 296M 12M 285M 4% /boot/efi

我看你使用ventoy安装?你得使用deepin自己的安装程序进行分区安装。磐石有自己的分区方案。

截图_选择区域_20260815233212.png

啊?用\什么安装?

Reply View the author
avatar
烽火小哪吒
deepin
2026-08-17 08:47
#9
看时光飞逝

你的分区挂载信息不对:

【5】分区挂载信息 / /boot /boot/efi
/dev/nvme0n1p4 23G 7.0G 15G 33% /
/dev/nvme0n1p2 3.9G 378M 3.3G 11% /boot
/dev/nvme0n1p1 296M 12M 285M 4% /boot/efi

我看你使用ventoy安装?你得使用deepin自己的安装程序进行分区安装。磐石有自己的分区方案。

截图_选择区域_20260815233212.png

设备:荣耀笔记本 i3‑10110U,BIOS纯UEFI模式,无CSM兼容选项,Secure Boot已经关闭。
镜像已经核对官方SHA256校验和,镜像文件本身确认完整无损坏。
烧录工具:deepin‑dd(dd命令原生写盘),不是Ventoy,并非Ventoy引导环境,排除Ventoy带来的分区干扰因素。

我的操作流程完整复现步骤:

1. BIOS设置完毕,Secure Boot关闭,无CSM,使用dd命令把磐石ISO完整写入U盘,从U盘UEFI启动进入Deepin磐石安装程序。
2. 选择全盘格式化安装,交由磐石安装器自动生成全套OSTree标准分区表:EFI分区、/boot分区、swap、根分区、persistent持久化分区全部由安装器自动创建,没有手动修改任何分区参数。
3. 安装进度完整跑完,弹出“安装成功,请立即重启”弹窗。我是看到弹窗之后,才拔掉U盘,随后点击立即重启。并不是安装过程中途拔U盘,也不是带着U盘完成重启。
4. 重启后直接本机NVMe硬盘引导进入系统,完成新建用户向导,进入桌面。
5. 运行社区提供的自检脚本,依然报告  /boot/loader/entries  目录为空,缺少systemd‑boot内核启动配置文件,出现该故障。

挂载信息补充说明:
自检输出挂载:

plaintext

/dev/nvme0n1p4 23G 7.0G 15G 33% /
/dev/nvme0n1p2 3.9G 378M 3.3G 11% /boot
/dev/nvme0n1p1 296M 12M 285M 4% /boot/efi
 

分区是磐石全盘安装自动生成的, /boot 、 /boot/efi 挂载点本身是正确的,分区大小也是磐石默认方案,分区表、文件系统类型均为安装器自动生成,没有手动干预分区。

现象关键点:

1. 故障根源并不是Ventoy,我没有使用Ventoy,是dd直接烧录U盘启动安装,排除Ventoy环境的变量。
2. U盘仅在安装复制文件阶段插在电脑上,安装复制文件全过程,本机UEFI固件会同时暴露U盘的EFI分区给安装环境。即便重启弹窗出现后再拔U盘,但安装脚本执行阶段U盘EFI设备是可见状态。
3. 推测固件特性:这款荣耀笔记本UEFI固件,在外接含有EFI的U盘接入时,会把U盘EFI分区一并暴露给安装环境,导致磐石OSTree安装器内部逻辑混淆,优先识别到外接U盘EFI,没有为本机硬盘快照内生成完整的 /boot/loader/entries/*.conf 启动条目;虽然磁盘分区全部建好,但OSTree快照包内没有写入引导配置。
4. 因为磐石属于OSTree不可变系统, /boot 属于快照只读分区,如果单纯手动mkdir创建目录,重启之后快照会还原清空,普通手动创建文件夹无法持久修复,只能依靠 deepin‑immutable‑ctl deploy --rebuild‑bootloader 命令重新打包进快照完成修复。
5. 已经多次全盘重装,每一次都严格执行:安装完成弹窗后拔U盘再重启,故障稳定复现。只要是这台机器,只要U盘在安装阶段保持接入,就会复现该bug。

临时规避方案:
安装完成进入系统后,执行

bash

sudo deepin-immutable-ctl deploy --rebuild-bootloader
sudo bootctl update
sync
 

执行完毕重启,才能生成持久化存在于OSTree快照内的loader entries配置。
在没有完成该修复前,不敢执行系统更新,一旦更新内核,缺少启动条目会直接机器无法引导开机。

猜想:属于磐石安装器兼容性边界bug,在部分荣耀机型UEFI固件下,当安装环境同时存在多份EFI设备(本机硬盘EFI+U盘EFI),安装器没有强制锁定目标安装磁盘的EFI分区,会出现跳过生成本机loader entries的逻辑异常。
并不是用户操作错误,分区挂载点本身正确,烧录方式为dd原生写盘,镜像校验无误。

磐石自检报告_20260817_083306.txt

Reply View the author
avatar
electricface
deepin
2026-08-18 19:27
#10

sudo deepin-immutable-ctl deploy --rebuild-bootloader
sudo bootctl update

磐石系统没有这种命令。

Reply View the author
avatar
烽火小哪吒
deepin
a day ago
#11
electricface

sudo deepin-immutable-ctl deploy --rebuild-bootloader
sudo bootctl update

磐石系统没有这种命令。

那最新版的25说什么命令啊?

Reply View the author
avatar
electricface
deepin
20 hours ago
#12

deepin-immutable-ctl help

This tool can be used to install extended applications, configure writable directories, snapshot management and other functions

Usage:
deepin-immutable-ctl [flags]
deepin-immutable-ctl [command]

Available Commands:
admin Manage a host immutable system booted with ostree
help Help about any command
snapshot Manage snapshots in the system.
upgrade Upgrade system.

Flags:
-h, --help help for deepin-immutable-ctl
-s, --immutable-status Check the system if the immutable system
-j, --json Show command output in JSON format
-v, --verbose Show verbose output
-w, --wait Wait for the lock file to be released
-W, --wait-boot Wait for the boot lock file to be released
-t, --wait-timeout string Timeout for waiting for the lock (example: 10m, 30s, 1h; negative value means wait forever) (default "10m0s")

Use "deepin-immutable-ctl [command] --help" for more information about a command.

Reply View the author