Hard drive works in linux but not in BIOS and Windows

Ozfer

Honorable
Apr 10, 2013
31
0
10,530
So recently I got a WD 500GB HDD out of a old direct tv DVR that I had laying around. The model number is WD500AWS. I figured with this extra unused storage I could just plop it into a computer and use it for more space. So then I connected it to a sata usb hard drive bracket and plugged it into windows 7.

Windows 7 saw the adapter was plugged in but the disk would never spin up and I think the adapter thought somthing was wrong with the hard drive. Windows would never let me initialize or format the drive to get it to work.

I even tried connecting it to sata on the motherboard and my BIOS would say "4th master hard disk error" and not show a working drive in the bios. After I booted into gparted on debian and it saw the hard drive no problem when it was connected to sata on the mobo. Gparted let me view and delete the 3 dvr partitions and the hard drive spun up and allowed me to put it in msdos mode and format it to NTFS.

Now when I boot in windows it still doesn't see the NTFS partition or the hard drive. I know this hard drive has to work because it was working in the DVR right before I took it out and it worked under linux like an ordinary drive. Does anyone know what I need to do to get windows to see the drive? Even after I reformatted it I still get "Master Hard Disk Error" and have the press f1 to continue in my bios because it doesn't like it.

I can't use any of the tools in windows to get it to work because the drive will not show up in my computer and in Disk Management it still thinks its offline and not initialized but it fails initializing with "Disk is busy" or something like that.
 
Solution
It appears that your drive has been configured to Power Up In Standby (PUIS). This can either be done via the PM2 (PUIS) jumper or by an ATA command.

To disable PUIS you could use a tool such as HDAT2. If HDAT2 doesn't see your drive, then you may need to temporarily reconfigure your SATA controller in BIOS for legacy or IDE compatibility mode. You also need to start HDAT2 with the "/w" switch to wake up your drive, ie ...

hdat2 /w

If this doesn't work (some WD drives have a firmware bug), then you could use MHDD to execute a PUIS script.

See http://forum.hddguru.com/wd5000aavs-pm2-puis-activated-unable-revert-t19107-20.html

BTW, Linux appears to recognise that the drive is in the PM2 state. The ATA standard specifies two ways to...
The fact that the BIOS see's an error is weird. Not sure why it's says master hard drive either, SATA doesn't really do the master/slave thing. Is there any jumpers on the HD?

Other alternative is, the drive is slightly different in some way to prevent being used in a PC
 
But the thing is the jumpers on it control 3Gbps or 1.5Gbs, 1.5GB PHY, speed spectrum clocking, and PUIS. Nothing to do with master slave or anything else. Plus it throws out master hard drive error no matter what port I plug it into or pc I have tried.

I know the drive works in a pc because under any version of linux I have tried I can format and use it as a data drive and initialize it as ms dos or GUID. Even the times I use it with linux it still throws the error during start up in the BIOS. But I can then feel the drive spinning up in linux and that does not happen in windows.

I can't imagine a drive firmware can lock out some operating systems but allow linux? This is a internal direct tv hdd from inside the box not a external drive. Also if the drive firmware was the issue could I flash normal firmware onto the drive?
 
For some reason this computer sees all hard drives as IDE so all the sata ports are considered Master Hard drives. I tried again with some different jumper settings to no luck. When I studied what my bios does when it starts up is it scans through all the hard drive and detects my first hard drive ide master 1 then the dvd drive and then master 4 my sata drive that doesnt work. After it tests each of them in order and it passes the first HDD and DVD drive giving a little description of what they do. Then it freezes for 30 seconds beeps and gives error about Master Hard drive 4 not working and it wont let me even try to boot from it but it does show up as a HDD in the bios. I have tried changing many of those settings in the bios but then it gives a different error like APCI not supported or something. When I booted a hard drive tool (didn't work) and it kinda did a soft reset and the bios didn't really go through the hdds like the first time it booted up and this time the hard drive showed up working and it would let me boot from it (if something was on it) and it appeared like any other drive. odd

Since this drive works perfectly fine in every version of linux I have tested it with I am reformatting it ext4 and installing Mint onto it.

Also I previously said the model number was WD500AWS and it SURE looks like a W but I could not find anyone with that model online so I think it's supposed to be with 2 Vs instead a w even though the top part is connected... WD500AVVS pulls up a lot more hits of similar drives on google. If anyone knows why I would still be interested so I could use this drive with windows.
 
At this point I called WD and waited and waited and waited and waited for 15 mins for someone who speaks English on the English phone number and no one picked up and it was playing elevator music 😡 and I was upset so then I called the Spanish number and no wait I got right to talking with someone who was surprised when I started talking in English but still helped me out. He said to try the wd format tool and format it in windows and I told him how it couldn't. He told me that when WD sells the drives that companies can make it so it only works on their product and apparently dvr companies do this and dell lol. So if anyone has the normal firmware for this model drive and knows how to flash it I would be happy :). At this point to get it to work with windows I have to boot anything up and then do a soft restart and then the bios doesn't get master hard drive error and it processes the drive like it should and it works like a fine drive. So other then only using linux with it or flashing the default software for this drive there is not much I can do.
 
It appears that your drive has been configured to Power Up In Standby (PUIS). This can either be done via the PM2 (PUIS) jumper or by an ATA command.

To disable PUIS you could use a tool such as HDAT2. If HDAT2 doesn't see your drive, then you may need to temporarily reconfigure your SATA controller in BIOS for legacy or IDE compatibility mode. You also need to start HDAT2 with the "/w" switch to wake up your drive, ie ...

hdat2 /w

If this doesn't work (some WD drives have a firmware bug), then you could use MHDD to execute a PUIS script.

See http://forum.hddguru.com/wd5000aavs-pm2-puis-activated-unable-revert-t19107-20.html

BTW, Linux appears to recognise that the drive is in the PM2 state. The ATA standard specifies two ways to spin up the drive. One is to send it a read or write command, while the other is to send it a special Set Features subcommand. Linux appears to do this whereas Windows appears to be too stupid.
 
Solution


That's exact;y what I said in my last post. I used TiVo as an example. They alter the firmware so it can only be used on specific devices.

 
fzabkar you are a true HERO :) . My god I have never gone through anything like this with hard drives before but I GOT IT WORKING! When I booted hdat2 and used /w it listed PUIS as disabled I think. But I enabled it and disabled it again anyways, then I went through a few other drive options and restarted my computer. Now the BIOS can see the drive and it loads with no errors, windows can see the drive, and it works with everything else. THANK YOU 😀 you save my 500GB hdd. I hope everyone with a problem like this will be able to come and see the solution because I spent hours looking into this and many people have just given up. BTW I love hdat2 I have never heard of it before but it was just the tool I was looking for. So it turns out DIrectTV didn't really alter the firmware to make it so only their box could use it. Well this is a great solution for me. I would have never guessed PUIS could be enabled even when the jumper is not set.