admin 管理员组

文章数量: 887169

概述

Win7开机按F8无法进入安全模式怎么办?安全模式是电脑windows系统中的一个特殊模式,使用该模式我们可以修复系统错误故障,经常使用的用户应该不会陌生,通常情况下只要在电脑开机的时候按F8就能进入安全模式这个功能,而最近有win7用户出现在开机的时候按F8无法进入安全模式,试了好几次都没反应,下面来看看无法进入安全模式的主要原因与解决措施吧。

1、具体问题是开机出现下图:

2、出现这个问题,如果你电脑里面不是有重要东西,个人建议还是重装系统,下面说下怎么样不重装搞定吧!

如果你有U盘,或者有系统盘

3、如果是U盘就要在bios主板设置,设置为U盘启动。

WinPE系统下的命令提示符工具;再在光标所处的位置输入以下DOS命令(每输入一条DOS命令都要按下回车键):

4、命令依次为:

cd c:\windows\system32

bcdedit /set {default} osdevice boot

bcdedit /set {default} device boot

bcdedit /set {default} detecthal 1

效果如图:

操作win7 系统的用户遇到无法进入安全模式的话,可以按照以上方法去操作试试,希望能够解决按F8无法进入安全模式的问题。

二、winload.exe数字签名问题详解

部分遇到相似问题的朋友在使用将原系统C:\Windows\System32\Boot目录下的winload.exe文件拷贝到C:\Windows\System32目录下替换错误的winload.exe的方法之后重启电脑发现问题依旧,自然就认为这是个坑人的办法。其实事实并非如此,下面就来详细分析下这个问题。

在搞清楚这个问题之前先要了解一下win7的启动过程:电脑加电后,首先它会启动主板上的BIOS,BIOS默认对电脑的硬件进行自检,完成自检之后BIOS会搜索硬盘上的MBR,如果MBR正常,那么MBR就会读取硬盘上的DPT,也叫分区表,DPT里记录了硬盘的分区表信息,MBR会在这些分区里搜索活动分区,并且读取活动分区里的主引导记录PBR,如果一切正常就把控制权给PBR。在取得控制权后PBR会寻找活动分区根目录下的bootmgr文件,这个文件是win7的启动管理器,bootmgr接管后会读取活动分区根目录下Boot文件夹下的BCD文件,这个文件存储了win7的启动配置数据,Boot文件夹还包含相应语言的文件夹,对应语言文件夹下存在BOOTMGR.EXE.MUI文件。bootmgr读取BCD并调用BOOTMGR.EXE.MUI最终为我们呈现启动菜单界面。当然因为很多人默认直接进入Windows所以就看不到启动菜单。完成这一步骤后,bootmgr会按照在BCD文件中设置的系统所在分区加载该分区Windows\System32\winload.exe程序,就是说winload.exe的运行环境是bootmgr。winload.exe取得控制权后加载内核,硬件和其他服务,然后进入桌面至此完成启动。

上面的文字叙述可能比较繁琐,整个启动过程简单来说就是:BIOS–MBR–DPT–PBR–bootmgr–BCD–启动菜单—winload.exe(如果选择的是win7)–内核加载等 --启动整个windows7系统。

启动过程搞清楚了就能清楚地定位问题,既然winload.exe无法验证签名,它又运行在bootmgr下而且BCD文件是配置文件,那我们就得到解决问题的第一个方法,禁止验证winload.exe的签名就可以了,那又怎么禁止呢?前面说到的BCD配置文件是控制权从bootmgr到winload.exe的关键文件,显然我们要去找它。先进入WinPE里面(如果不知道什么是PE和怎么进PE就百度吧),然后到原来系统盘根目录下的Boot文件夹里就可以看到BCD文件了,操作之前先备份一下BCD文件,在PE里找到BOOTICE程序,这是BCD编辑工具,打开它你会看到这样的界面: 

选择BCD编辑后选择其他BCD文件,然后到系统盘Boot目录下找到BCD文件,最好用智能编辑模式打开BCD文件,然后可以看到这样的界面:

这里可以看到在左下方有禁用数字签名验证的选项,这里为了演示我已经禁用了数字签名验证。到这里就算是数字签名无效的winload.exe也可以启动系统了。到这里也可以看出很多使用ghost系统的用户因为关闭了更新而BCD中又没有禁用驱动签名验证从而导致winload.exe数字签名失效而无法验证,使系统无法启动。

上面的方法是禁用数字签名,当然也可以选择使用有效签名的winload.exe文件替换签名无效的winload.exe文件。

相信到这里关于文首疑问的答案应该很清楚了。显然很多用户C:\Windows\System32\Boot目录下的winload.exe文件的签名也是无效的,或者说你的winload.exe文件的数字签名本身是无效的,你又是用的ghost系统,开始时系统BCD是禁止数字签名验证的,在修改过BCD之后或BCD损坏之后,系统开始验证winload.exe的数字签名,验证失败导致系统无法加载。可以看下我的winload.exe:

我现在使用的winload.exe的签名无效但是我禁止数字签名验证一样可以正常进入系统。当然我的C:\Windows\System32\Boot目录下的winload.exe文件的数字签名是有效的。所以替换之后可以成功进入系统。所以说不是替换文件的方法无用,而是很多人只是机械的按别人的方法操作而不看问题的根源。

到这里问题已经基本说清楚也解决了。最后说一下两种方法的优缺点吧,当然两种方法都需要PE,所以说PE是个好东西。禁用数字签名验证只需要修改BCD即可,很方便。但是禁用数字签名验证会带来一定的安全问题。替换文件就需要找到数字签名有效的winload.exe文件,是的一定要有效才行,网上下载的很多都是无效的,所以导致很多人到坑里去了,这个麻烦一点但不需要牺牲安全。

虽然网上有很多解决这个问题的办法,但很多都只说了个方法而没有具体解决问题的思路。其实只要理清思路,问题的解决办法自然会有啦,很多系统无法成功启动的问题只要顺着win7启动过程去看就能找到解决的方法。 

本文标签: 模式