教程[2] 使用 Grub 来禁用 Dell 机器开机关于硬盘的提示

本文需要一定的动手能力以及相关知识储备,如果您看不懂下面的话,请请教你身边懂电脑的。

问题

Dell Vostro 系列机器开机会有硬盘的 SMART 检测功能,在 SMART 检测失败后开机会有个 Notice 类似下图

Notice: Hard Drive Self Monitoring System has reported that a parameter has exceeded it’s normal operating range. Dell recommends that you backup your data regularly.

开机图
来源于网图,版权归 此博客 所有

这个开机提示就是提示保资料了,但是这块硬盘只要继续在电脑上挂载着,每次开机都会出现这个,按 F1 才能继续,这就很烦了。
同时,这类整机方案的电脑 BIOS 设置都少得可怜,根本没有找到关闭硬盘 SMART 检测之类的功能
这时候我们就要手动来关闭这个功能了

教程

这些工具网上能找到一吨的东西,我就不提供下载地址之类的懒人包了

备份(导出) BIOS

首先我们使用 BIOS_Backup_TooKit 工具来备份 BIOS
备份
先点击读取,再点击备份就ok了
如果读取不了的话,要在 BIOS 设置里面把 Secure Boot 关闭掉。

查看 Smart 设置的地址

打开 UEFITool 左上角 file 点击 open,打开刚才保存的 bios.rom 文件 然后 在 Action 里面点击 Search (或者 Ctrl + F) 输入 SMART Self Test 搜索 然后下面 点击 右键 UEFITool查找 然后我们左下角 Windows 按钮 右键,打开 poweshell (cmd也行) cd 导出文件的目录里,这时候就要手动输入命令来导出偏移量了 ifrextract
然后我们用 Vscode(大)|| notepad++ (轻量)又或者记事本(性能感人)打开 sss (ifrextract命令导出的文件)再搜索 SMART Self Test
然后就可以找到 SMART Self Test 这个选项的偏移量了
vscode查看偏移量
如图已知 0x3AC 是 SMART Self Test 选项在主板的地址,同时CheckBox也说明了这是个选项,然后 Varstore 0x1 就是启用(enable)的意思
偏移量(0x3AC)知道了后,我们就可以改主板设置了

进 grub 改设置

我们需要一个带 EFI 分区的U盘,里面放 grub
路径 /EFI/BOOT/Bootx64.efi
然后开机按 F12 选择U盘启动

这里同样要关闭安全启动

在grub界面 输入
setup_var 0x3AC 0
再输入
reboot 重启
然后开机就不用按 F1 了

后记

这样修改BIOS隐藏设置的办法已经很久了,今天终于实战了一次
不过数据无价,既然都开机弹 Smart Self Test Failed 还是早点换硬盘吧

参考项目

https://github.com/holoto/efi_shell_flash_bios
https://github.com/LongSoft/Universal-IFR-Extractor
https://github.com/LongSoft/UEFITool