Install/mount problems with TP770Z/14.1Gb HD
Rob Mayoff
linux-thinkpad@www.bm-soft.com
Fri, 9 Jul 1999 16:51:43 -0500 (CDT)
| I have a TP770Z (9549-8AU) that comes with a 14.1Gb HD. When I try
| to install RedHat 6.0 on this machine (or mount partitions on that
| drive), I get a message indicating a "Partition Error: Unable to read
| file or directory". Has anyone else encountered this, and/or found a
| fix. RedHat 6.0 installed fine on my 8.0Gb HD.
I've encountered it. What did you use to partition your disk and what
are the partitions?
There are two possible problems. The first, easiest one to handle is
the possibility that the kernel doesn't correctly detect the drive
geometry. I installed Mandrake 6.0, which I believe uses a later kernel
than Redhat 6.0; the Mandrake kernel (2.2.9) does detect the geometry
correctly. However, the older Redhat kernel might not (I don't know when
the kernel was fixed to recognize the IBM 14.1GB drive).
You should be able to figure it out. When the kernel boots, I think it
prints the disk geometry. It'll probably scroll by before you get a good
look, but pressing PgUp should let you see it. If that doesn't work, get
to the "second-stage install", which I think starts by asking if you're
installing or upgrading. Then you should be able to press Alt-F2 to get
a shell prompt. As I recall, the install-time kernel supports /proc, so
just "cat /proc/ide/ide0/hda/geometry". The logical geometry is the one
that matters. If it says 1024/240/63, it's broken. If it says
1826/240/63, you're a big winner.
If it's broken, you'll want to add a parameter to your boot command to
tell the kernel the drive size:
LILO: linux hda=1826,240,63
If this fixes your problem, please let us know.
The other possible problem stems from having more than one partition
ending above the 1024-cylinder boundary. For example, here's my
partition table:
Disk /dev/hda: 240 heads, 63 sectors, 1826 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 18 441 3205408+ b Win95 FAT32
/dev/hda2 1 17 128488+ 83 Linux
/dev/hda3 442 1825 10463040 5 Extended
/dev/hda5 442 864 3197848+ 83 Linux
/dev/hda6 865 881 128488+ 82 Linux swap
/dev/hda7 882 915 257008+ 83 Linux
/dev/hda8 916 949 257008+ 83 Linux
/dev/hda9 950 1491 4097488+ 83 Linux
/dev/hda10 1492 1825 2525008+ b Win95 FAT32
Note that hda9 and hda10 both end above the 1024-cylinder mark. Here's
another view of the partition table is this:
Disk /dev/hda: 240 heads, 63 sectors, 1826 cylinders
Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
1 80 1 1 17 239 63 440 257103 6410817 0b
2 00 1 1 0 239 63 16 63 256977 83
3 00 0 1 441 239 63 1022 666792020926080 05
4 00 0 0 0 0 0 0 0 0 00
5 00 1 1 441 239 63 863 63 6395697 83
6 00 1 1 864 239 63 880 63 256977 82
7 00 1 1 881 239 63 914 63 514017 83
8 00 1 1 915 239 63 948 63 514017 83
9 00 1 1 949 239 63 1023 63 8194977 83
10 00 239 63 1023 239 63 1023 63 5050017 0b
Notice that hda9 ends at 1023/239/63 and hda10 starts AND ends at
1023/239/63. That's because the partition table can't actually store
a cylinder number above 1023. Fortunately, it also stores LBA sector
numbers (that's the Start and Size columns), which accurately represent
the cylinders. All modern OS's use the LBA sector numbers. (Note that
fdisk is stupid about how it prints the partition table; all those
partitions don't REALLY start at LBA sector 63).
So anyway, I think Disk Druid barfs when it sees the hda9 and hda10
overlapping. The best thing, if you don't have anything on your high
partition(s), or you can back them up, is to delete any extra partitions
that are above the 1024-cylinder mark. In my case, that would only be
hda10 - I can leave hda9 as the only partition above 1024 cylinders.
Then Disk Druid should work. After you finish installing, you can
recreate the partition and restore/move stuff onto it.
Note that even if you choose the fdisk option during the install, you
still end up using Disk Druid to assign mount points to your partitions.
I spent several hours trying to find a workaround.
If you are wizardly enough, you can do it the way I did: I edited my
partition table with a hex editor to hide my high partitions, then
upgraded to Mandrake 6.0, then restored the unedited partition table.
This was only feasible because my hda9 and hda10 contain only my home
directory and my MP3's, so I didn't need them online during the install.
Good luck!