我不是系统工程师(我是软件开发人员),而且我在 Windows 上没有很强的背景(我更了解 Linux),而且我有以下问题。
为了配置 SIEM 代理,我必须提供以下与某些配置文件的位置相关的信息,这些文件应该位于Windows Server 2016机器上,但我在我的机器上找不到这些文件。
autoexec.bat:据我所知,该文件用于在 Windows 启动时执行一些批处理操作。它位于 C:\ 文件夹中。我找不到它。我不明白这个文件是否不再存在(可能被注册表的使用所取代)。
boot.ini:据我所知,它也在 C:\ 文件夹中,现在不再存在(可能被替换为引导配置数据(BCD))。
config.sys:我认为这个文件在 Windows 2016 服务器上也不再存在。
io.sys:我认为这个文件也不再存在于 Windows 2016 服务器上。
msdos.sys:我认为这个文件在 Windows 2016 服务器上也不再存在。
ntbootdd.sys:我认为这个文件在 Windows 2016 服务器上也不再存在。
ntdetect.sys:我认为这个文件在 Windows 2016 服务器上也不再存在。
ntldr:它应该存在,但我在运行 Windows 2016 Server 的虚拟机上找不到它。
我的推理正确吗?这些文件在 Windows 2016 Server 安装中不再存在可以吗?那么ntldr呢?为什么我找不到?
其中一些文件在几十年前就被删除了——或者更确切地说,它们从一开始就不是 Windows NT 系列的一部分。其余的在 2006 年左右被删除(使用 Windows Vista/Srv2008)。
您通常应该避免使用为 Server 2003 编写的安全软件。
文件
ntldr
、boot.ini
和ntdetect.com
(不是 .sys)是 Windows XP/Srv2003 使用的 NTLDR 引导加载程序的一部分。它们不再存在,因为从 Windows Vista/Srv2008 开始, NTLDR 已被BOOTMGR 取代。BOOTMGR 使用基于注册表的“BCD”配置文件(在某种程度上也包括 EFI NVRAM),而不是 boot.ini。
ntdetect.com 的某些功能被完全删除,其他功能移至“winload.efi”(或 BIOS 系统上的 winload.exe)。
请注意,在现代 UEFI 系统上,引导加载程序(连同其配置)始终与操作系统分开保存在“EFI 系统分区”中——它永远不会在 C:\ 卷上。
默认情况下,XP/Srv2003 之后的 Windows 安装也在 BIOS 系统上模仿这一点,创建一个单独的“Microsoft 系统分区”来保存引导加载程序及其配置。所以你仍然找不到 C:\BOOTMGR 文件了。
文件
io.sys
、msdos.sys
、config.sys
和autoexec.bat
是 MS-DOS 的一部分。(具体来说,io.sys + msdos.sys 包含实际的 MS-DOS 内核。)它们不存在于 Windows NT 系列操作系统上,因为这些操作系统不使用 MS-DOS。(Windows XP/Srv2003 是基于 NT 的,但仍然包含空的 'io.sys' 和 'msdos.sys' 文件以安抚一些旧的 16 位程序,但这些文件已经不被用作引导过程的一部分。)
我什至会说,期望在 Server 2016 上找到这些文件几乎与期望在 Linux 上找到这些文件一样荒谬。
以前由 autoexec.bat 执行的一些任务现在对应于不同的 Windows 注册表区域——例如,全局环境变量由会话管理器设置,TSR 已被服务控制管理器下的服务替换,等等。