I’m having a problem with my computer reading the wrong hard drive size. I have an 80GB HD but my WinXP Pro is telling me I have a 120GB HD. The only thing I can think of that may have caused this is the fact that I had to fix my MBR after a bad Linux install in an unused portion of my hard drive. Before the Linux install I had 40GB as my main windows partition, 20GB as backup space and another 20GB in unallocated space. This last 20 is where Linux went.
The Linux install was a bust and I wasn’t able to remove the Lilo boot program. Instead I had to use my WinXP disc and go to the Recovery Console. I first typed fixmbr and then fixboot C:. After that I was able to boot directly into Windows but now have that extra 40GB. My hard drive now reads: 40GB WinXP with 40GB extended partition, 20GB as my backup space (A Primary Partition) and 20GB unallocated. Anyone have any idea how to fix this? I ran scan disk and defraged both of my drives but that hasn’t fixed anything. Thanks in advance.
It’s almost certainly not linux that caused this. Lilo is simply a tiny bit of code that loads into the beginning of your drive (MBR-Master Boot Record) that then loads a little more code (presumably from your linux partition where lilo exists), that allows you to choose which OS to load. XP has similar code, although without the boot options (unless you’re using NT/2000). The code is pretty basic (in both cases), it doesn’t do much more than act as a pointer to other code.
The real problem is that Windows doesn’t recognize anything other than windows (partitions, bootloaders, etc.). When it hits the end of the XP partition, it gets confused. Windows also has a problem removing, resizing, editing, etc., partitions, even of MS design.
There are a few routes you can take. One, use the LILO rescue disk that you made when you installed lilo (if you did make one). Two, try hand deleting the linux partition with MS’s Fdisk (not recommended for the faint of heart). Three, buy a partition manager (not a bad idea if you’re interested in alternate OS’s).
The last option is one I recommend, mostly because I’m a linux fan. Head over to a site like: http://www.linuxquestions.org/
The people over there are friendly (not all, of course), and they should be able to step you through any problem you have. One thing to keep in mind is that many problems people have with linux are simple problems that are easy to fix. Unfortunately, knowing how can be a little confusing at times. Still, if you still have an interest in using linux, that’s a site I heartily recommend. Don’t let a bad install turn you away from a very powerful flexible OS.
Another possibility: your partition table might be damaged/overwritten. This happened to me once after a on-disk-BIOS-installing mishap. “Basic” disks’ size, file system type, etc. are stored in a structure called the partition table. Here’s the way it’s laid out:
There are 4 partition table entries in the MBR, each of which can either point to a primary or extended partition (at most one extended partition is allowed). Extended partitions are partitions that are subdivided into “logical drives”. Each logical drive contains its own extended partition table, boot sector, etc.
The upshot: primary partitions and logical drives are the “volumes” that are assigned drive letters by Windows. They are listed and their sizes are reported from the partition tables. If one of these tables has been corrupted, silly results like missing or extra space can be reported.
What happened in my case is that when I installed a BIOS to disk, it overwrote the partition table in the MBR and I ended up with random values in there. What you are experiencing may be something similar - though depending on the precise setup of your disk, a different partition table may have been affected.
So, how do you tell if this is really the problem?
There’s a tool called DiskProbe which is probably included on your Windows XP CD (I run Windows 2000 here and it’s included), under Support\Tools or something similar. Using this tool, you can examine the raw data on any sector of your hard drive, and view/edit partition table data in a more human-readable format. What you would do is examine your MBR and the EBRs of any logical drives, and look for data that’s obviously random or incorrect.
DO NOT attempt any repairs with DiskProbe if you’re not sure what you’re doing; a mistake could cause the system to become unbootable or worse.
That said, if I haven’t already put you off of this line of inquiry, let me know if you’d like some more specific details on how to proceed.
I realize that Linux did not cause the problem I’m having now. I caused it myself by fixing trying to get of the bad install of Linux and Lilo. I was looking for a quick fix and didn’t really understand what I was doing. I think Garnet’s post may have more to do with my problem. I’ll try the fdisk route and Diskprobe this weekend. Worse comes to worse I’ll just reinstall. Thansk for all the suggestions.
Yes, the BIOS is reading the correct disk size. The only thing I did to the PC was fix the MBR by running fixmbr and fixboot c: from the WinXP Recovery Console.
OK, that’s good… having NTFS may help in the event that you have to rewrite the partition table. NTFS puts a copy of the volume’s MBR at the end of each volume, and knowing that might help you manually search for the end of a volume. Let’s hope it doesn’t come to that, though.