我正在运行 Windows 10,无法从 EFI 分区访问与本地 LAN 盒共享的文件夹。我有一个 GPT 硬盘,上面有单个巨大的“EFI 系统分区”。由于 Windows 无法自动挂载它,所以我在启动时运行了一个批处理脚本,该脚本使用 diskpart.exe 来挂载分区。我已经从这个磁盘共享了一些文件夹,但无法从任何操作系统(Linux、Freebsd、Windows 10 本身、Android 等等)挂载它们。如果我将此文件夹复制到 MBR 磁盘,共享就可以正常工作。
这不是权限问题(尽管我遇到了访问拒绝),因为我将完全相同的 acl 应用于非 gpt 驱动器上的 ntfs 和共享安全性,并且可以正常安装。这让我得出一个显而易见的结论:GPT/EFI 是问题所在。
以下是相关事件:
客户名称:\\[-乱码-] 客户端地址:[-scrambled-]:xxxxx 用户名:-scrambled-\-scrambled- 会话 ID:0x98000000001D 共享名称:\\*\BOOKS 分享路径:\??\X:\BOOKS 状态:{拒绝访问} 某个进程已请求访问某个对象,但尚未被授予访问权限。(0xC0000022) 映射访问:0x100081 授予访问权限:0x0*
分享内容如下:
-scrambled-@-scrambled-:~$ net share | grep -i books 书籍 X:\书籍
我无法将磁盘转换为 MBR,因为我根本没有办法备份数据(没有多余的 4Tbs 空间)。我也无法启动 EFI,因为我混合使用了 MBR/GPT 磁盘和奇怪的多重启动设置...
如有任何建议,我们将不胜感激。
谢谢!
答案1
请阅读维基百科上有关 EFI 系统分区(ESP)的条目:
https://en.wikipedia.org/wiki/EFI_System_partition
ESP 是用来保存引导加载程序和相关数据的地方。它是不是用于存储随机用户数据(配置文件等)。尽管 EFI 规范没有明确说明 ESP 的大小,但它通常介于 100 MiB 和 1 GiB 之间。如果您的 ESP 明显大于该值,则最好将其调整为合理的大小,并将剩余空间用于常规 FAT 或 NTFS 分区。如果您的 ESP 小于 1 GiB,那么您应该能够在其他地方找到足够的磁盘空间来满足您的需求。如果您无法做到这一点,那么您的磁盘太小了,您应该补充或更换它。
也可能是所讨论的分区实际上并未作为 ESP 运行,但其类型代码设置不当。如果是这种情况,解决方案是更改类型代码。我不熟悉大多数 Windows 分区工具,所以我不能告诉你如何使用它们完成这项任务。在 Linux 中,您可以使用parted
或 GParted 从分区中删除“启动标志”;或者使用gdisk
将类型代码从 EF00 更改为更合适的代码(如果分区使用 FAT 或 NTFS,则为 0700)。不过,在更改类型代码之前,您应该确保它确实不是 ESP。ESP 将有一个名为的目录EFI
,该目录又将包含一个或多个包含引导加载程序的子目录。要启动 Windows,它可能会有EFI\BOOT
和/或EFI\Microsoft
目录树。其中至少一个将包含带有.efi
扩展名的文件。