在我上一个问题的答案中,有一个是寻求术语“驱动器”和“分区”的确切定义:
提到“Windows 会自动安装它找到的任何驱动器”
因此,我很好奇地问了以下问题:
- Windows 如何检测“驱动器”。或者 Windows(以及任何其他操作系统)究竟同意将什么定义为驱动器?
- 它是否会查找任何位签名模式以识别驱动器,就像 BIOS 查找扇区最后三个字节的神奇数字以知道它是否是可引导扇区一样?
答案1
Windows 会像任何操作系统一样检测驱动器 - 它有一个内置驱动程序,可以查看 SATA(或其他)接口并查询驱动器详细信息。基本上,驱动器是操作系统知道的东西,设备会提供适当的大小详细信息。
我相信您已经知道,驱动器被分成了多个分区。操作系统读取原始驱动器并找到分区上的信息,这些信息通常采用已知标准(通常是 MBR 或 GPT),存储在驱动器起始处附近的已知位置。
通常,分区是用文件系统格式化的 - 操作系统通常使用与文件系统关联的签名字节来确定如何挂载它。(也可以在分区信息中设置文件系统类型的提示 - 这对于启动一些复杂的分区格式(如软件 RAID)很方便,但并不总是准确和具体的)
(我不确定您从哪里得到可引导扇区的概念 - 我很确定那是不正确的)尽管分区信息可以包含一个可引导位来指示分区是否可引导 - 同样,磁盘是否可引导的信息可以存储在第一个扇区中。 (此信息也可以存储在较新的基于 GPT 的系统的 BIOS 中)