我尝试搜索这个问题,但没有找到答案。因此,据我了解,启动过程如下:
- 邮政
- BIOS
- BIOS 调用所选可启动磁盘的 MBR
- MBR 调用卷引导代码,即引导管理器
- 启动管理器加载内核等等......
因此,如果我们遵循之前的逻辑,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 没有检查可移动位。