-   Slackware (
-   -   slackware pxe/tftp server to host windows/iso installation (

slugman 12-04-2012 04:47 AM

slackware pxe/tftp server to host windows/iso installation
My goal is to use my slackware server to perform a windows 7 installation via pxe/tftp.

Now, I have decent experience using slackware as a pxe/tftp server. I've pretty much always followed alienbob's guide on the subject with positive success. However, I've only succesfully performed slackware installation iva pxe/tftp. I've attempted to host windows in the past, but was unsuccessful. I'm revisiting the subject, as I now need to reload win7 on a laptop for a friend, where the optical drive is inoperable.

As I mentioned above, I followed alienbobs guide as the main reference (using the simple dhcpd method, without restricting the boot range via mac address).

According to some documentation I found online, using the latest version of syslinux, you can host an iso to perform a pxe installation. I found this mentioned here a) and here b).

However, I seem to be having trouble loading the iso's I'm using. First, I tried hosting the WinPE 2.0 disk. (I did not create this disk via the windows advanced installation kit, rather I downloaded a copy). Next, I tried loading the win7 iso i have (created from my windows7 installation disk), without success. (Note: my win7 iso is a slimmed down version and is 1gb in size. I've used this disk several times succesfully and have several systems using this copy).

The target system is a sony vaio laptop (which has been giving me such a headache). I enabled pxe boot in bios. During startup I select network boot, the system successfully grabs an ip address, it loads the pxelinux.cfg default configuration, loads memdisk, and proceeds to load the iso. After a few minutes, I see the system begin to load memdisk, at which point i'm prompted to press a key to load a cd/dvd.

However, when I press a key to proceed, the screen goes blank.

This is where i'm stuck. There aren't any clues in the server that indicates any odd behavior otherwise (dmesg and /var/log/messages only show eth0 link up at full duplex.

Does anyone have any success hosting iso via pxe/tftp method? Any suggestions or help in this matter is greatly appreciated!


slugman 12-04-2012 06:20 AM

So, after doing some research I stumbled upon the following documentation from the syslinux project for memdisk here.

Essentially, whereas my /tftpboot/pxelinux.cfg/default config only had the following:


LABEL win7
LINUX /memdisk
INITRD /win7.iso

I added the following to the APPEND line


APPEND iso raw
However, using the straight win7 iso, although it loads, it begins the install with a missing cd/dvd driver notification. I'm going to see if I can get around this by using the WinPE install method instead.

Stay tuned.

TobiSGD 12-04-2012 07:55 AM

I have done that already with Windows XP, Vista and 7, but not using the ISO for that.
I followed this documentation for Vista/7 and it worked flawlessly:
Keep in mind that you need a working Windows system for that approach to configure the Windows bootloader.
if you want to do an unattended installation this may also be quite handy:

Tip for the future: With answering your own post you have taken your thread from the zero reply list. It is better to add information using the "Edit" function. Threads on the zero reply list will automatically be bumped twice to get more attention to your thread.

slugman 12-04-2012 05:30 PM

Hey guys, so I finally got it to work, iso and all :)

Basically, I hosted the winpe iso of the pxe server (which now works successfully thanks to the raw option in memdisk). After booting into the winpe environment, I quickly setup a samba share on slack to host another copy I own of Windows 7 ultimate. All I had to do was mount the share under windows, cd to the appropriate os directory and run setup.exe.

Note, this should be come as a no brainer, but please remember you will need a 64 bit winpe disk if you wish to load a 64 bit win OS.

So, this method basically allows you to load windows7 without having a windows system already configured. All you need is a winpe iso and your windows 7 iso, and your good to go.

I would however like to try in the future loading the larger win7iso directly from memdisk to see if that works. However, according to the documentation for syslinux/memdisk, I do not think the drivers included in memdisk are capable of handling a windows iso load. Basically, it is because the newer nt/vista/7/8 oses only use INT13h Bios calls during the initial driver load. Once the protected mode drivers access the disks, windows can't see the memory mapped drives by memdisk. In order to get around this, you have to modify the iso to include the correct drivers. More documentation available at the syslinux/memdisk project.

Also tobi, thanks for the links! I would eventually like to automate this procecss, so no user input is neccessary. That is the only this would be suitable for a automated/production environment. If anyone has any experience on the automated side, please share your thoughts. If there is any way I can use perl to automate this process, I would be glad to try writing a cgi script to accomplish this.

TobiSGD 12-04-2012 06:35 PM

Automated installs of Vista/7 should be done using the WAIK (Windows Automated Installation Kit). It is basically the Windows counterpart for Red Hat's Kickstart or Debian's/Ubuntu's preseeding. That is the way I have done it to deploy preconfigured Windows 7 installs for QA at a smaller OEM, a simple Debian server with Athlon X2 CPU and 4GB of RAM was easily able to install Windows 7 to about 20 machines (connected via Gigabit Ethernet) at the same time.

All times are GMT -5. The time now is 12:23 AM.