将 CD 留在办公室
没有什么比去同事办公室处理他们的电脑,却发现需要一张 CD,而这张 CD 正放在你的办公室里更让人恼火的了。如果您曾经经历过这种情况,或者只是不想再每天带着那本 CD 书到处跑,那么这篇文章就是为您准备的。
即使我在一个桌面环境主要由 Windows 统治的环境中工作,但仍有一些基于 Linux 的工具经常被使用。这些工具包括用于清除 Windows 密码、销毁硬盘上所有数据、重新分区硬盘以及测试内存的工具。好消息是,所有这些工具都原生通过 SYSLINUX (又名 ISOLINUX) 启动,这意味着它们也可以通过 PXE 从网络启动。所需要的只是一些时间,网络上存储文件的地方,以及一些免费软件。有兴趣吗?很好,让我们开始行动。
首先,在您想要存储文件的同一台服务器上配置一个 TFTP 服务器。当然,这里首选 Linux,但 Windows 服务器(非桌面版)也可以通过 TFTPD32 或类似工具正常工作。一旦设置好,我们需要一些东西来提供给我们的客户端,所以让我们从 kernel.org 下载最新版本的 SYSLINUX,并将以下文件从其中复制到我们的 TFTP 根目录
- core\pxelinux.0
请务必实际使用 *此* 版本的 pxelinux.0,因为一些 Linux 发行版修改了它们并使其在某种程度上被破坏了(详情请点击此处)。 - com32\menu\vesamenu.c32
现在这些文件已经到位,我们需要进行一项服务器端配置——我们需要设置两个 DHCP 选项
1. next-server = IP-ADDRESS-OR-FQDN-OF-YOUR-TFTP-SERVER 2. filename = /pxelinux.0
** 如果您的网络使用 MS DHCP,则这些选项在选项 66 和 67 中设置。
第一个选项告诉客户端在哪里找到您的 TFTP 服务器,第二个选项告诉他们要请求什么文件。Pxelinux.0 加载到内存中然后启动。关键是我们需要告诉它做什么,这需要一个名为 *default* 的纯文本文件(没有扩展名),该文件放在一个名为 pxelinux.cfg 的文件夹中,而 pxelinux.cfg 文件夹又位于您的 TFTP 根目录中。因此,到目前为止,我们的目录结构应该如下所示
/ # (the TFTP root) /pxelinux.0 /vesamenu.c32 /pxelinux.cfg/ /pxelinux.cfg/default
文件 *default* 包含您的启动菜单项,如果您像我一样想要分离静态菜单配置信息和子菜单,则可以调用其他文件。要开始使用,请在您最喜欢的文本编辑器中打开“default”并输入以下内容
DEFAULT vesamenu.c32 PROMPT 0 MENU INCLUDE pxelinux.cfg/pxe.conf NOESCAPE 1 TIMEOUT 300 ONTIMEOUT localboot MENU AUTOBOOT Normal booting will start in # seconds LABEL localboot MENU LABEL ^1. Boot from Local Hard Drive LOCALBOOT 0 LABEL memtest MENU LABEL ^2. Run Memtest86+ v4 kernel memtest/memtest LABEL ntpasswd MENU LABEL ^3. Blank a Windows Password TEXT HELP Runs Offline NT Password & Registry Editor ENDTEXT kernel ntpasswd/vmlinuz append rw vga=1 initrd=ntpasswd/initrd.cgz,ntpasswd/scsi.cgz LABEL dban MENU LABEL ^4. Launch Darik's Boot and Nuke TEXT HELP Use this to remove ALL data from a PC. ENDTEXT KERNEL memdisk/memdisk APPEND iso initrd=memdisk/iso/dban-beta.2006042900_i386.iso
保存该文件,现在创建文件 pxelinux.cfg/pxe.conf 并输入以下内容
MENU TITLE Choose from the below options: menu color border 30;44 #ffffffff #00000000 std NOESCAPE 1 ALLOWOPTIONS 0 PROMPT 0 menu width 80 menu rows 14 MENU TABMSGROW 24 MENU MARGIN 14 MENU VSHIFT 6
这些都是永远不会改变的信息,只是在 default 中占用大量空间,所以我将其移到一个单独的文件中。
现在开始有趣的部分...
正如您从菜单中看到的,我们正在设置 Memtest86+ 来测试计算机的 RAM,Offline NT Password & Registry Editor,以及 Darik's Boot and Nuke 来擦除硬盘。我之前提到的分区工具是 Gnome Partition Editor,又名 GPartEd。在其网站上记录了通过 PXE 提供 gparted 的方法,但这比这三个工具需要更多的工作。要设置 Memtest86+,请从其网站下载最新的预编译二进制文件,并将包含的文件复制到 TFTP 根目录中名为 *memtest* 的文件夹中。将二进制文件重命名为 *memtest*,否则将无法启动。Ntpasswd 同样简单。只需从其网站下载可启动 CD 镜像,挂载 .iso,并将以下文件复制到 TFTP 根目录中的 *ntpasswd* 中
- vmlinuz
- initrd.cgz
- scsi.cgz
启动 DBAN 需要通过 memdisk 链式加载其 ISO,memdisk 由 SYSLINUX 包在同名文件夹中提供。将其复制到 TFTP 根目录中名为 *memdisk* 的文件夹中,在其中创建一个名为 *iso* 的文件夹,并将您的 dban 磁盘镜像保存在其中。因此,到目前为止,我们的目录结构应该如下所示
/ # (the TFTP root) /pxelinux.0 /vesamenu.c32 /pxelinux.cfg/ /pxelinux.cfg/default /pxelinux.cfg/pxe.conf /memtest/memtest /ntpasswd/vmlinuz /ntpasswd/initrd.cgz /ntpasswd/scsi.cgz /memdisk/memdisk /memdisk/iso/dban-beta.2006042900_i386.iso
就是这样——一切都已设置完毕。将计算机或虚拟机(使用桥接网络)连接到网络并重新启动。通常,您按 F12 键以获得启动菜单,其中将列出您的网络适配器作为选项(如果没有,请在 BIOS 中查找启用 PXE 的设置)。选择您的网卡,您应该很快就会看到一个蓝色菜单,显示我们刚刚设置的选项。菜单中的数字是热键,因为我们在菜单中将 ^ 符号放在它们前面。如果您在 30 秒内未选择任何内容,您的计算机将自动启动到本地硬盘。
最后,还有许多其他工具可以添加到此启动菜单中,并且菜单选项可以通过纯文本或加密密码进行保护,以防止用户搞乱他们的计算机。例如,我在我工作的地方设置了这个菜单,它包括以下选项
1. 本地启动
2. Symantec Ghost 2.5.1(这些都使用 WinPE 环境)
- 常规 Ghost 客户端
- Ghost 控制台客户端
- Windows 7 企业版 x86 安装程序(通过网络共享)
3. Memtest86+
4. ntpasswd
5. DBAN
6. Ultimate Boot CD for Windows
7. Knoppix DVD(终端服务器客户端环境)
8. GPartEd
9. 较旧的 Ghost 服务器
- A Ghost 2.0 服务器
10. Ubuntu 基于互联网的安装程序
- 8.04 LTS amd64
- 8.04 LTS x86
- 9.04 amd64
- 9.04 x86
- 9.10 amd64
- 9.10 x86
11. Gentoo
- Gentoo amd64 最小 cd11。
- Gentoo x86 最小 cd
我希望大家发现这和对我一样对您的日常活动有所帮助。