这里不仅限于win10,win7和win8,win8.1,win10都会出现这样的问题。网上说原因是win7+的系统开机采用了快速启动,所以win7+关机不彻底,导致切换到win7时会用CHKDSK进行磁盘检查。网上看到提供了两种方法,一个是从win7+里控制面板对系统进行设置,在关机设置里去掉“启用快速启动(推荐)”前边的勾选项,同时下边的睡眠和休眠也会变灰。但是在我的电脑上试了之后并没有起效。第二个方法是在win7里修改注册表,将
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]里的"BootExecute"里面的数值“autocheck autochk”删掉
顺便研究了注册表脚本文件的编写,写了两个.reg脚本,觉得在regedit里找相应的键值麻烦的话,可以直接copy我的代码保存成.reg后缀的文件,双击运行即可,同时我也写了一个恢复原来的脚本。
del.reg (用来删除数值)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
"BootExecute"=hex(7):
add.reg (用来恢复数值)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
"BootExecute"=hex(7):61,00,75,00,74,00,6f,00,63,00,68,00,65,00,63,00,6b,00,20,\
00,61,00,75,00,74,00,6f,00,63,00,68,00,6b,00,20,00,2a,00,00,00,00,00
注释:
REG文件实际上是一种windows操作系统的注册表脚本文件,双击REG文件即可将其中的数据导入到注册表当中。
Windows Registry Editor Version 5.00 是注册表注释文件头,其作用是声明这是一个注册表文件注释文件头,其作用是声明这是一个.reg文件,便于注册表编辑器将文件内容导入注册表。没有这一行文件就不能导入注册表。
注释:行首加分号,该行为注释
BootExecute的数据类型是:
REG_MULTI_SZ:多字符串值:含有多个文本值的字符串
所以在赋值的时候没有"BootExecute"=""
,因为这样的话,数据类型就会变成:
REG_SZ:字符串:文本字符串
这里也可以写成 "BootExecute"=
,这样数值置为空,数据类型会缺省为原来的类型。
所有数据类型参考:注册表的数据结构
规则:
字符串值S表示:"字符串"=""
多字符串值M表示:"多字符串"=hex(7):00,00
所有规则参考:reg文件#规则
注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。
参考
chkdsk
reg文件win10和win7双系统如何跳过开机自检磁盘
自己动手写reg注册表文件
如何编写注册表文档*.reg
注册表
注册表文件
Windows Registry Editor Version 5.00什么意思
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_CLASSES_ROOT
另外遇到一个问题:
HKEY_LOCAL_MACHINE直接下一层不能新增项