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

image

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

这是Alexander Karnitis和Cody Dull的客座文章,为Hyndman Inc工作的两位读者,他们必须找出如何完成这项工作。 他们很友好地为大家写下这个过程。

为什么我想要这个?

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

我需要什么?

  • Windows Server 2008运行Windows部署服务(WDS)
  • 客户端能够进行PXE引导
  • 运行DHCP的Windows Server Machine
  • NFS服务器(本指南假定NFS服务器与WDS服务器相同,但不一定是这样)

创建WDS服务器

在Windows服务器上安装Windows部署服务是不是非常困难的,而微软有很大的导游引导您完成安装过程(2008和2008 R2 在这里 ),所以本指南将不包括如何做到这一点,但知道你需要部署服务器和传输服务器。 另请注意,在配置角色时,您需要在安装过程中选中“响应所有(已知和未知)客户端计算机”框,除非您正在引导的计算机已为Active Directory所知。 这是因为服务器引用Active Directory作为已知和未知设备的权限。

image001[4]

指南应该跟进,直到“添加图像的步骤”部分,因为我们将通过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)。

image002[6]

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

在这一点上,我们将没有更多的用于任何其他syslinux文件,所以syslinux目录可以安全地删除。

配置PXElinux

该PXELINUX配置文件可高度定制,以提供基于硬件的类型和硬件地址不同的计算机上一个独特的启动菜单,或基于IP地址或IP地址范围(更多的是在这里 ),并能提供不少启动方式以及一个相当强大的菜单系统(更多的是在这里 )。 然而,为了这个基本指南的目的,我们将坚持默认配置文件,并解释可用于pxeboot一个liveCD的基本菜单。 首先,配置文件需要位于名为“pxelinux.cfg”的子文件夹中,因此在通过pxelinux文件复制到的同一目录中创建该文件夹。 我们还在pxelinux.cfg文件夹旁创建了一个“Images”文件夹来存储我们所有的linux镜像。 在这一点上,架构文件夹应该看起来像这样:

image003[4]

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

在文本编辑器中打开文件,如记事本,并键入以下内容:


DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0

# Timeout in units of 1/10 s

TIMEOUT 30 #3 second timeout.
MENU MARGIN 10
MENU ROWS 16
MENU TABMSGROW 21
MENU TIMEOUTROW 26
MENU COLOR BORDER 30;44 #20ffffff #00000000 none
MENU COLOR SCROLLBAR 30;44 #20ffffff #00000000 none
MENU COLOR TITLE 0 #ffffffff #00000000 none
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU TITLE Netboot Menu

#-A sample liveCD boot

LABEL <Label Name>

kernel Images/UbuntuLIVE/casper/vmlinuz #location of the kernel

append boot=casper netboot=nfs nfsroot=<Windows Server IP>:/RemoteInstall/Boot/x64/Images/UbuntuLIVE initrd=Images/UbuntuLIVE /casper/initrd.gz

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

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

创建NFS共享

创建NFS共享是Windows服务器上相当简单为好,并可以通过以下步骤来完成 但是,有关权限的一些注意事项。

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

image005[4]

image006[4]

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

image008[4]

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

image010[4]

image011[4]

一旦所有设置完成,它可能需要一段时间的所有设置传播通过网络,但一旦他们做,应该可以从Windows Server框中开始提供LiveCD! 要测试服务器,您可以共享一个简单的LiveCD从Ubuntu的网站。 然而,也可以提供定制的LiveCD。 如果您计划对LiveCD进行一些基本配置,可以按照文章:

然而,如果你想做一些更强烈的定制,如调整Unity,这不能很好地使用上述方法,或者如果你想要一个简单的机器,并提供相同的副本,另一个相当简单的方法,将允许您制作可以投放的图像如下:

创建和自定义您的Ubuntu Live CD

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

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

image013[4]

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

image015[4]

选择现在创建一个类型为VDI的新虚拟硬盘驱动器,并使其动态分配。

image017[4]
image019[4]
image021[4]

最后,设置虚拟硬盘驱动器的大小。 4 GB是最小值,但建议使用6-8 GB。
image023[4]

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

转到刚刚创建的虚拟机的设置。 在存储,点击单个磁盘控制器:IDE。 在根据属性的屏幕的右侧,点击旁边的现场CD / DVD驱动器箭盘。 点击选择一个虚拟文件 导航到您下载Live CD的位置并选择它。

image025[4]

您现在可以启动VM并安装Ubuntu 12.04。

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

  • 如果除系统管理员之外的任何人都要使用它,请创建一个用户帐户作为标准用户,将其设置为自动登录,不需要密码。
  • 根据最终图像的目的,删除任何不必要的程序。 一些更大的程序,如果不需要,可以删除:Firefox,LibreOffice,Gwibber,Thunderbird,同理心和任何游戏。 你可以做到这一点是通过使用资质清洗<程序名称>终端命令,或者从Ubuntu软件中心安装新立得软件包管理器
  • 启动应用程序 ,创建任何程序条目 你想在开始时运行。 例如,如果这些机器将主要用于远程桌面连接,设置Remmina远程桌面自动启动。
  • 要更改默认分辨率,请创建将运行xrandr命令的文件。
    • 我们用于关闭瘦客户端上的集成显示器并更改所连接的显示器的分辨率的示例脚本包括以下两行:
      xrandr --output LVDS1 –offx

      randr --output VGA1 --primary --mode 1280x1024

    • 使文件的可执行文件,并把它添加到启动应用程序
    • 可以使用此方法在开始时运行其他命令。
    • 请记住,这只有在所有的机器都类似地标记它们的显示器时才能工作。 如果您有多个模型,可能需要更复杂的方法。
  • 解锁启动器中不需要的任何剩余图标,并添加任何您想添加的图标。

使得所有自定义后,您必须安装Remastersys。 尽管一些帖子你可能会发现在论坛上,Remastersys仍正常运行。

  • 通过输入sudo的获取新立得软件包管理器 apt-get的在终端安装突触或从Ubuntu软件中心得到它。
  • 在终端中运行以下命令以下载存储库gpg密钥:
    sudo wget –O –http://www.remastersys.com/Ubuntu/remastersys.gpg.key | apt-key add –
  • 打开文件/etc/apt/sources.list中使用sudo权限的文本编辑器,添加以下行,改变精确到你的版本,如果必要的:DEB http://www.remastersys.com/ubuntu精确的主
  • 打开突触和搜索Remastersys。 马克要安装RemastersysRemastersys桂包,按适用于安装。
  • 打开Remastersys贵和选择备份

你现在有一个自定义的cd。 下一步是将其传输到您的服务器。 如果您已经按照<link>配置Windows Server 2008到PXE启动Ubuntu </ link>指南,下面是部署映像的步骤。

  • 在终端中执行以下命令,使Ubuntu VM成为NFS客户端。 sudo apt-get install rpcbind nfs-common
  • 创建一个目录以挂载NFS共享。 sudo mkdir / NFS
  • 您现在必须装载已授予写入权限的NFS共享。 建议您创建一个附加共享,以便在共享时将文件从客户端传输到服务器,因为pxe引导文件系统通常不具有此权限。
    sudo mount <服务器的IP地址>:/ <NFS Name> / NFS
    例如。 sudo mount 192.168.1.24:/TempNFS / NFS
  • 将新创建的iso复制到挂载的共享
    sudo cp /home/remastersys/remastersys/custom-back.iso / NFS
  • 在这一点上,你已经完成了Ubuntu VM。 在Windows服务器上,转到复制iso的位置,并使用图像文件处理工具(如Power ISO)提取内容。 http://www.poweriso.com/download.htm
  • 在<share root> / boot / x64 / Images下创建一个文件夹,并将iso的内容复制到此文件夹中。
  • 如果您的服务器配置正确,则在引导无盘客户端时,您应该会看到您自定义的Ubuntu Live CD作为pxe引导选项之一。
    image027[4]

要更改自定义映像,请返回到VM,并从您选择磁盘映像引导的步骤开始重复上述步骤。 这一次,而不是使用从Ubuntu下载的默认cd,您将使用您导出的备份iso文件。

赞 (0)
分享到:更多 ()