Faulty Raid Card? causing Bad Pool Header BSOD.

bigted73

Commendable
Jun 28, 2016
1
0
1,510
Hi,

I have an old LSI LOGIC MEGARAID SATA 300-8XLP raid card. It had a drive fail but after rebuilding the array, on booting I get a winload.exe error, so I tried to fix this by booting from the Windows server disk and using bootrec command.

Whenever I use the windows disk i get a BSOD saying Bad_Pool_Header. So I used a seperate hardrive with windows on planning to access the array through a different windows but it show in Disk Management as Foreign and as soon I import it it shows the logical drives for a couple of seconds then again comes up BSOD Bad_Pool Header exactly the same as before.

Is it likely to be the RAID card that is faulty?

Many Thank in Advance
 
Solution
More likely to be the driver for the raid card or a different driver corrupting data in memory
When a driver gets a memory resource from the system it has a size associated with it. It is recorded in the beginning of the block(header) The driver uses it and when it is done it frees it back to the system for reuse. If the header is change, the system will bugcheck. For example, the system gives a block of memory at some memory address xxxx of size 1000 bytes then the driver uses it and returned the memory the same block at the same memory address but the size is 2000 bytes. The system knows the header data is wrong and will bugcheck because of the memory corruption. Most likey the driver corrupted the header and some memory...

JaredDM

Honorable
It's very hard to say, but in my experience when RAID cards go they either just stop responding or they show as if there are no drives connected to them. Given that one drive has already failed, I'd say it's more likely that another drive has failed and is causing the controller to stop responding. If a drive has developed bad sectors near the beginning LBA regions it could be hanging as soon as the file system is accessed by the OS and causing the whole thing to go unresponsive.

If the data is really critical, I'd recommend that you have it recovered by a professional data recovery company. If it's not life-or-death critical, you might try booting the whole system into a Linux live build and then image the volume using ddrescue onto another large drive.
 
More likely to be the driver for the raid card or a different driver corrupting data in memory
When a driver gets a memory resource from the system it has a size associated with it. It is recorded in the beginning of the block(header) The driver uses it and when it is done it frees it back to the system for reuse. If the header is change, the system will bugcheck. For example, the system gives a block of memory at some memory address xxxx of size 1000 bytes then the driver uses it and returned the memory the same block at the same memory address but the size is 2000 bytes. The system knows the header data is wrong and will bugcheck because of the memory corruption. Most likey the driver corrupted the header and some memory belonging to some other process. Problem is at this point you just do not know who corrupted the data and what other data was corrupted. The system has to be shutdown with a bugcheck

First attempt at a fix would be to update the drivers for the device but often
With corruption problems you have to use verifier.exe to catch the corruption when it occurs rather than when the system detects the corruption





 
Solution