Jump to content

HDD problems


Guest emarsh
 Share

Recommended Posts

xposted at linuxquestions.org

 

I have a HDD problem that is driving me crazy. I recently installed Mandrake 10.0, after having used 9.2. After the install, I cannot find some HD partitions that showed up ok in 9.2. I installed 10.0 in "existing partitions" and I did not choose to upgrade, but clean install.

 

Here's the deal. I have two HDDs, a 40GB and a 120 GB. The 40 GB is split into two partitions, both NTFS. The first, which Windows calls "C:" is where I have Windows XP. The second, which Win calls "E:" is where I keep windows program files and other data. The 120GB has Linux on one partition, and the other, larger partition is FAT32 (Win calls it "D:"), and has primarily media files that I wish to share between Win and Mandrake.

 

The C: drive mounts under /mnt/windows and I can read it no problem. The others I cannot figure out how to mount. I have looked at other posts here and I can't figure it out. When I go to diskdrake, I see in hda the /mnt/windows parition (hda1), one called "hda5" that has a "/" in it, hda6 is a linux swap partition, and hda7, which I have mounted at /mnt/partition2/ and which contains a dir called "erik" (my username) with a few files in it. under the hdb tab there is a 7.2 GB part called hdb1 that is gray and says "/mr" and is mounted at /mnt/hdb1 and which appears to be empty. The rest of the drive appears white and empty.

 

I know there's probably a better way to explain all this, but I can see all the data from windows, but I can't see it in Linux. What should I do?

 

[moved from Hardware by Darkelve]

Link to comment
Share on other sites

Post your /etc/fstab file. That controls the mounting of partitions at boot. Also, open a console, su to root and post the output of:

 

# fdisk -l

 

That will list all the partitions on your system that linux recognizes, whether mounted or not.

 

Also, state whether any of these drives are sata drives.

Link to comment
Share on other sites

Here is my /etc/fstab:

 

/dev/hda5 / ext3 defaults 1 1
none /dev/pts devpts mode=0620 0 0
/dev/hdc /mnt/cdrom auto umask=0,user,iocharset=iso8859-1,codepage=850,noauto,ro,exec 0 0
/dev/hdd /mnt/cdrom2 auto umask=0,user,iocharset=iso8859-1,codepage=850,noauto,ro,exec 0 0
none /mnt/floppy supermount dev=/dev/fd0,fs=ext2:vfat,--,umask=0,iocharset=iso8859-1,sync,codepage=850 0 0
none /mnt/hd supermount dev=/dev/hdb1,fs=ext2:vfat,--,umask=0,iocharset=iso8859-1,kudzu,codepage=850 0 0
/dev/hda7 /mnt/partition2 ext3 defaults 1 2
/dev/hda1 /mnt/windows ntfs umask=0,nls=iso8859-1,ro 0 0
none /proc proc defaults 0 0
/dev/hda6 swap swap defaults 0 0

 

and here is the result of fdisk -l as root:

 

Disk /dev/hda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        2432    19535008+   7  HPFS/NTFS
/dev/hda2            2433        4865    19543072+   f  W95 Ext'd (LBA)
/dev/hda5            2433        3196     6136798+  83  Linux
/dev/hda6            3197        3259      506016   82  Linux swap
/dev/hda7            3260        4865    12900163+  83  Linux

Disk /dev/hdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start         End      Blocks   Id  System
/dev/hdb1   *           1        1023     8217243   55  EZ-Drive

 

These drives are both IDE, on the same chain. hda is primary and hdb is secondary. thanks.

Link to comment
Share on other sites

For some reason, your system thinks it is a removable HD. I can tell that because of the word 'kudzu' in the entry and the fact that supermount is controlling it:

 

none /mnt/hd supermount dev=/dev/hdb1,fs=ext2:vfat,--,umask=0,iocharset=iso8859-1,kudzu,codepage=850 0 0

 

fdisk looks like it also sees it as a removable drive (EZDrive) and it says it is 160GB, not 120 like you said.

 

/dev/hdb is the 120 GB HD with Linux on one partition and a large vfat partition for sharing files? Can you layout exactly the size and type those partitions are supposed to be?

Link to comment
Share on other sites

This is really weird. Fstab is set up as if your hdb drive were a removeable drive or a drive that accepts removeable media!!! Is there any reason why it should be? Fdisk -l indicates that you are using a drive overlay program on hdb(ez-drive) which I assume is done because your bios will not accept drives as large as hdb. That's probably what's causing the misidentification.

 

Here's the current fstab line for hdb1:

 

none /mnt/hd supermount dev=/dev/hdb1,fs=ext2:vfat,--,umask=0,iocharset=iso8859-1,kudzu,codepage=850 0 0

 

If this is a standard ide drive with a FAT32 partition, here is what your fstab entry should look like:

 

/dev/hdb1 /mnt/hdb1 vfat umask=0,iocharset=iso8859-1,codepage=850 0 0

 

Try editing fstab per the above by deleting the present hdb1 line and inserting my line above in it's place. Then reboot and see if you can access the drive. Make sure you have a /mnt/hdb1 directory in /mnt since that is the designated mount point; if it's not there create it. You need to be root to edit fstab or make a directory in /mnt. Do so by opening a console and running:

 

$ su

<enter root password>

# mkdir /mnt/hdb1

# kwrite /etc/fstab

 

The mkdir command will create /mnt/hdb1 if it's not already there; skip it if it's not necessary. The kwrite command will open /etc/fstab in kwrite with root privileges so you can edit the file.

Link to comment
Share on other sites

Here's the current fstab line for hdb1:

 

none /mnt/hd supermount dev=/dev/hdb1,fs=ext2:vfat,--,umask=0,iocharset=iso8859-1,kudzu,codepage=850 0 0

 

If this is a standard ide drive with a FAT32 partition, here is what your fstab entry should look like:

 

/dev/hdb1 /mnt/hdb1 vfat umask=0,iocharset=iso8859-1,codepage=850 0 0

 

Try editing fstab per the above by deleting the present hdb1 line and inserting my line above in it's place. Then reboot and see if you can access the drive. Make sure you have a /mnt/hdb1 directory in /mnt since that is the designated mount point; if it's not there create it. You need to be root to edit fstab or make a directory in /mnt. Do so by opening a console and running:

 

Tried changing that, but in startup, I get the following message:

 

mount: wrong fs type, bad option, bad superblock on /dev/hdb1, or too many mounted file systems

 

The 2nd drive is 160GB, not 120 like i said earlier. It's weird that it doesn't see the 2nd NTFS partition on the first (hda) drive, or the FAT32 on the 2nd (hdb) drive. I tried running partition magic from windows but it won't run because it says the EZ-DRIVE is corrupted. Is there a way to fix it so it sees these things? And what's the deal with all those partitions on hda? In WIN, it only has two.

 

Thanks for your patience, all. I'm a newbie trying to get this thing to work right.

Link to comment
Share on other sites

You no longer have a second NTFS partition on hda according to fdisk -l. You have four partitions on hda:

 

hda1 - winxp (ntfs)

hda5 - linux root(ext3)

hda6 - linux(swap)

hda7 - linux(ext3) mounted on /mnt/partition2

 

Can you see and access a second ntfs partition from windows? also, can you access your 160GB drive from windows and what size is reported for the drive(the full 160GB or 120GB)?

 

Your problems are coming from the ez-drive on hdb. This is a software hack from western digital IIRC to get around your bios size limitation on hard drives which I suspect is 120GB(do you know what it is?). These drive overlay programs are nothing but trouble. You'll find it very difficult, if not impossible, to install any OS, whether windows or linux, on a drive with a drive overlay on it. You can usually use them for data drives but even then, they remain pretty touchy and partition table corruption with the resulting loss of data is much more common on a drive with a drive overlay on it.

 

The first thing I would do is back up my data on the drive to cd-r(assuming you can access the drive in windows) because you are at risk of losing it if you are getting partition table errors from PM. Next thing I would do is see if there is a bios update from the manufacturer which will allow the bios to properly detect a 160GB drive. If there isn't, the best hardware solution is to get a pci ide controller card(Promise Technology makes good ones) and put the hard drive on that. A modern controller card has it's own bios and is capable of seeing the full capacity of the drive.

 

That's the bad news - drive overlay programs suck big time. Some good news - linux doesn't need a drive overlay program to see the full capacity of the drive whereas windows does. This is because windows is much more bound by the bios limitations than linux when it comes to dealing with the size of the drive.

 

I will go into more depth of the process of getting rid of the drive overlay program on the drive later. But let's try something a little easier first and see if it works in linux. Reboot and as soon as you see the lilo selection screen hit the Esc key. That will take you to a boot prompt. At the prompt type:

 

linux hdb=remap

 

and hit the Enter key. I've been told that works sometimes with overlay drives with problems. See if you can mount hdb1. If that doesn't work, post back and I'll go into more detail on ridding yourself of the drive overlay program.

Edited by pmpatrick
Link to comment
Share on other sites

Just to echo what's been said, over-lay programs are written for your bios---and windows! That tells alot by itself! You should really plan a way to get off the over-lay.

Link to comment
Share on other sites

Thanks for the info so far. I do remember having to use some sort of overlay, or disk management system. I will back everything up and try the "remap" thing. I would like to eventually ditch windows altogether (or keep it for 3D gaming only), so maybe this won't be such a big prob in the future.

 

Anyway, that second drive is indeed 160GB - I mistyped 120 earlier.

 

This is what windows says about the drives:

C: 18.6 GB NTFS

D: 74.4GB FAT32

E: 74.5 GB NTFS

 

D and E are partitions on the same drive apparently (Vol_2 in windows) - i thought c: and e: were the same, but it's only 40GB. Linux must be installed on the 40GB, with the 160GB as a data drive - E: for Win and D: for shared. That would explain why hda has the linux partitions on it. In fact, that would explain a lot - the whole problem is that EZ-DRIVE thing. on the 160GB.

 

If all else fails, i might try the IDE drive controller. Thanks again for the advice, all.

Link to comment
Share on other sites

linux hdb=remap

 

I tried it and...IT WORKED! In diskdrake I see hdb1 and hdb5. hdb1 automatically mounts to /mnt/hdb1, and i was able to mount hdb5 also. I can see all the files. You rule!

 

So, the next question is, how do I get LILO to to that hdb=remap thing everytime? Or should I look for a more permanent solution, like the IDE controller?

 

I am very excited about this.

Edited by emarsh
Link to comment
Share on other sites

The first thing you should do is check for a bios update from the manufacturer's website. Bios updates to allow for the use of larger drives are common and will allow you to have full access to the drive w/o a drive overlay program or the need to buy a ide controller card.

Re editing lilo.conf, Steve's got it right but you have to rerun lilo for the changes to take effect. After making the edit, open a console and run:

 

$ su

<enter root password>

# lilo -v

 

Your edited version of lilo.conf won't take effect till you do this. If your not sure what to do or you get an error message when you rerun lilo, post your lilo.conf file.

Link to comment
Share on other sites

  • 1 month later...

I have updated my lilo.conf, and after rerunning initially, I got some errors, but now it works. When I boot into linux, i can read one of the partitions I couldn't read before. Why one, you ask? Because the other crashed. It is unreadable in windows and linux. I ran a data recovery program in windows, and it found the files, but it was shareware and they want $70 to actually copy the files it found. As it is almost all music, most of which I have already backed up to cd, or still own the original cds, I will try to find a free way to recover this data. In the meantime, I will be backing up everything on the other partition, and reformatting the drive to get rid of the overlay. You warned me that I was in danger of losing data, and you were CORRECT! I have learned my lesson. Thanks.

Link to comment
Share on other sites

I will have two weird suggestions that may work.

 

1. Is your BIOS configured to see this HDD as LBA? If not, change it to LBA (Not AUTO) and try a reboot.

 

2. Under certain conditions, corrupted partitions can be rescued if you moumt them as an NFS drive from Linux.

 

Good Luck

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...