Windows removes its own drive from bios, but appears in Linux

2

1

I'm having a strange problem.

Some background: I have two sata drives in this computer. The first one has a boot partition and two NTFS partitions (one Windows 7, one storage). The second drive has an ext3 partition for Fedora 15, and another NTFS storage partition.

All has worked well for about a year now, until a month ago I go to boot into Windows, it gets to the "Starting Windows" logo when a blue screen flashes for half a second (too fast to read), and it reboots the computer. When the computer booted, it said "Missing Operating System", and the bios listed the first sata slot as being completely empty (the drive with the bootloader). I booted into a live CD, could see the drive and its contents, and when I rebooted the bios saw it again too. After a chkdisk, I could boot into windows without a problem, but only that once. The next time I booted, same blue screen, and same disappearing sata drive. Another chkdisk, memcheck, system recovery, and attempt at "Startup repair" let me boot into it again, but again only once.

Now it's at a point where the sata drive doesn't disappear, but still blue screens and restarts every time. I would normally think it was a faulty hard drive, but I can read and write to the drive with no problem in Linux. It's just when windows starts that it does this.

Does anybody have any ideas of what this could be, and how to go about fixing it?

Thanks

vityav

Posted 2012-08-22T20:33:28.193

Reputation: 49

1My first thought would be that a internal windows issue should not cause the bios to think the slot is empty and certainly not to such an extent that could survive a cold start. When you do get into windows, I would try disabling the automatic restart (Found under Control Panel/System and Security/System/Advanced System Settings/Advanced). This should allow you to see the blue screen which might give you a better idea of the issue. Also if you have any way of testing the whole of the hard disk (sector by sector) I would run that just to make sure it is not a faulty drive. – sgmoore – 2012-08-22T21:03:27.643

Being able to boot the Linux partition is odd, but not impossible! It could be the part Windows is on is damaged, but not the part containing Linux. As sgmoore said, find a good way to test the entirety of the hard drive. If it's not showing up in the BIOS, it's got to be a hardware problem. Have you tried reseating the cables? – Tanner Faulkner – 2012-08-22T21:17:41.597

I have tried making sure the cables are all on properly on the hard drive end, but not on the motherboard end (fairly hard to get to in my laptop). Shouldn't a chkdsk catch any damage on the partition? I'm running badblocks from Linux now. And thanks for the heads up on the automatic restart. I'll try it next time I actually get past the logo. – vityav – 2012-08-22T21:53:47.560

Chkdsk is more designed to find logical file errors (eg fragments of files without a directory entry). Chkdsk /r is supposed to scan and locate bad sectors, but it also tries to move any files in those sectors which may be fine if it works, but you can lose the files it it is unable, so I would prefer a test which can be run without actually changing the data. – sgmoore – 2012-08-23T17:27:47.443

The ability to turn off automatic restart definitely helped. It's also apparently a safe mode boot option now. It seems that the SAM file was corrupted, but only time will tell if that was the entire issue (shouldn't make a drive disappear), or if something else in there is corrupted. – vityav – 2012-08-24T19:07:09.810

No answers