Serva: Network-Based Windows Installation Made Easy

serva

One of the age-old dilemmas that computer technicians have been trying to solve boils down to a simple matter of streamlining Windows reinstallation on the client systems. There was a time when using floppy disks to get Windows 3.1 or 95 installed was considered a chore. The CD brought us a sigh of relief, and the DVD soon followed and allowed fast installations of Windows on a single large capacity disk.

Even now, as thumb drive installation of Windows 7 has become commonplace, and digital delivery for MAC OS X is becoming ever more popular, there is still an often forgotten installation method for Windows that throws out the entire necessity for an internet connection or physical media. It’s a theory called PXE network installation and it has been around since the days of Windows 2000.

Why do so few technicians know of (or better yet – utilize) this great technology? There may be mutual disagreement, but I’d put my money on the fact that the complexity has always been the number one factor reducing widespread usage. Microsoft’s intentions with the functionality were always well-spirited, but the hoops one would have to go through to setup a RIS or WDS remote installation environment were just too steep.

The concept, at face value, is amazing. Place a wide array of client operating systems like Windows 7 and Windows 8 onto a centralized server and push installation over a network backbone. No media needed, no special software, just clients with network cards capable of PXE boot and a single system hosting the installation “bits.”

Microsoft’s implementation of RIS (for 2000 and XP-era systems) and WDS (for Vista and above) is generally only palpable for a sizable modern IT department. The majority of Technibblers reading this are likely one or two-man shops that serve residential and small business customers. Putting the money, time, and expertise into a RIS/WDS setup even at their own office is asking a bit much. Thankfully, a new piece of software called Serva has brought the power of network-based Windows installation down to a very basic (and cheap) level.

What exactly is Serva?

While the focus of this article is on Serva’s ability to act as a PXE Windows installation server, it’s a truly multi-faceted program that may fill other voids for you as well. At its core, Serva is actually billed as an “all-in-one portable multi-server” that can near instantly setup any standard Windows system into a full-blown FTP, HTTP, and other kind of servers. The possibilities of what you can do with Serva are quite limitless, so I truly recommend you give it a full look, even if you don’t have any plans to host PXE Windows installations.

How practical is Serva as a PXE Windows installation server?

If you’ve been turned off in the past by the steep requirements of Microsoft’s RIS or WDS platforms (Active Directory tie-in, Windows Server requirements, etc) then Serva will likely fall right your alley. For most technicians, there is relatively no investment needed to get Serva running properly (besides time and patience, of course.) If you have a spare workstation or bench system that runs Windows already, you have a Serva host capable of being converted into a PXE server.

The only limitation I can foresee is the network speed at which all respective NICs operate at in the equation. If you are on a 10/100 network, you may not see the time savings of using a Serva PXE host for installing Windows because your client transfers may be much slower than CD/DVD installs. Another consideration to make is what percentage of systems you work on actually have a PXE-capable network card. There is no hard number for this, but my findings have been that most 2005 and newer computers tend to have PXE (except for the lowest bargain bin systems). If your shop doesn’t repair many systems  of at least this caliber, you may be better off sticking with the traditional methods of installing Windows.

What are the requirements for a Serva PXE network?

While the official Windows PXE guide from the Serva website covers most of this, I will add in some of my own two cents based on testing I’ve done. The requirements for setting up a Serva PXE backbone are pretty simple:

  • A “host” system that can run Serva. While I couldn’t find any official OS list, I’m going to make an educated guess that Serva can run on most flavors of Windows from 2000 up. It’s a very light program that doesn’t use many resources. I called this a “host” system because it doesn’t need a power hungry server that comes to mind whenever that (dirty) word comes up. A normal Windows workstation is just fine and recommended!
  • A sufficient LAN, preferably running at gigabit speeds. Sure you use Serva on any speed network, but to make this project worthwhile, having a gigabit switch on the backend is your best bet. Spending the time setting this up to save time down the road is our purpose here, and a 10/100 network will be slower than just installing Windows off a DVD or thumb drive.
  • The software Serva itself. Serva is freeware from everything I can muster from its website, but donations are highly suggested. As they say: if it makes your life easier, pitch a few bucks to the developer. It wouldn’t hurt. You can download the latest version (now v2.0) on the official site.
  • ISO sources and/or DVD installation media for EACH flavor of Windows you want to “serve” on your PXE setup. For most technicians this won’t be hard, but some newcomers may find trouble in this. Basically, if you want to host Windows 7 Pro x64 or Windows 8 Pro x64 on your Serva machine, you need to have legal, valid source ISO/media for the raw install files. I’ve compiled my source images over years of working on client systems and having access to legit OEM media, and I won’t discuss other means for obtaining these. My advice? Keep it legal, folks.
  • PXE-capable client systems. As I mentioned above, PXE capable network cards are present on most PCs since about 2005, outside of bargin bin machines. If you’re curious whether a prospective machine has PXE capability, the easiest and fastest way to check is in the BIOS of the system. There will either be an option in the boot order for an item such as “Network Boot ROM” or “Network Boot” and some manufacturers have a specific option that can be turned on/off along the lines of “PXE Capability” or “Network Booting.” Every make/model is different so you will need to do a little mouse chasing on this one. (If you’re curious, about 80% of the systems that come in for repairs at FireLogic have PXE. My findings are un-scientific and just an observation!)
  • Some “basic knowledge” on networking, DHCP, and working with Windows installation. This may be the most ambiguous requirements of all, but I don’t know any better way to phrase it. You need to judge for yourself whether you have the expertise and willpower to get this running. While Serva is 10x less complicated than getting WDS going, it still presented a few hoops for me as a seasoned technician. Tread at your own discretion (but please, don’t be fearful – learning new things is always fun!)

What steps does setting up Serva entail?

Note: The below information is a summarized copy of the official installation guide available on the Serva website. Refer to the true guide for a complete step-by-step; I am paraphrasing the process for sake of discussion only.

Setting up Serva is a pretty straightforward process that entails only a few major aspects. Below is an overview of the physical layout of your potential Serva-powered network:

Overview of a Physical Serva Setup


As long as you have the requirements met that I listed above, you should be able to get your own PXE-powered Windows installation backbone running. In brief, here is what it takes:

  1. Plan your network layout. This may seem logical, but many younger techs may overlook this. What kind of switch will you be plugging the Serva host into – 100 speed or full gigabit? Will clients be moving traffic across slower switches than the uplink that Serva is hosted on? These are all considerations that may slow down an ideal setup. Streamline your network as much as possible, and try to have gigabit at each “point” in the layout. The faster the racetrack is, the more beneficial your results will be.
  2. Install Serva on your host machine. The official guide goes over this in full detail, so this step is pretty straightforward.
  3. Configure Serva to act as a TFTP server. This is the platform that will, in essence, actually allow for files to be streamed to clients over the network. This functionality is brilliantly (and simply) handled by TFTP (Trivial File Transfer Protocol.) Refer to the official guide for the full layout of proper settings.
  4. Configure DHCP options within Serva. This may be over some technicians’ heads, so I’ll be brief and let the guide do the explaining. But depending on who is handing out IP addresses on your shop or home network, you will need to configure Serva to either handle this aspect or merely set it as a DHCP proxy. The Serva website has a wonderful in-depth guide on some of the finer aspects of DHCP considerations.
  5. Create a proper folder structure for storing “Windows assets” within, and share them out. This part of the process also involves a few detailed aspects, which the guide covers. There are two aspects to getting this part working. One involved creating the folder structure that will host your Windows installation assets (ISO or DVD files) in an organized manner. Keep in mind that each flavor of Windows has to be named according to what the ISO title was set to according to Microsoft. This can be tricky especially if you’ve slipstreamed your own custom ISOs by software like nLite in the past. The final step is sharing out the uppermost Serva asset folders properly. The guide has the full scoop on these specifics.
  6. Quit Serva and restart the program – seriously! This is an important step, as the Serva author describes, because of how Serva re-compiles the available Windows installations for sharing through BINL (Boot Information Negotiation Layer).
  7. Start up your client system, ensuring Network Boot is above Hard Drive Boot in the boot process.If PXE and DHCP behave as they should, you will get a nice boot screen similar to the following (depending on what flavors of Windows you have shared in Serva):Serva client menu for Windows installation

  8. If all went well, Windows should install as normal. Wishful thinking, I know, but if you follow the guide well, you should be OK. My problem when testing came down to improperly naming my Windows share sub-directories. I did not use the appropriate ISO title for the folder and Windows crashed during installation very early on. Other than that, Serva setup was pretty smooth.

 

Serva’s value depends on how much Windows reinstallation you do

In the end, Serva is a great tool. It allows you to simplify your installation procedure and accommodate for client systems that may not have optical drives, but happen to have nice Ethernet connections. I’m hoping PC makers do not follow Apple’s path in removing the ever-useful Ethernet jack on laptops and desktops, but aside from that, the needs for harnessing the power of Serva are fairly easy to attain. But bigger considerations need to be made before diving into a full blown Serva setup.

For my company, Serva is not as necessary today as it may have been perhaps in the mid 2000 years when XP was still hot and reinstallations due to malware were high. Today, the number of systems that we are reinstalling from scratch has gone down dramatically starting with Vista, and this will continue to decline as Windows 8 hits. However, our situation doesn’t describe everyone’s needs. If you handle a lot of Windows XP machines that need to be reinstalled in an efficient manner, then getting a PXE-powered Serva network running is a great idea. Or if you handle a lot of fresh reloads in general – Windows 7 included.

Serva makes life that much easier for a few key reasons:

  • You don’t need multiple installation thumb drives or DVDs. Serva can push multiple simultaneous Windows installations to different systems at the same time at full gigabit speed (your host systems’s RAM, CPU, and Hard Drive capabilities will limit you respectively.)
  • You can quickly install Windows on systems that don’t have optical drives (or working USB ports, for that matter) as long as you have ethernet – which is near universal.
  • You can easily slipstream drivers into your Windows flavors on the fly to make life easier post-installation. We used to do this with nLite and vLite, but this is as good as it gets since you can change driver loads instantly.
  • Do you work for an IT department at a larger organization? Serva may be the most useful for someone in such a position.

I highly encourage you to give Serva a run for the money to see what you think. Even though I don’t plan on implementing a PXE-based Serva network server full time, it was a great experience that gives me excellent insight as to what possibilities there with technologies like RIS, WDS, and PXE booting.

Have you used Serva? What do you think of it? Give us your feedback in the comments section!



Derrick Wlodarz

About the Author

Derrick Wlodarz
More articles by me...
Derrick Wlodarz is an IT Specialist that owns Park Ridge, IL (USA) based technology consulting & service company FireLogic, with over 8+ years of IT experience in the private and public sectors. He holds numerous technical credentials from Microsoft, Google, and CompTIA and specializes in consulting customers on growing hot technologies such as Office 365, Google Apps, cloud hosted VoIP, among others. Derrick is an active member of CompTIA's Subject Matter Expert Technical Advisory Council that shapes the future of CompTIA exams across the world. You can reach him directly at derrick@wlodarz.net.

Comments (18)

  • Tyler says:

    Can you create a backup image of a PC using Serva?

  • Leon says:

    Derrick you’re awesome, thanks for the tip.
    Finally a PXE solution for human beings
    I’ve network installed Windows 8 on my notebook at
    first try, way faster than using thumb drives, and
    w/o even touching my DHCP server !

    I’ll keep Serva’s copy on a very safe place just
    in case Microsoft decides to buy this project out !

  • Serva is definitely a handy tool, especially if you are looking for speed. Thanks for the comments everyone.

  • Jeff says:

    Can I put this on a laptop and go to schools from city to city, all within our domain and deploy that way?

  • George says:

    Very interesting product. Has anyone looked at FOG (http://fogproject.org)? An open source alternative to RIS and WDS on a Linux platform but also more full featured. The guys at the Tightwad Tech podcast love that product. It might be too much for a small shop but something worth looking at for say a larger client. I’ve been interested in doing something like this for a while but complexity has turned me away. Serva might make it easy enough for me to re-look at this. I’m really interested in seeing what others are doing and if anyone is using either Serva or FOG.

    Thanks Derrick for this great article.

  • Leon says:

    I’ve tried FOG but it installs HDD images; it does not handle install CD/DVDs as Serva does plus it is way heavier than Serva’s 1.5MB single exe !

    Jeff, you can put this on your lappy; wherever you go connect the thing to the segment where the clients are, forget about DHCP using proxyDHCP and boot the clients.

  • FOG is meant for full drive imaging, not for DVD/CD bare drive installation like Leon mentioned. FOG is great for school districts or other large “enterprise” setups where all images have to be similar or pre-setup.

    Serva is much better suited for hosting multiple different flavors of a given OS for quick install needs. And yes, with how small of a footprint it has, you can definitely use it on a laptop. I ran it off my Thinkpad T410 without issues!

  • Tim says:

    I have been working with Serva for several weeks now. My personal success/failure rate with getting a consistent Serva PXE load is about 50/50. It certainly presents an affordable, simple approach to Microsoft’s WDS, as well as a Linux-based PXE solution (for the non-linux crowd), but there are some “gotchas” that I personally ran into.

    In my first attempt I was successful in getting the WDS installs to work (Win7/8RTM/Server8. I had no luck getting the RIS installs to load (XP/2003). One primary issue was NIC drivers. Although the Serva boot manager was able to “see” my client and appeared to successfully negotiate a connection the network connection was never established and my target client would BSOD or simply stall at the Windows installation splash screen.

    I tore down the whole folder/sub-folder structure (several times in fact), removed the shares, and started from scratch with a clean Serva build.

    I finally discovered a set of NIC drivers that were suitable for my target machine and was able to successfully get and XP and 2003 (RIS) build on my test machines. Unfortunately, now the WDS builds were not working. I combed over the OEM NIC drivers, the share settings, Windows priv’s and ACL’s looking for something that was amiss, but couldn’t seem to nail down where the problem was (still is actually). I’m not attempting to interface with any sort of “exotic” network adapter – it’s a Dell/Broadcom 57x Gb chip in a Dell GX740. I also have a GX780 which I’ve been able to get the drivers for (Dell/Intel 82567 chip), but none of the GX740 drivers have worked.

    I’ve been working with the developer, Patrick, to try and isolate the problem. Patrick is very helpful with providing suggestions through all the troubleshooting. Nothing at all bad to say in that regard.

    I am still trying to work through why my WDS share folder/file structure isn’t accepting my logon credentials at the point where I get prompted to provide them to Serva so it can pull the installation down to my target machine.

    Beyond these nagging share/permission issues, the biggest downside I’ve found with Serva is the constant search/extract/test (pass/fail) mode I’ve found myself in trying to locate NIC drivers for every unique network adapter I’ve thrown at Serva. There aren’t any drivers “bundled” with it so you’ll spend time pulling them down from OEM sites and testing them to ensure they work. That will be an ongoing task for every new machine you throw at Serva unless the target is using a NIC you’ve previously used and have already compiled the drivers.

    The second issue is that all you get is a baseline Windows installation. There are no provisions for slipstreaming updates/patches, apps, drivers, or anything else that will expedite the actual deployment of the machine. You get a baseline build of your OS, then still have to jump through all the hoops of getting Windows updates installed, installing apps, etc.

    I’ve entertained the idea of trying to use something like a Sysprep or WPI (Windows Post Install) build to see if Serva will have a problem with that, but I have to get a solid PXE infrastructure in place first.

    For the basic function of getting a Windows OS installed on a machine, Serva will do that, provided you have the correct NIC drivers for every single machine you may ever encounter. For a small shop it’s certainly cost-effective and can increase productivity by being able to do multiple, simultaneous installations of whatever OS you have configured in Serva. For the onesy-twosy OS installation….I don’t see a huge benefit.

    Jeff’s suggestion of putting Serva on a laptop for mobile, multiple OS installs on client sites is a really interesting implementation that would be very valuable if that fits into your particular business use – again, allowing for the disparate network adapters you’re [likely] to run into, and being able to find a working set of drivers that Serva will use.

    All in all, not a bad product, just rather finicky (in my case).

    • Larry says:

      Hello Tim,
      I’m trying to set up Serva also and having similar problems. Would you email me at lrhunt1@asu.edu? I’d like to talk to you about getting the NIC’s to work. Thanks.
      -Larry

  • Andy says:

    @Tim

    Serva mimics RIS and WDS and of course all of them need net drivers,

    but Serva makes driver handling really simple, my only problem on RIS OSs

    was setting correctly the Null Session share. On WDS it’s even simpler; I just get

    the boot.wim that comes with the latest W8 and use it for all the WDS installs,

    that trick speeds up a lot TFTP transfers on Vista and it has the best WDS net

    driver base.

    About updates for Vista and up just build a custom install including all of

    them and let Serva do its job as normal. It works for me. I like Serva.

    • Tim says:

      Hey Andy,

      Thanks for the feedback. I’m not sure I understand what you mean when you say “Serva makes driver handling really simple….” In a not-atypical scenario where you’re running into a new OEM network adapter every time you handle a client you’ll have to collect the drivers and get them into the OEM driver path for Serva before it will talk to your target machine – at least that’s been my experience thus far. I’m not trying to knock Serva, it has it’s place and Patrick has done a nice job putting it together. I’m glad you mentioned the updated Vista thing. I was wondering if I threw a “customized” OS installation at Server whether it would be ok with that. Once I get some of these other connectivity gremlins knocked out I’ll have to give that a whirl. I only have a handful of Vista users, but I would hope that Win7 and 8 would behave in the same fashion.

      • Andy says:

        @Tim

        With OEM RIS drivers I pile them up into the OEM dir as Serva recommends;

        not really a big deal. With Vista and up I use Serva’s injection method only

        with occasionally needed OEM drivers, if the driver is a recurrent one then

        I add it to boot.wim using dism.exe. I don’t know; I see it easy.

        I’m using WDS customized installs and they load w/o a hitch.

    • Tim says:

      @Andy,
      What process do you use to create your “new” PXE image after you’ve made your modifications to it like app installations, etc?

  • FoolishTech says:

    I’m not sure what all the ‘complexity’ of WDS is — even integrating the power of Syslinux with it…… been doing it for years. what is so complicated?!?

  • Pierre says:

    WDS is really heavy, Serva automatize the thing in a very small exe

  • theTechnician says:

    I think to get the most out this you need an SSD that will push files as quickly as possible to other computer.Do the math and calculations to determine whether or not you need an SSD because most of the time an Hard Disk will be just fine and enough.

  • Matt D. says:

    Just got to reading this article…another great one Derrick! Now all I need to do is find a way to get SpinRite to boot over the network. I have not done any research on this, but it would sure beat booting it locally for each system.