HP ProLiant MicroServer, Windows 7 or Vista installation issues

Stating at what HP says installing Windows Vista or Windows 7 on an HP ProLiant MicroServer (in my case the old N36L model) is not supported. This doesn’t mean it isn’t doable.

All you need are the correct drivers to start the setup properly, I had an old license of Windows Vista (32 bit...ouch!) I wasn’t using anymore, so I’ve decided to install it over this piece of hardware to do some testing at my home.

First problem I faced was the missing of a driver for the RAID controller (yes I set it up to use RAID 1 through the BIOS settings); once I figured out it has an AMD SATA/RAID Controller on board I started looking around for some drivers, the following package worked for me:

AMD SATA/RAID AHCI Controller Driver (VERSION: 3.2.1548.37 REV: G)

Just unzip it to a folder on your USB flash drive and extract the content of the ‘exe’ file (do not run or install it), you can do it using lots of free utilities out there (WinRar, just to name one).

During the setup you will need to chose on which driver install Windows, if you don’t see any drive available (as it was in my case, having built a RAID array and a logical disk), you will need to fed the setup with the correct raid controller drivers. The drivers are located in the following path inside the previously extracted directory: \sp48266\RAID7xx. There will be x86 or x64 versions of the driver, chose the one that match your OR.

At this point the setup will go on and everything will be installed correctly.

Next step is to use ‘Windows Update’ to finish off the installation (protect the system, keep everything updated, install eventually missing drivers and so on...), but wait...we have no valid driver for the Network Card...sob Open-mouthed smile; once again let’s look for some information and drivers.

The actual network card happens to be identified like: ‘HP NC107i PCIe Gigabit Server Adapter’ and it’s made by Broadcom, looking around a bit I was able to find  a list of standard drivers from the Broadcom website:

NetXtreme I Server

Pick the ones that correspond to your OS and:

  • Extract the content in a folder or USB drive.
  • Open up the Control Panel and go to the device management, highlight the missing network card, right click on it and choose update drivers.
  • Navigate to the directory where you previously extracted the drivers and install them.
  • Reboot the system (this is required for the drivers to be able to work).

Forcing these drivers in my case it made the things work; now I’m able to browse my network and install updates.

Some information about the hardware you can find inside a ProLiant MicroServer were taken out from the HP product sheet and the ‘support and drivers’ pages at the following url:

http://h20000.www2.hp.com/bizsupport/TechSupport/ProductList.jsp?lang=en&cc=us&taskId=135&prodTypeId=15351&prodSeriesId=4248009

Maybe this post can help someone that is having my same issues.

Related Content


Creating a ‘Windows Installation’ bootable USB drive

Recently I was in need to setup some new hardware and I’ve found myself doing this procedure over and over (because I am a cheap b*****d and I only own few USB pen drives Open-mouthed smile) again. So even if there are plenty of posts out there offering more or less the same content, I’ll write it down here as a reminder to myself.

Consider you can use this very same procedure to create a bootable USB flash drive to install any Microsoft Windows OS (from Vista to 2008 Server R2).

Prepare and Format the drive

You can do these first steps in several way, I prefer to use the diskpart command line utility; BE CAREFUL HERE! If you do something wrong you may easily wipeout you disks! 

  1. Open a command prompt as administrator (Right click on Start > All Programs > Accessories > Command Prompt and select “Run as administrator”)
  2. type the following commands into the Command Prompt Window:

      diskpart

      list disk

    This will bring up a list of all your physical drives installed; look for your USB drive and take note of the number; if you have multiple USB drives attached I suggest you to disconnect them all but the one you want to use: the only way to identify the drive is looking at the drive’s size in this step, having multiple USB drives with the same capacity is not good!
  3. Format the drive by typing the following commands into the same window. Replace “X” with the number of your disk.

    select disk X

    clean

    create partition primary

    select partition 1

    active

    format fs=NTFS

    assign

    exit

    At this stage we have a clean formatted USB with an active partition ready to be made bootable. Some guides will tell you to format the pen drive using FAT32, I always prefer to use NTFS especially to create bootable winpe drives to use the imagex.exe utility to clone systems, in this scenario we can easily break through the FAT32 file size limit.

Make the drive bootable

To make the drive bootable we will use the bootsect utility that comes along with any Microsoft Windows OS:

  1. Insert your OS DVD.
  2. Change directory to X:\boot (where X is your dvd drive).
  3. Type the following instruction to make the drive bootable (now ‘X’ is your pen drive).

    bootsect /nt60 X:
  4. Close the Command Prompt Window.

 

The last step is copy all your installation files from the DVD (or ISO) to your newly created bootable USB flash drive.

If you do not want to do everything by hand, there’s a tool from Microsoft you can use to do the very same work: Windows 7 USB/DVD download tool.

Build: Windows 8

I bet almost all the developers followed the ‘build’ keynote Yesterday, we had some big news (nothing too much scary, thankfully) and we saw Windows running on a bunch of new devices (I honestly can’t wait to put my hands on them) that will hit the market sooner or later in the future.

On the Dev side, I’m very excited for what we saw: new potentials, some big improvements and a potentially rewritten and optimized infrastructure over which your apps will run on. I loved the metro style UI on WP7 and this ‘bigger brother’ seems very good to me. And yes the ‘pro’ will have their usual desktop view too (with productivity improvements on that side too).

On the consumer and business side, timing here is quite important: when this new beast will be released to the market ? will it be too late to compete against its ‘enemies’ ? when the new devices will be available ? and another one... pricing ? will it get a good welcome from the customers? we can go on and on and on...

Windows 8 should focus its target on the new devices and new installations, because hoping that a big part of the pre-existing windows installed machine will be updated to windows 8 in the close future is just...well...chose your word here!.

Here in Italy before updating any windows version to the new one the usual policy is to ‘wait for the SP1’, people is just scared of changes (and of course the ‘money factor’ plays its main role too, which will stops many businesses to early adopt it).

While we wait and think about all of this, we (devs) can happily put our hands on a Developer Preview of Windows 8, head up to MSDN for more info or just follow these links:

Windows Developer Preview: http://msdn.microsoft.com/en-us/windows/apps/br229516

Build Keynote & sessions info: http://www.microsoft.com/presspass/events/build/

Build sessions will be available through Channel 9: http://channel9.msdn.com/Events/BUILD/BUILD2011?sort=sequential&direction=desc&term

Time to have some fun (again)!

Related Content


NHibernate.Envers - Customize the Revision Entity

Sometimes the basic information provided by the default revision entity we have in NHibernate.Envers are not enough, when we need to extend those information and provide additional data we have the option to use a customized version of the Revision Entity class.

The default revision entity is defined like this:

[Serializable]
public class DefaultRevisionEntity
{
	[RevisionNumber]
	public virtual int Id { get; set; }

Sql Server - Scramble / Mask database production data

Sometimes you might need to test your product using some ‘production’ data to better simulate what users do with your software.

There are situations in which having only your test database, with your own (well formed) test data is not enough: just think of a continuously growing database with frequent schema changes...you might likely have inconsistencies between the data as you upgrade it or unpredicted behaviors.

If you want use a copy or a snapshot of a production database for test purposes, you should at least try to hide the sensitive data away (in a way that is really hard or impossible for your development team or anyone else that have access to the database to reconstruct them).

As you can imagine the task here can be extremely difficult to accomplish and there might be some tools out there that can help you doing this job.

If you do not want to invest in them a quick and dirty solution (it took me more or less 15 minutes to put it all together, and I’m not a SQL expert) can be writing some SQL scripts to modify what you consider to be your most sensitive data, leaving everything else intact. It doesn’t guarantee that all the sensitive data are hidden/changed because it relies on the code you write.

The typical scenario is to modify the names and telephone numbers of some personal data records, but you can apply this technique to anything you want.

Fist we need some functions to create test data, here you can use anything you want but I prefer something that generates data based on a prefix I can pass in; you can easily create functions that generate completely random data, but it will be hard to talk to your team and say something like: “ehi...check the person named ‘XWggTRDnnns’!”, a simple string concatenation does the job here.

--concatenates a generic string and an incremental number
CREATE FUNCTION fn_GenerateText(@prefix varchar(255), @incr int)
RETURNS varchar(255)
AS
BEGIN
return @prefix + CONVERT(varchar(100),@incr)
END
GO

Fetching collections with NHibernate, a mistake a I always do!

I did it again! That’s why I’m writing this blog post...I do it almost every time and the main reason is: trying to optimize NHibernate queries without thinking.

As the title of the posts says the problem here is related to fetching the data of different collections attached to a single entity. To show you up the problem let’s first see the test domain, it is very simple:

public class Post : Entity<int>
{
	protected Post()
	{
	}