Bug 检查 0x7B INACCESSIBLE 您所在的位置:网站首页 精卫填海小动画故事 Bug 检查 0x7B INACCESSIBLE

Bug 检查 0x7B INACCESSIBLE

2023-12-24 03:50| 来源: 网络整理| 查看: 265

Bug 检查 0x7B:INACCESSIBLE_BOOT_DEVICE 项目 10/26/2023

INACCESSIBLE_BOOT_DEVICE bug 检查 的值为 0x0000007B。 此 bug 检查指示 Microsoft Windows 操作系统在启动期间无法访问系统分区。

重要

本文面向程序员。 如果你是使用计算机时收到蓝屏错误代码的客户,请参阅 蓝屏错误疑难解答。

参数 参数 说明 1 UNICODE_STRING结构的地址,或无法装载的设备对象的地址 2 0 3 0 4 0

若要确定参数 1 的含义,请查看它指向的数据。 如果此地址 (USHORT) 的第一个单词是偶数,则参数 1 是 Unicode 字符串的开头。 如果此地址 (USHORT) 的第一个单词0x3,则参数 1 是设备对象的 Type) (第一个字段。

如果此参数指向设备对象,则本应读取启动设备的文件系统无法初始化或无法将启动设备上的数据识别为文件系统结构。 在这种情况下,指定的设备对象是无法装载的对象。

如果此参数指向 Unicode 字符串,则必须读取此地址的前 8 个字节。 这些字节构成UNICODE_STRING结构。 以下示例演示如何定义 结构:

USHORT Length; USHORT MaximumLength; PWSTR Buffer;

“长度”字段提供字符串的实际长度。 “缓冲区”字段指向字符串的开头。 缓冲区 始终至少0x80000000。

字符串包含高级 RISC 计算 (ARC) 尝试启动的设备规范名称。 ARC 名称是标识 ARC 环境中的设备的一种通用方法。

原因

INACCESSIBLE_BOOT_DEVICE bug 检查通常由于启动设备故障而发生。 在 I/O 系统初始化期间,启动设备驱动程序可能无法初始化启动设备(通常是硬盘)。

文件系统初始化可能失败,因为它无法识别启动设备上的数据。 重新分区系统分区、更改 BIOS 配置或安装磁盘控制器也可能导致此错误。

出现此错误的原因可能是磁盘硬件不兼容。 如果错误发生在系统的初始设置中,则表示系统可能已安装在不支持的磁盘控制器上。 某些磁盘控制器要求在 Windows 启动时存在其他驱动程序。

当存储硬件发生故障并且无法响应来自 Windows 的请求时,可能会发生此错误。

解决方法

在系统启动时,始终会发生此错误。 此错误经常在建立调试器连接之前发生,因此调试可能很困难。 OS 可能无法访问,错误日志可能为空,因为 OS 尚未启动足够远,无法启动这些子系统。 如果无法启动 Windows 和能够启动 Windows,以下部分介绍了这两种情况的解决方案。

如果无法启动 Windows

如果收到此停止代码,并且 Windows 无法向前启动到 OS,请尝试以下解决方法:

还原任何最近的硬件更改。

删除最近添加的任何硬件,尤其是硬盘驱动器或控制器,以查看错误是否已解决。 如果有问题的硬件是硬盘驱动器,则磁盘固件版本可能与你的 Windows 操作系统版本不兼容。 请联系制造商获取更新。 如果删除了另一个硬件并解决了错误,则可能存在 IRQ 或 I/O 端口冲突。 根据制造商的说明重新配置新设备。

如果最近对 UEFI (BIOS) 设置进行了更改,例如在 UEFI 中将控制器模式从旧模式更改为 AHCI,还原这些更改。 有关详细信息,请参阅 高级主机控制器接口。

检查存储设备兼容性。

确认所有硬盘驱动程序、硬盘控制器和任何其他存储适配器都与已安装的 Windows 版本兼容。 例如,可以在Windows 10规范中获取有关兼容性的信息。

更新 UEFI (BIOS) 和固件。

检查系统 UEFI (BIOS) 和存储控制器固件的更新的可用性。

使用 Windows 媒体创建工具创建可启动 U 盘或 DVD。

使用另一台计算机上的媒体创建工具创建可启动的 U 盘或 DVD。 使用此工具通过选择安装文件或从 USB 启动来执行全新安装。

有关详细信息,请参阅 获取 Windows 10。

可能需要禁用功能,或在 UEFI (BIOS) 菜单中更改启动顺序优先级,才能从 USB、FDD (FlashDiskDrive) 或 DVD 而不是 HDD 启动。

常见启动菜单键

启动菜单键因制造商而异。 这些键通常使用。 查看电脑文档以确定所使用的启动密钥。

常用启动菜单键包括: F12 ESC F9 F10 F8

常见的 UEFI (BIOS) 安装密钥

UEFI (BIOS) 设置密钥因制造商而异。 这些键通常使用。 查看电脑文档以确定所使用的设置密钥。

常用的 UEFI (BIOS) 安装密钥包括: ESC DEL F2

如果能够启动 Windows

如果收到此停止代码并且 Windows 已启动,请尝试以下解决方法:

启动到安全模式,然后正常启动。

启动到安全模式会加载一组核心存储驱动程序,这些驱动程序允许再次访问存储系统。 完成以下步骤以启动到安全模式:

在 “设置”中,选择“ 更新和安全”。 选择“ 恢复 > 高级启动 ”以启动到维护模式。 在生成的菜单中,选择“高级选项>疑难解答>”“启动设置>重启”。 Windows 重启到 “启动设置” 屏幕后,选择选项 4、5 或 6 以启动到安全模式。

在安全模式下加载 Windows 后,重启电脑以查看是否已加载正确的存储驱动程序以及是否识别了存储设备。

也可以通过在启动时按功能键(例如 F8)来使用安全模式。 有关特定启动选项,请参阅系统制造商提供的信息。

使用扫描磁盘实用工具确认没有文件系统错误。 选择并按住 (或右键单击要扫描的驱动器上的) ,然后选择 “属性 > 工具 > 立即检查”。

运行病毒检测程序。 病毒可能会感染针对 Windows 格式化的所有类型的硬盘,由此产生的磁盘损坏可能会检查代码生成系统 bug。 确保病毒检测程序检查主启动记录中的感染。

对于 IDE 设备,仅将载入 IDE 端口定义为主端口。 此外,检查每个 IDE 设备以获取正确的主/从/独立设置。 请尝试删除除硬盘以外的所有 IDE 设备。 最后,检查系统日志事件查看器其他错误消息,这些错误消息可能有助于识别导致错误的设备或驱动程序。

确认硬盘驱动器上有足够的可用空间。 操作系统和某些应用程序需要足够的可用空间来创建交换文件和执行其他功能。 根据系统配置,确切的要求会有所不同,但最好有 10% 到 15% 的可用空间。

查看设备管理器,查看是否有任何设备标有感叹号 (!) 。 查看故障驱动程序的驱动程序属性中显示的事件日志。 请尝试更新相关驱动程序。

检查系统登录事件查看器中是否有其他错误消息,这些错误消息可能有助于查明导致错误的设备或驱动程序。 有关详细信息,请参阅打开事件查看器。 在与蓝屏相同的时间范围内查找系统日志中发生的严重错误。

你可尝试运行系统制造商提供的硬件诊断。

使用系统文件检查器工具来修复丢失或损坏的系统文件。 系统文件检查器是 Windows 中的一个实用工具,允许用户扫描 Windows 系统文件中的损坏并还原损坏的文件。 使用以下命令运行系统文件检查器工具 (SFC.exe) 。

SFC /scannow

有关详细信息,请参阅 使用系统文件检查器工具修复丢失或损坏的系统文件。

自动修复后,在 “选择选项 ”屏幕上,选择“ 排查 > 高级选项 > ”“系统还原”。 此选项将电脑带回较早的时间点,称为系统还原点。 在安装新应用、驱动程序、更新或手动创建还原点时,会生成还原点。 在遇到错误之前选择还原点。

使用内核调试器附加到系统,并进一步分析故障,如备注中所述。

注解

调查存储系统配置。 若要缩小原因范围,尽可能多地了解安装 Windows 的启动设备会很有帮助。 例如,可以调查以下项:

了解启动设备连接到的控制器类型,例如 SATA 或 IDE。 如果可以启动系统,则可以使用设备管理器检查控制器和磁盘驱动程序属性。 可以看到关联的驱动程序文件和错误事件。

指示其他设备是否连接到启动设备所在的同一控制器,例如 SSD 或 DVD。

请注意驱动器上使用的文件系统,通常为 NTFS。

Windows 调试器

若要使用内核调试器分析此错误,请在调试器 中运行 lm (列出加载的模块) 命令,以查看加载了哪些模块以尝试隔离特定驱动程序。 验证是否已加载以下驱动程序。

disk

0: kd> lm m disk Browse full module list start end module name fffff806`bd0b0000 fffff806`bd0cd000 disk (deferred)

partmgr

0: kd> lm m partmgr Browse full module list start end module name fffff806`bc5a0000 fffff806`bc5c1000 partmgr (deferred)

NTFS

0: kd> lm m ntfs Browse full module list start end module name fffff806`bd3f0000 fffff806`bd607000 NTFS (deferred)

classpnp

0: kd> lm m classpnp Browse full module list start end module name fffff806`bd0d0000 fffff806`bd131000 CLASSPNP (deferred)

Pci

0: kd> lm m pci Browse full module list start end module name fffff806`bc440000 fffff806`bc494000 pci (deferred)

确保已加载控制器驱动程序。 例如,对于 SATA RAID 控制器,驱动程序可能是 iaStorA.Sys 驱动程序,也可以是 EhStorClass 驱动程序。

0: kd> lm m EhStorClass Browse full module list start end module name fffff806`bcbb0000 fffff806`bcbcb000 EhStorClass (deferred)

可能存在包含“stor”的驱动程序,例如 storahci。

0: kd> lm m stor* Browse full module list start end module name fffff806`bcb00000 fffff806`bcb23000 storahci (deferred) fffff806`bcb30000 fffff806`bcbaa000 storport (deferred) fffff806`c0770000 fffff806`c0788000 storqosflt (deferred)

启动并附加了调试器。

如果可以在连接调试器的情况下启动目标系统,请在出现 bug 检查时发出 !devnode 0 1。 可以看到哪个设备缺少驱动程序或未启动,未启动的原因可能很明显。

一个原因可能是即插即用无法将资源分配给启动设备。 可以通过查找服务的条目来验证此限制。 如果状态标志包含DNF_INSUFFICIENT_RESOURCES或不包含DNF_STARTED或DNF_ENUMERATED,则可能已找到问题所在。 尝试 !devnode 0 1 storahci 节省一些时间,而不是转储整个设备树。

0: kd> !devnode 0 1 storahci Dumping IopRootDeviceNode (= 0xffffb9053d94d850) DevNode 0xffffb9053e8dea50 for PDO 0xffffb9053e8da060 InstancePath is "PCI\VEN_8086&DEV_3B22&SUBSYS_304A103C&REV_05\3&21436425&0&FA" ServiceName is "storahci" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0xffffb9053e88db30 for PDO 0xffffb9053e890060 InstancePath is "SCSI\Disk&Ven_&Prod_ST3500418AS\4&23d99fa2&0&000000" ServiceName is "disk" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0xffffb9053e88d850 for PDO 0xffffb9053e88e060 InstancePath is "SCSI\CdRom&Ven_hp&Prod_DVD-RAM_GH60L\4&23d99fa2&0&010000" ServiceName is "cdrom" TargetDeviceNotify List - f 0xffffdf0ae9bbb0e0 b 0xffffdf0aea874710 State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有