如何从Windows Server 2008 PXE引导Ubuntu映像

本指南介绍如何配置Windows Server2008机器以推出可由无盘终端拾取的静态Ubuntu映像,以便您可以让任意数量的机器运行全功能的Ubuntu实例,而无需硬盘驱动器,只要它们能够PXE引导即可。

这是亚历山大·卡尼蒂斯(Alexander Karnitis)和科迪·杜尔(Cody Dull)的客座文章,这两位读者在Hyndman Inc工作,必须弄清楚如何为自己的工作完成这项任务。他们好心地为其他人写下了这个过程。

我为什么想要这个?

PXE引导使管理网络变得更容易且成本更低,并且从Windows服务器提供自定义Ubuntu映像的功能有助于使您的环境更加健壮。您可以使用这些映像为用户提供相同的基本工作环境,拥有易于恢复的系统(只需重新启动机器),对发生故障的机器执行诊断,等等。此外,通过从Windows服务器提供这些镜像,可以从单个位置同时提供Windows和Ubuntu镜像,尽管这超出了本指南的范围。

我需要什么?

运行Windows部署服务(WDS)的Windows Server 2008计算机。 支持PXE引导的客户端。 运行DHCP的Windows服务器计算机。 NFS服务器(本指南假设NFS服务器与WDS服务器相同,但情况并非如此)

创建WDS服务器

在Windows服务器上安装Windows部署服务并不是非常困难,而且Microsoft有很好的指南来指导您完成安装过程(这里是2008和2008 R2),因此本指南不会介绍如何执行此操作,但要知道您同时需要部署服务器和传输服务器。另请注意,在配置角色时,您需要在安装过程中选中“响应所有(已知和未知)客户端计算机”复选框,除非您正在引导的计算机已为Active Directory所知。这是因为服务器将Active Directory称为已知和未知设备上的授权。

应该按照指南进行操作,直到“添加图像的步骤”部分,因为我们将通过pxelinux添加图像,而不是通过WDS。

安装pxelinux

下载并解压缩syslinux的副本(一个可能的来源在此处)。从这里开始,我们将把pxelinux需要运行的文件复制到wds目录中。具体地说,对于pxelinux 5.01,这意味着我们将复制以下文件:

·Core\pxelinux.0

·COM32\MENU\vesamenu.c32

·com32\lib\libcom32.c32

·com32\elflink\ldlinux.c32

·com32\libutil\libutil.c32

·com32\chain\chain.c32

这些文件将被复制到所需的体系结构目录(\boot\x64和/或\boot\x86)。复制文件之后,体系结构目录应该类似于下面的内容(x86和x64之间略有不同,但pxelinux没有细微差别)。

这里,体系结构目录位于自定义WDS角色时指定用于保存WDS文件的目录下。

此时,我们将不再使用任何其他syslinux文件,因此可以安全地删除syslinux目录。

配置PXElinux

pxelinux配置文件可以进行大量定制,以便根据硬件类型和硬件地址,或者基于IP地址或IP地址范围(这里有更多信息),为不同的计算机提供唯一的引导菜单,并且可以提供相当多的引导方法和相当强大的菜单系统(这里有更多信息)。然而,出于本基本指南的目的,我们将坚持使用默认配置文件,并解释可用于pxeboot a LiveCD的基本菜单。首先,配置文件需要位于名为“pxelinux.cfg”的子文件夹中,因此在您将pxelinux文件复制到的同一目录中创建该文件夹。我们还在pxelinux.cfg文件夹旁边创建了一个“Images”文件夹来存储我们所有的Linux映像。此时,架构文件夹应该如下所示:

现在,在pxelinux.cfg文件夹中,创建一个不带文件扩展名的名为“default”的文件。

在记事本等文本编辑器中打开该文件,然后键入以下内容:

请注意,此设置假定映像存储在架构目录的Images/UbuntuLIVE下。

有关此操作的更多信息,您可以查看:

https://www.howtogeek.com/61263/how-to-network-boot-pxe-the-ubuntu-livecd/

创建NFS共享

在Windows服务器上创建NFS共享也非常简单,可以按照下面的步骤完成。但是,关于权限,有几点需要注意。

首先,必须更改共享文件夹上的NTFS权限,因为Everyone组需要具有读取和执行权限。

确保创建的共享是NFS共享,而不是SMB共享。

此外,所有计算机都需要具有匿名访问权限,并且Everyone NTFS权限需要应用于匿名用户。

一旦一切都设置好了,所有的设置可能还需要一段时间才能通过网络传播,但是一旦他们这样做了,就应该可以从您的Windows Server盒开始提供LiveCD服务了!要测试服务器,您可以分享一张取自Ubuntu网站的简单LiveCD。不过,也可以提供定制的LiveCD。如果您计划对LiveCD进行一些基本配置,可以按照本文进行操作:

https://www.howtogeek.com/109736/how-to-create-a-custom-ubuntu-live-cd-or-usb/

但是,如果您想要进行一些更密集的定制(如调整Unity)(使用上面的方法不能很好地完成),或者如果您想使用一台简单的机器并提供完全相同的副本,另一个相当简单的方法可以让您制作一个可以提供服务的图像,如下所示:

创建和自定义您的Ubuntu Live CD

创建新的自定义映像很容易。如果您还没有虚拟机播放器,请下载并安装。本指南中的步骤适用于Oracle VM VirtualBox。https://www.virtualbox.org/wiki/Downloads

创建一个新的虚拟机,选择Linux作为Type,选择Ubuntu或Ubuntu(64位)作为版本,根据您的喜好,单击Next。

选择要分配的内存量,建议至少1024 MB,单击“下一步”。

选择立即创建类型为VDI的新虚拟硬盘,并使其动态分配。

从Ubuntu网站下载Ubuntu 12.04 LTS Live CD。确保您选择的版本与您在步骤2中选择的版本相同。http://www.ubuntu.com/download/desktop

转到您刚刚创建的VM的设置。在Storage(存储)下,单击Controller:IDE(控制器:IDE)下的单个磁盘。在屏幕右侧的Attributes(属性)下,单击CD/DVD Drive(CD/DVD驱动器)字段旁边带有箭头的磁盘。单击选择虚拟文件。导航到下载Live CD的位置并选择它。

现在可以启动VM并安装Ubuntu12.04。

安装后,进行所有需要的更改。我们确实做了一些更改,包括:

如果除系统管理员之外的任何人都要使用它,请以标准用户的身份创建一个用户帐户,并将其设置为自动登录,而不需要密码。 根据最终映像的用途删除任何不必要的程序。如果不需要,可以删除的一些较大的程序有:Firefox、LibreOffice、Gwibber、Thunderbird、EMPERENCE和任何游戏。您可以通过使用终端中的APTITLE PURGE<PROGRAM NAME>命令或从Ubuntu软件中心安装Synaptic Package Manager来完成此操作。 在“启动应用程序”下,为要在启动时运行的任何程序创建一个条目。例如,如果这些计算机将主要用于远程桌面连接,请将Remmina Remote Desktop设置为自动启动。 要更改默认分辨率,请创建将运行xrandr命令的文件。 我们用来关闭瘦客户机上的集成显示并更改连接的监视器分辨率的示例脚本为以下两行: xrandr--输出LVDS1-offx

相关文章