1.概要:
计算机启动时出现0x0000007B错误(INACCESSABLE_BOOT_DEVICE)表示Windows无法访问启动驱动器,因为缺少所需的驱动程序或磁盘已损坏。
2.操作步骤/更多信息:
在以下情况下,可能会遇到0x0000007B错误。
- 将Windows备份还原到另一台物理计算机或Hyper-V、VMware、VirtualBox虚拟机(或在系统恢复方案中还原到其他硬件)时。
- 在P2V或V2V迁移期间。
- 将Windows移动(克隆)到新的硬盘驱动器或计算机。
- 使用Windows映像迁移物理机(如使用disk2vhd)并使用该VHD映像部署新虚拟机。
- 将BIOS中的SATA控制器模式从AHCI切换到IDE/RAID后,反之亦然(在这种情况下,只需打开BIOS设置并恢复原始SATA设置)。
- 更换主板或硬盘控制器。
- 更新BIOS/UEFI固件或更改设置后。
最常见的是,是使用P2V工具将物理计算机转换为虚拟机后,启动时遇到了0x7b错误,Windows无法在新 VM 上启动。
在这种情况下,INACCESSABLE_BOOT_DEVICE错误是由于新服务器(计算机或虚拟机)的硬盘控制器与原始硬件不同而导致的。例如,默认情况下,大多数虚拟机管理程序使用SCSI或SAS控制器来连接虚拟硬盘,而这些驱动程序在Windows中默认是禁用的。
lsi_sas.sys驱动程序被安装,但它运行的服务被禁用。因此,操作系统将无法加载所需的控制器驱动程序,Windows启动时出现蓝屏错误。
要修复0x0000007B错误,使用三方PE工具或者安装镜像启动到WinPE系统。
1)运行regedit打开注册表编辑器。
2)导航到HKEY_LOCAL_MACHINE注册表配置单元,然后在注册表编辑器窗口中选择“文件”→“加载配置单元”。
3)选择本地服务器驱动器上的\Windows\System32\config\SYSTEM文件(不要将其与 WinPE 驱动器混淆)。此文件存储Windows注册表的系统部分。输入新注册表配置单元的临时名称(例如,使用名称offline)。
4)导航到已装载的配置单元中的HKEY_LOCAL_MACHINE\offline\ControlSet001\services\ 注册表项。
找到以下注册表项:
- Atapi
- Intelide
- LSI_SAS
5)找到名为 Start 的REG_DWORD参数,并在每个键中将其更改为0(0x0000000000)。
如果在发生此错误之前已将SATA控制器模式设置为AHCI,则还应在msahci部分中设置Start=0。
值Start=0表示此服务(和相应的驱动程序)将在Windows启动时加载,值Start=3表示应手动启动服务。
6)选择注册表项 HKEY_LOCAL_MACHINE\offline,然后从菜单中单击“卸载配置单元”。
发生INACCESSABLE_BOOT_DEVICE错误时手动安装驱动程序
可以手动将驱动程序安装到脱机Windows映像中。例如,在执行P2V主机迁移后,可以将VMware SCSI磁盘控制器或VirtIO驱动程序(用于KVM虚拟化)安装到脱机的Windows映像中。将必要的驱动程序复制到可启动的USB驱动器,从该驱动器启动后,打开命令提示符。
若要将驱动程序安装到脱机Windows映像中(如它位于E:驱动器上),请运行以下命令:
dism /image:E:\ /add-driver /driver:vioscsi.inf