上午的时候,碰到一例DELL电脑的故障:有一定年头的一台DELL台式电脑,主板CMOS电池老化,断电后会将BIOS恢复成默认值,造成Win7操作系统,因SATA设置错误开机蓝屏并反复重启……。
BIOS设置中关于SATA的设置参数
或许通过更换CMOS电池能解决,但“时间就是金钱”,作为现场IT技术工程师,购买CMOS电池,再来回安装好严重影响工作效率,作为一名从业20多年的IT老司机,在现场只能根据我公司的利益最大化出发:查找到相关的修改方法,在注册表修改Win7 操作系统为默认的Raid On启动设置,当场完成此次维护维修工作!
操作系统关于IDE、SATA、Raid对应的注册表:
Win7 IDE启动 修改项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide 键值start 为 0(默认为3) Win7 AHCI启动 修改项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci 键值start 为 0 Win7 Raid onHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV 键值start 为 0 Win10 AHCI启动 修改项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci 键值start 为 0 Win7操作系统硬盘启动模式修改项
每次碰到此类故障,都是查找对应的资料,然后手动修改完注册表,再在BIOS调整SATA修改对应的IDE、SATA或Raid on模式,而且信息来源参差不齐,稍有不慎很有可能造成系统崩溃,对初中级IT运维工程师就是一场灾难了!
那么,我寻思编写一段Bat代码根据菜单,自动完成注册表的操作,减少出错率、提升效率、节省时间,那么我们开始吧!
【bat脚本思路】
我的思路就是根据自己的需要,执行命令修改对应的注册表,像以上需求,我们完全可以分别通过四条reg add 命令达到要求:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide" /v "Start" /t REG_DWORD /d 00000000 /freg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci" /v "Start" /t REG_DWORD /d 00000000 /freg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci" /v "Start" /t REG_DWORD /d 00000000 /freg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV" /v "Start" /t REG_DWORD /d 00000000 /f代码执行截图
BAT批处理截图
【代码】 非IT人士不要尝试运行
@echo offmode con lines=42 cols=120clsecho "--------------------------------------------------------------------------------------------------------------------"echo "-------------------------上海旭逸计算机信息技术有限公司-&-上海朵罗信息技术有限公司----------------------------------"echo "--------------------------------------------------------------------------------------------------------------------"echo "-------------------------联系方式:王先生 电话:13564112912 QQ:1661095----------------------------------------"echo "--------------------------------------------------------------------------------------------------------------------"@echo " _________________________________________________ "@echo " "echo "
(1):修改注册表为 IDE 模式启动 !
"echo "
(2):修改注册表为 AHCI 模式启动 !
"echo "
(3):修改注册表为 Raid on 模式启动 !
"@echo " _________________________________________________ "@echo " "@echo " "set /p h=请根据自已的情况选择输入(1,2,3): if "%h%" equ "1" goto OSharddiskIdeif "%h%" equ "2" goto OSharddiskAhciif "%h%" equ "3" goto OSharddiskRaidon@echo " "@echo " "@echo " 输入错误:注册表无任何修改……! "goto :EOF:OSharddiskIdereg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide" /v "Start" /t REG_DWORD /d 00000000 /fgoto :EOF:OSharddiskAhcireg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci" /v "Start" /t REG_DWORD /d 00000000 /freg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci" /v "Start" /t REG_DWORD /d 00000000 /fgoto :EOF:OSharddiskRaidonreg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV" /v "Start" /t REG_DWORD /d 00000000 /fgoto :EOF:EOF