从 EFI 系统分区共享文件夹

从 EFI 系统分区共享文件夹

我正在运行 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扩展名的文件。

相关内容