INACCESSIBLE_BOOT_DEVICE 参数

参数描述
1UNICODE_STRING 结构的地址,或者无法挂载的设备对象的地址
20
30
40

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

  • 如果此参数指向设备对象,则本应读取引导设备的文件系统将无法初始化或者根本无法将引导设备上的数据识别为文件系统结构。在这种情况下,指定的设备对象是无法安装的对象。
  • 如果此参数指向 Unicode 字符串,则必须读取此地址的前 8 个字节。这些字节形成 UNICODE_STRING 结构,其定义如下:
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;

Length 字段给出字符串的实际长度。缓冲区字段指向字符串的开头(缓冲区始终至少为 0x80000000。)
实际字符串包含尝试启动的设备的高级 RISC 计算 (ARC) 规范名称。ARC 名称是在 ARC 环境中标识设备的通用方法。

on it road .com

解决方法

此错误总是在系统启动时发生。
此错误经常发生在调试器连接建立之前,因此调试可能很困难。
此外,操作系统可能无法访问并且错误日志可能为空,因为操作系统的引导距离不足以启动这些子系统。

***

如果我们无法启动 Windows

  • ***

如果我们收到此停止代码并且 Windows 无法向前引导至操作系统,请尝试以下操作:

还原最近的任何硬件更改

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

如果我们最近对 BIOS 设置进行了更改,例如在 BIOS 中将控制器模式从传统更改为 AHCI,请还原这些更改。
有关更多信息,请参阅 https://en.wikipedia.org/wiki/Advanced_Host_Controller_Interface

检查存储设备兼容性

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

更新 BIOS 和固件

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

使用媒体创建工具创建可启动的 USB 拇指驱动器或者 DVD

使用媒体创建工具,使用另一台计算机创建可启动的 USB 拇指驱动器或者 DVD。
通过选择安装文件或者从 USB 引导,使用它来执行全新安装。

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

请注意,我们可能需要禁用快速 BIOS 启动等功能,否则我们可能无法访问启动设备优先级菜单。
在 BIOS 菜单中更改引导顺序优先级,以从 FDD (FlashDiskDrive) 或者 DVD 而不是 HDD 引导。

常用启动菜单键

启动菜单键因制造商而异,这些键是常用的。
检查系统文档以确定使用的引导密钥。

F12
ESC
F9
F10
F8
常用 BIOS 设置键

BIOS 设置键因制造商而异,这些键是常用的。
检查系统文档以确定使用的设置密钥。

ESC
DEL
F2
*

如果可以启动 Windows

*

  • 引导至安全模式,然后正常引导
    完成以下步骤以引导至安全模式。启动到安全模式会加载一组核心存储驱动程序,这些驱动程序可能允许再次访问存储系统。
    要进入安全模式,请使用“设置”中的“更新和安全”。选择恢复 -> 高级启动以引导至维护模式。在出现的菜单中,选择疑难解答 -> 高级选项 -> 启动设置 -> 重新启动。Windows 重新启动到启动设置屏幕后,选择选项 4. 5 或者 6 以启动到安全模式。
    在安全模式下加载 Windows 后,重新启动 PC 以查看是否会加载正确的存储驱动程序以及是否识别了存储设备。
    也可以通过在启动时按功能键(例如 F8)来使用安全模式。有关特定启动选项,请参阅系统制造商提供的信息。
  • 使用扫描磁盘实用程序确认没有文件系统错误。选择并按住(或者右键单击)要扫描的驱动器,然后选择 Properties 。选择 工具 。选择立即检查按钮。
  • 运行病毒检测程序。病毒可以感染为 Windows 格式化的所有类型的硬盘,由此导致的磁盘损坏会生成系统错误检查代码。确保病毒检测程序检查主引导记录是否存在感染。
  • 对于 IDE 设备,将板载 IDE 端口定义为 Primary only。还要检查每个 IDE 设备的正确主/从/独立设置。尝试移除除硬盘之外的所有 IDE 设备。最后,检查事件查看器中的系统日志以获取可能有助于识别导致错误的设备或者驱动程序的其他错误消息。
  • 确认硬盘上有足够的可用空间。操作系统和某些应用程序需要足够的可用空间来创建交换文件和其他功能。根据系统配置,确切的要求会有所不同,但通常最好有 10% 到 15% 的可用空间。
  • 在设备管理器中查看是否有任何设备标有感叹号 (!)。查看驱动程序属性中显示的任何故障驱动程序的事件日志。尝试更新相关驱动程序。
  • 检查事件查看器中的系统日志以获取可能有助于查明导致错误的设备或者驱动程序的其他错误消息。有关更多信息,请参阅打开事件查看器。

在系统日志中查找与蓝屏在同一时间窗口中发生的严重错误。

  • 我们可以尝试运行系统制造商提供的硬件诊断程序。
  • 使用系统文件检查器工具修复丢失或者损坏的系统文件。系统文件检查器是 Windows 中的一个实用程序,它允许用户扫描 Windows 系统文件中的损坏并恢复损坏的文件。使用以下命令运行系统文件检查器工具 (SFC.exe)。
SFC /scannow

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

  • 自动修复后,在“选择一个选项”屏幕上,选择“疑难解答”>“高级选项”>“系统还原”。此选项将 PC 带回到较早的时间点,称为系统还原点。安装新应用程序、驱动程序、更新或者手动创建还原点时会生成还原点。在遇到错误之前选择一个还原点。
  • 使用内核调试器连接到系统并进一步分析故障,如备注中所述。

原因

INACCESSIBLE_BOOT_DEVICE 错误检查经常由于引导设备故障而发生。
在 I/O 系统初始化期间,引导设备驱动程序可能未能初始化引导设备(通常是硬盘)。

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

由于磁盘硬件不兼容,也可能发生此错误。
如果在系统初始设置时发生错误,则系统可能已安装在不受支持的磁盘控制器上。
某些磁盘控制器需要在 Windows 启动时提供另外的驱动程序。

Windows 蓝屏代码 0x7B: INACCESSIBLE_BOOT_DEVICE

INACCESSIBLE_BOOT_DEVICE 错误检查的值为 0x0000007B。
此错误检查表明 onitroad Windows 操作系统在启动期间失去了对系统分区的访问权限。

备注

调查存储系统配置

尽可能多地了解安装了 Windows 的引导设备会很有帮助。
例如,我们可以调查以下项目:

  • 找出引导设备连接到哪种类型的控制器(SATA、IDE 等)。如果可以引导系统,则可以使用设备管理器检查控制器和磁盘驱动程序属性,并查看相关的驱动程序文件以及错误事件。
  • 指示其他设备是否连接到引导设备所在的同一控制器(SSD、DVD 等)。
  • 请注意驱动器上使用的文件系统,通常是 NTFS。

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

验证是否加载了以下驱动程序。

磁盘

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)

连接调试器时引导

如果我们可以在连接调试器的情况下引导目标系统,则在错误检查发生时发出 !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&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&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-内存_GH60L&23d99fa2&0&010000"
    ServiceName is "cdrom"
    TargetDeviceNotify List - f 0xffffdf0ae9bbb0e0  b 0xffffdf0aea874710
    State = DeviceNodeStarted (0x308)
    Previous State = DeviceNodeEnumerateCompletion (0x30d)
日期:2020-09-17 00:16:03 来源:oir作者:oir