Skip to content

使用 Windows Server进行网络启动

这是设置 Windows Server以充当 DHCP /TFTP服务器所需步骤的摘要 这样树莓派 3可以通过网络启动。

我们使用 Windows DHCP服务,Windows部署服务充当 TFTP 服务器,而 Windows NFS服务为引导的映像提供文件系统。我的特定服务器是 HP Proliant 运行 Windows 2008 R2的微服务器。

免责声明

这些步骤可能会省略细节,因为我在进行此操作时没有其他 Windows 2008 Server 以此重新开始。我也不是网络专家,也不是 WDS 专家,请随时纠正此问题。

该文档中的很多内容都是在事实发生之后编写的,因此可能是我错过了一个奇怪的步骤。希望这足以使经验丰富的 Windows 管理员朝正确的方向前进。

DHCP设置

这是一个可以改进的领域。我将 Windows 2008 Server设置为网络的 DHCP 服务器, 但是,要使树莓派从网络启动,它需要从 DHCP 服务器返回特定的 BOOTP 选项。 这是" 043供应商特定信息"。我使用 DHCP MMC插件将此选项添加到我的 DHCP 作用域中。我将此选项的数据设置为:

2B 20 06 01 03 0A 04 00 50 58 45 14 00 00 11 52 61 73 70 62 65 72 72 79 20 50 69 20 42 6F 6F 74 FF

当使用 Pi 作为 DHCP 服务器时,我通过运行成功启动的跟踪来确定此字符串。我注意到 WireShark 抱怨 该选项的结构,所以我可能没有对其进行完美设置,但是对于 Pi 来说,足以将 DHCP 服务器识别为一个 从它可以尝试网络启动。

让我困扰的一件事是,此供应商选项将发送给所有 DHCP 客户端,而不仅仅是 Pis 。我觉得 可以通过在服务器上定义供应商类并将客户端识别为 Pi 来解决此问题,但是我还没有时间充分探索这一点。

Windows部署服务

Windows部署服务是支持 TFTP 的服务器角色。对于 Windows 客户端,它支持丰富的功能集 但是我们只需要它的 TFTP 服务。您可能必须将 WDS 角色添加到服务器。

WDS在将放置 TFTP 文件的位置创建 REMINST 共享。我使用 Windows 资源管理器导航到\ servername \ REMINST 然后复制到 Pi 的启动目录(包括子目录)中到该位置(包括更新的 bootcode .bin和 start .elf)。

与 DHCP 一样,我不确定将 Pi 内容添加到 WDS 文件夹如何影响 WDS 的正常 Windows 操作,因为 我不在网络上使用它。

Windows NFS服务

上面的步骤应至少允许 Pi 引导,但不会具有文件系统的其余部分。 现在,我们需要将 NFS 服务角色添加到服务器中。安装它们后,我们可以创建 Pi 可以使用的 NFS 共享。

我创建了一个包含 Pi 的文件系统的文件夹,然后右键单击该文件夹并选择属性,然后转到 " NFS共享"选项卡,然后单击"管理 NFS 共享"按钮。我将共享称为" PiRoot",并选择了"无服务器身份验证[Auth_Sys]","启用未映射的用户访问权限","允许未映射的用户 Unix 访问权限"选项。 我相信这些允许用户权限和所有权以最佳方式工作。

然后,我启动了一个普通的 Pi ,并将整个文件系统复制到 Windows 服务器上新创建的 PiRoot 共享中。

cmdline.txt

最后,我修改了 cmdline .txt以指向 PiRoot NFS文件夹

root =/dev/nfs rootfstype = nfs nfsroot = 192.168.10.200:/PiRoot/rw ip = dhcp rootwait