PXE - loading everything! Mastering multi-booting over a local network. Setting up WTware to boot the terminal over the network. Diskless terminals (diskless terminal) Downloading windows 7 over the network diskless stations

Article about Booting a computer over a network

this is a hardware and software mechanism that provides loading operating environment over the network without using local media. relies on running the preboot runtime environment ( PXE).

Typically, booting consists of several stages: first the PXE code is run, for example from the ROM of the network card; then it is downloaded from the network server operating environment loader; The loader ensures the formation of the menu, loading and transfer of control to the executable file of the kernel of the operating environment; and finally, the kernel creates the file system and starts the operating system itself.

Diskless booting of a computer, which can also be called PXE booting, provides the ability to thin clients connections to terminal server, installers of operating environments can install over the network or, in general, create a menu with PXE tools.

PXE code is a program that creates a pre-boot execution environment. Typically, PXE code starts from the ROM (read-only memory) of the network card. However, a PXE environment using PXE bootloader can be launched from any local media. Running PXE code is the first step booting a computer over the network.

Note: Network cards - such as 3COM 3C905C-TX-M with built-in BootROM is currently (almost) not available for free sale.

This may be due to the abundance of motherboards with built-in network cards and the presence of PXE code already flashed in them.

Note: The PXE bootloader can be placed on any physical medium: floppy disk, CD/DVD disk, USB flash drive, hard disk. Please keep in mind that the motherboard's BIOS must support transferring boot control to the selected media with a PXE boot loader.. But some PXE boot loader projects. for example iPXE, they can connect and load menus and operating systems and from.

HTTP servers

Therefore, TCP/IP, UDP, DHCP/BOOTP, and TFTP/HTTP protocols are used to obtain the bootloader and kernel operating environment, and DHCP and TFTP/HTTP servers must be configured.

Launching the OS boot loader booting a computer over the network.

The OS loader is a program that generates a menu and ensures that the kernel of the operating environment is loaded and control is transferred to it. Launching the operating system loader is the second stage

  • The OS loader can be individual (special) bootloaders or special versions of well-known bootloaders such as: Grub2
  • grub2pxe special PXE version of the bootloader Syslinux
  • pxelinux special PXE boot loaders / iPXE

gPXE The OS loader generates the menu, ensures the selection and loading of the operating system kernel and transfers control to it. An example of the implementation of such a PXE menu is given in the article.

PXE tools Full versions can be loaded into the operating system over the network / Debian, Linux Windows and DOS, Live systems , thin clients and special projects, such as, Clonezilla Mhdd booting a computer over the network.

and others. When forming the file system of the operating environment, protocols such as HTTP, NFS, NBD, iSCSI can be used. Loading the operating system is the final stage More information about booting a computer over the network

  • given in articles NFS Terminal Server
  • linux network hard drive LTSP Terminal Server - description of terminal server deployment
  • LTSP LTSP Terminal Server XDMCP Terminal Server

XDMCP

This article publishes methods for booting a computer over a network using floppy/HDD disk images (it is possible to use sizes other than 1.44 MB). This may be necessary if you do not have other bootable media at hand, or for ease of use in certain conditions. The methods have been successfully tried at least once in a real situation, and if you know others, then send your options to the site administrator. If you know how to simplify existing methods, then send your options to the authors of the methods or publish them.

Method 1: Thinstation and RIS server

I present an article about network downloading, which was written by a participant at the OSZone conference.

Preface

So, we have a computer without a flop and a CDROM. There is a SIS900 network card. The BIOS has the ability to boot from HDD, USB Floppy, USB Flash, USB CDROM and over the network.

At the time the torment began, he only had a flash drive with him, but he refused to boot from it. It was not possible to get a USB CD or Floppy. All that was left was network loading. By the way, as it turned out later, only a USB flop would really help. USB CD was not recognized.

While reading MS docs and auto-installation forums, I came across the acronym RIS and a mention that you can boot from a network card and install an axis. So I decided to check it out. I installed RIS, created an image, configured DHCP and... got a huge bummer. The system actually booted, went through the text part of the installation and crashed into BSOD with code 0x000000BB. According to interpretations found on the Internet, to fix it all you need to do is replace the network card drivers in the distribution or replace the network card. I downloaded the new version of the drivers, read KB315279 and the links on it, did everything as described, and dancing with a tambourine ended with a long BSOD with the same code.

Okay, if you can’t do it right away, let’s read the instructions. I studied and studied and came across the possibility of using almost any disk image for downloading over the network.

What you will need

  • A utility for creating bootable network images from regular ones. Loading
  • Perl. Loading. (this version worked for me, try others yourself, I'm not a Perl player)
  • Notepad from the standard Windows package or any other ASCII editor
  • Thinstation. , file (8.86 MB) (it is quite possible that another file will work)
  • Windows 2000 Server installation disc
  • Straight arms, desire to learn :)

Let's get started

Step 1

Download and unpack the conversion utility. For clarity, in D:\BootDisk\.

Step 2

Download and install Perl.

Step 3

Create a floppy disk image or use a ready-made image.

  • If there is no image of the boot floppy disk in the form of a file, then insert the boot floppy disk with MS-DOS and execute the command D:\BootDisk\MKIMAGE.BAT DOS. Standard 1.44 Mb drives are supported.
  • If the image already exists, then we modify the boot image creation file.
    1. Open notepad and copy/write the following code
      @echo off
      cd mknbi-1.4.1-win
      perl.exe mknbi.pl --nosquash --format=nbi --target=dos ..\image.dos >..\dos.bin
      rem If you want versatility, then comment on the top line (add REM)
      rem and uncomment the bottom one (remove REM) (running MKIMAGE2 image_name_with_extension)
      rem perl.exe mknbi.pl --nosquash --format=nbi --target=dos ..\%1 >..\dos.bin
      cd..
      :end
      We save it under the name MKIMAGE2.BAT
    2. Copy the floppy disk image to the name D:\BootDisk\image.dos
    3. Run the file MKIMAGE2.BAT

Step 4

We are waiting for the batch file to complete its work. Checking that the size dos.bin larger size image.dos approximately 4 kb.

Step 5

Unpack thinstation. From the archive we need the file TFtpdRoot\ thinstation.nbi.zpxe. Copy it to D:\BootDisk\ with the name dos.bin.zpxe. This is a PXE boot loader.

Step 6

Configure DHCP (if configured, go to step 7). I have Win 2000 Server so I will describe it for that.

If DHCP is not installed, then it needs to be installed first. ( Control Panel> - Installation and removal of programs- , then select Network Services, Compound and check the box DHCP).

Configuring DHCP. Control Panel - Administration, launch DCHP equipment. Choose DHCP server which we want to configure. Then from the context menu select Create an area. In the wizard that appears, enter the area name and comment. Give meaningful names so that in a couple of years another admin or you yourself can figure it out. Then we enter the start and end addresses that we want to distribute via DHCP. The maximum capacity depends on the number of machines installed simultaneously. If a static address is included in the address range, you can enter it into the exclusion list on the next page. Further at your discretion. After creating an area in the Area Options section, you need to configure the parameters 066 IP servers And 067 File name 067 For loading. In parameter dos.bin.zpxe.

enter the name

Step 7

Control Panel - Installing and configuring RIS - Installation and removal of programs Adding and removing Windows components , put a tick on Remote Boot Service Administration - . After the installation is complete, go to Services and start the service.

Simplified FTP daemon

Step 8 dos.bin.zpxe 066 IP servers dos.bin.

Copy files to C:\tftpdroot

Step 9
We set the computer to boot from the network adapter via PXE and try to boot.

If everything is normal, then the computer that is booting will search for a DHCP server, then the bootloader will show that an IP address has been assigned, and the boot from the image has begun.

General Notes

To edit/create a floppy image, you can use WinImage, a plugin for Total Commander

First you need a working computer with Internet access. Install the Windows Automated Installation Kit (WAIK), which can be downloaded for free from http://go.microsoft.com/fwlink/?LinkId=136976. From the Start menu, open the Windows PE Tools Command Prompt and, if you are installing a 32-bit version of Windows 7, type

  • copype.cmd x8b C:\output

or, for the 64-bit (x64) version,

  • copype.cmd amd64 C:\output

and press Enter. The batch file will automatically create the C:\output footer. After copying the files, type the following command to mount the Windows Preinstallation Environment (PE) image:

  • imagex /mountrw C:\output\winpe.wiro 1 C:\output\mount

Next, open Windows Explorer and create a folder inside c:\output, calling it boot Copy all the files from C:\output\mount\Windows\Boot\PXE to the new folder C:\output\boot. After this, detach the Windows PE image:

  • imagex /unmount C:\output\mount

Copy the boot.sdi file from the WAIK installation folder to the C:\output\boot folder. If you are installing a 32-bit version of Windows 7, take boot.sdi from C:\Program Files\Windows AIK\Tools\PETools\x86\boot, and if you are installing a 64-bit (x64) version, then take it from C:\Program Files\Windows AIK\Tools\PETools\amd64\boot.

Return to the command prompt window and copy the winpe.wim file to the boot folder, renaming it boot.wim:

litter C:\output\winpe.wim c:\output\boot\boot.wim

After that, all that remains is to enter a few more commands to create a Boot Configuration Data (BCD) file using bcdedit.exe, the same utility used to create a dual boot. Just download makebcd.bat from http://files.creativelement.com/annoyances/makebcd.bat and run it on your PC. To copy and paste a GUID, right-click anywhere in the Command Prompt window, select Mark, highlight the text in curly braces above the command, then press Enter to copy the text. Right-click again, select Paste to paste the text, and press Enter to continue. If everything is OK, the message The operation completed successfully will appear.

The last step is to install a Trivial File Transfer Protocol (TFTP) server program, such as Tftp32, so that the computer can connect to the work PC to retrieve the download files. Install Tftp32 and run tftpd32.exe. Click Browse, select the C:/output folder and click OK to set the Current Directory. Next, select the DHCP server tab, click Help and fill out the fields following the prompts. In the Boot file field, type boot. sdi. After that, click Save.

After setting up the PXE server, you need to enable PXE network boot in your PC's BIOS setup. You will need the hostname and IP address of the computer acting as the PXE server.

Technology PXE relies on standard protocols, including TCP/IP and Dynamic Host Configuration Protocol.

Many years ago, in order to configure a user's computer or troubleshoot a problem on it, someone from the IT service or corporate HelpDesk service had to take installation disks for software products, as well as disks with diagnostic tools and drivers, and go to it problem PC.

With the creation of corporate networks, a solution to this problem was found. In the mid-1990s, Intel, along with many other hardware and software manufacturers, began supporting specifications based on open standards called Wired for Management (WfM).

Aimed at reducing total cost of ownership, these specifications allowed system administrators to access PCs over a network for monitoring, updating, and configuration using standardized communications software and remote management applications. It required standardization of hardware (including chips, BIOS, memory, power supplies and network cards) in consumer PCs. The WfM specification supports a wide range of PC networking technologies, including Desktop Management Interface, remote launch (also called LAN launch or service boot), and Preboot Execution Environment(PXE).

PXE takes us back to a time when not all computers had internal hard drives. Typically, PXE involves booting the computer from firmware, that is, from read-only memory or from a ROM chip, rather than from magnetic media. Booting from firmware eliminates the hassles associated with using an electromechanical device (physical disk), which increases reliability, eliminates disk read errors, and speeds up the boot process. Additionally, PXE can be used to boot a computer over a network.

Although WfM has been supplanted by newer management standards such as Intel Active Management Technology, network administrators still find the capabilities that PXE supported very useful.

PXE technology is designed for automated remote control of user PCs and workstations. It relies on industry standard Internet protocols, including TCP/IP and Dynamic Host Configuration Protocol (DHCP). Computers that support PXE typically have a network card that remains active and connected to the local network even when the power to the PC itself is turned off. This board scans local network traffic for a special data sequence - a media access control address unique to the PC, repeated six times. When the network card receives this "magic packet", it turns on the PC. For this to happen, LAN support must be enabled in the BIOS of the PC. Running over LAN may not be supported on some very old PCs because it requires an electrical connection between the network board and the system board - a mandatory hardware requirement that cannot be met by updating the BIOS alone. However, most enterprise PCs meet this hardware requirement.

As soon as the local PC is turned on, the network card is activated and configuration is performed. In order to use PXE, an appropriate server infrastructure is required. When the PXE client boots, the following occurs. First, the client obtains an IP address from the DHCP server. Unfortunately, PXE requires some functionality that may not work on all DHCP servers, so most software that supports PXE also includes a DHCP proxy service. This proxy service does not provide IP addresses directly, but allows DHCP to work.

After connecting to the DHCP server, the system locates the PXE boot server, which sends it the necessary files. The DHCP server provides the boot file name, and the PC then downloads it from the Trivial File Transfer Protocol (TFTP) server.

Once PXE is activated (that is, whenever the PC boots), a message appears on the screen prompting the user to choose whether to PXE boot or continue the normal boot sequence from the local hard drive or optical media. PXE offers a list of boot options that can include a variety of support and diagnostic tools that perform tasks such as scanning for viruses, checking the integrity of hard drives, inventorying installed software, updating drivers, or even installing an entirely new operating system on a PC. All this can be done remotely and largely automatically, requiring virtually no manual action.

PXE technology boots the computer from firmware, that is, from read-only memory or ROM chip, rather than from magnetic media. This speeds up the download process, increases its reliability and allows it to be done over the network.

  1. The network card listens to local network traffic for certain data patterns
  2. The network card captures the “magic packet” in the transmitted data and supplies power to the PC through the power connector on the motherboard
  3. PXE client requests an IP address from DHCP or proxy server
  4. DHCP passes the boot file name
  5. PXE requests file from download server
  6. The PXE client downloads the file from the TFTP server. The PXE client boots from the received file

Hello, dear readers of the site! My name is Roman Nakhvat and I present to your attention an article on a very interesting topic, namely about diskless booting of operating systems Windows XP, 7, 8.1, 10. Why might a user need diskless booting of Windows? This can be either simple savings on components (in particular on hard drives), or the desire to protect yourself from loss of information due to various factors affecting the computer, such as virus activity, power failures, natural wear and tear of the hard drive during operation, and so on. .In this article we will look at diskless booting of a machine using the Windows XP operating system as an example using the CCBoot 2017 program. CCBoot allows you to perform diskless booting of the Windows XP, 7, 8, 10 operating systems using the iSCSI protocol.

Diskless boot allows computers to run without a local disk. A "diskless" computer connects to a hard drive over the network and loads the operating system from a remote computer."

To organize a diskless boot, I will use my home network of two machines on which the Windows XP and Windows 8.1 operating systems were pre-installed. Since the CCBoot program works on the client-server principle, in our case a machine with Windows XP will act as a client, and a machine with Windows 8.1 will act as a server.

On a machine with Windows 8.1, we have partitions D and E on our hard drive, which we will further use in the process of setting up the server part of the CCBoot program.

On a machine with Windows XP, two hard drives are installed, namely: with a capacity of 80 GB (one partition is created on this hard drive and Windows XP is installed on it, the second hard drive with a capacity of 1000 GB is used as file storage.

Go to the address http://www.ccboot.com/download.htm and download the CCBoot installation file.

Downloaded CCBoot installation file. We run this file on a machine with Windows 8.1 and perform the installation.

As mentioned above, CCBoot works on a client-server principle. In our case, the role of the server will be performed by a machine with Windows 8.1, so we select CCBoot Server Installation.

Installation

The installation of the CCBoot server on a Windows 8.1 machine is complete.

CCBoot program shortcut.

Let's determine the IP address of a machine running Windows 8.1 by running the ipconfig command on the command line. As you can see, the IP address is 192.168.100.14

We launch the CCBoot program and on the “Disk Manager” tab we see the hard drive partitions available for use, their size and free space on them.

Let's configure the server part of the CCBoot program.

Select partition D and open its settings window by selecting “Edit disk”.

We define the type of partition D on the hard drive as “Image”; in the “RAM Cache” drop-down list, select the value 2048.

We get the following.

On partition D we will store a virtual hard disk file with the .vhd extension on which the Windows XP operating system is installed.

In the same way, open the settings window for section E, define the Type as “Writeback”, and in the “RAM Cache” drop-down list set the value, for example, 1024.

Section E will be used to store information received from client machines.

It should look like this.

After editing the settings of sections D and E, click the “Options” button.

On the "Main" tab in the "Administrator Password" window, specify the password that we will need to connect to the CCBoot server.

On the "DHCP Settings" tab, set the switch to "CCBoot DHCP is used", specify the IP address of the CCBoot server (in our case it is 192.168.100.14).

We also indicate the range of IP addresses that will be assigned to client machines for diskless booting (for example, from 192.168.100.43 to 192.168.100.76).

Let's go to the "Client Manager" tab. This tab will display a list of client machines on which the CCBoot client was installed.

Since we have not yet installed the CCBoot client on a machine with Windows XP, this tab will be empty.

We switch to a machine with Windows XP and install the client part of the CCBoot program on it. Further.

Install.

The installation of the CCBoot client on a machine running Windows XP is complete.

Let's determine the IP address of a machine running Windows XP by running the ipconfig command. As we can see, it is 192.168.100.85.

Go to the Start menu and launch CCBootClient.

This window will open in front of us.

Click on the "Install client" button.

Confirm the installation of the CCBoot client.

Click OK.

Reboot the machine with Windows XP.

After rebooting the machine with Windows XP, in the CCBootClient window we indicate the IP address of the CCBoot server (192.168.100.14), the size of the image which will contain the booting Windows XP operating system, as well as the name of the image (WinXP).

Click "Upload image".

Enter the password to connect to the CCBoot server.

We switch to a machine with Windows 8.1 and in the CCBoot program, on the “Image Manager” tab, we see that we have a virtual hard disk file called WinXP.vhd with a capacity of 75 GB.

Also, if we go to the “Client Manager” tab, then we have a machine with the IP address 192.168.100.85, that is, a machine with Windows XP.

Let's remove the machine with the IP address 192.168.100.85 from the "Client Manager" tab by selecting "Delete Client".

Confirm deletion of the client.

We turn off the machine with Windows XP and disconnect the 80 GB hard drive (on which Windows XP is installed), and leave connected the 1000 GB hard drive used as file storage.

We get the following.

We boot the machine on which Windows XP is installed (but the boot disk with Windows XP is disabled) over the network.

We download over the network.

As you can see, the name of our client machine was determined to be PC043, and the CCBoot DHCP server assigned it the IP address 192.168.100.43.