为什么 Windows 无法从 BIOS 计算机上的 fat32 格式的 USB 启动?

为什么 Windows 无法从 BIOS 计算机上的 fat32 格式的 USB 启动?

我尝试搜索这个问题,但没有找到答案。因此,据我了解,启动过程如下:

  1. 邮政
  2. BIOS
  3. BIOS 调用所选可启动磁盘的 MBR
  4. MBR 调用卷引导代码,即引导管理器
  5. 启动管理器加载内核等等......

因此,如果我们遵循之前的逻辑,fat32 分区应该能够通过常规bootsect /nt60 ....命令启动,因为磁盘有 MBR,卷有启动管理器代码。但是,由于某种原因,启动仍然失败。(在 fat32 上)。答案由这篇 Microsoft 帮助文章指出:

出现此问题的原因是 USB 闪存驱动器被列为可移动媒体。因此,当您将闪存驱动器格式化为使用 FAT32 文件系统时,Windows 操作系统不会在 USB 闪存驱动器上创建主引导记录 (MBR)。USB 闪存驱动器被视为超级软盘。FAT32 启动代码不支持从没有 MBR 的超级软盘启动计算机。 

BIOS 尝试将启动控制权从 USB 闪存驱动器转移到 FAT32 启动代码,即使 FAT32 启动代码不支持这种情况。

但是我不明白为什么 MBR 会不存在?

最后,如果 MBR 不存在,是否有某种方法可以添加它以便可以进行 fat32 启动?

答案1

从 FAT32 文件系统运行 Windows 时,没有基于文件系统的安全性(您需要 NTFS 才能实现这一点)。
因此,这样的 Windows 安装将对地球上的任何病毒/恶意软件发出公开邀请。

因此,从 Fat32 运行 Windows 仅适用于安装媒体。而且 Microsoft 从未费心在标准 Windows 实用程序中添加将 MBR 写入 FAT32 可移动媒体的选项。

但是使用第三方 USB 记忆棒格式实用程序您可以轻松地自己完成此操作。

答案2

您引用的同一篇 Microsoft 文章可能也包含答案:

解决方法

要解决此问题,请使用 Diskpart 命令提示符实用程序在 USB 闪存驱动器上创建并格式化启动分区。

显然 Diskpart 没有检查可移动位。

相关内容