Bug 57913

Summary: anaconda ignores hda, can't upgrade existing installation
Product: [Retired] Red Hat Linux Reporter: Need Real Name <sbg>
Component: anacondaAssignee: Matt Wilson <msw>
Status: CLOSED RAWHIDE QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: pfw
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-01-23 20:35:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2002-01-01 12:34:31 UTC
Description of Problem:

I have two IDE drives, hda is a 17G ST317221A, hdb is a 40G FUJITSU
MPG3409AH E.  hda is a dual-bootable drive, with Win98 and RH7.1

After booting a 7.2 install CD, I'm told I can't upgrade because there are
no upgradable paritions.. and the install options only offer me hdb to
repartition.  Why isn't hda listed?  Is there a way of telling anaconda to
let me use it?

Version-Release number of selected component (if applicable):


How Reproducible:

Happens every time I try.

Steps to Reproduce:
1. Boot 7.2 install CD
2. click through to install/upgrade screen

Actual Results:
"You have no upgradable partitions"

Expected Results:
Upgrades existing 7.1 system to 7.2

Additional Information:
	
If I switch to the shell during the install I can mount and unmount the
patitions on hda without any problems.

The hda partition table looks like so:
   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1       650   5221093+   c  Win95 FAT32 (LBA)
/dev/hda2           651       663    104422+  83  Linux
/dev/hda3           664      2480  14595052+   5  Extended
/dev/hda5           664      1288   5020281   83  Linux
/dev/hda6          1289      1321    265041   82  Linux swap
/dev/hda7          1322      1895   4610623+  83  Linux

2 is /boot, 5 is /, 7 is /home
Disconnecting hdb didn't fix the problem.

Comment 1 Jeremy Katz 2002-01-02 23:04:45 UTC
If you go to tty2 and run parted on hda and type "print", what does it show?

Comment 2 Need Real Name 2002-01-03 10:39:19 UTC
parted output:

Using /dev/hda
Warning: The operating system thinks the geometry on /dev/hda is 2096/255/63.
Therefore, cylinder 1024 ends at 8032.499M.  You should check that this matches
the BIOS geometry before using this program.
(parted) print
Error: Can't have a partition outside the disk!

Did anaconda drop the drive because I have a partition table problem? (extended
partition hda3 describes more disk than I've got)  Shouldn't anaconda make a bit
more noise about that sort of thing?

Comment 3 Need Real Name 2002-01-03 13:39:38 UTC
After fixing the partition table, anaconda worked, and parted now prints:

(parted) print
Disk geometry for /dev/hda: 0.000-16446.937 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031   5098.754  primary   FAT         boot, lba
2       5098.755   5200.729  primary   ext3        
3       5200.730  16441.523  extended              
5       5200.761  10103.378  logical   ext3        
6      10103.410  10362.238  logical   linux-swap  
7      10362.270  14864.831  logical   ext3        
8      14864.862  16441.523  logical               


Comment 4 Frazer Williams 2002-01-04 17:29:25 UTC
I think I've run into the same bug as sbg.  I have a system with nearly vanilla
7.1 running and attempted to update to 7.2 using a purchased disk set.  There is
one hard disk, dual boot with Windows in hda1 and Linux in several extended
partitions linked to hda2.  From 7.1, sfdisk -l /dev/hda gives:

========
Disk /dev/hda: 784 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls   #blocks   Id  System
/dev/hda1   *      0+    260     261-  2096451    6  FAT16
/dev/hda2        261     783     523   4200997+   5  Extended
/dev/hda3          0       -       0         0    0  Empty
/dev/hda4          0       -       0         0    0  Empty
/dev/hda5        261+    280      20-   160618+  83  Linux
/dev/hda6        281+    528     248-  1992028+  83  Linux
/dev/hda7        529+    776     248-  1992028+  83  Linux
/dev/hda8        777+    783       7-    56196   82  Linux swap
========

When I attempt to upgrade, everything goes fine until I click on the upgrade
(instead of install) option.  I then get the following error message:
===============
  Unable to align partition properly.  this probably means that another
  partitioner generated an incorrect partition table, because it didn't
  have the correct BIOS geometry.  It is safe to ignore, but ignoring may
  cause (fixable) problems with some boot loaders.
===========================

Ignoring it, I then get:
=============
Error mounting filesystem on hda8.  Invalid argument
=============

And the installer claims there are no valid Linux partitions on the disk.

I took katz's advice and ran parted on hda from tty2 of the install.  The output
is below:

==========
GNU Parted 1.4.16
[Copyright stuff deleted]

Using /dev/hda
Warning: The operating system thinks the geometry on /dev/hda is 784/255/63.
You should check that this matches the BIOS geometry before using this program.
(parted) print
Warning: Unable to align partition properly.  This probably means that another
partitioning tool generated an incorrect partition table, because it didn't
havethe correct BIOS geometry.  It is safe to ignore,but ignoring may cause
(fixable) problems with some boot loaders.
Ignore Cancel ? Ignore
Disk geometry for /dev/hda: 0.000-6149.882 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031   2047.346  primary   FAT         boot
2       2047.346   6149.882  extended              
8       2047.377   2204.230  logical   ext2        
7       2204.262   4149.602  logical   ext2        
6       4149.633   6094.973  logical   ext2        
5       6095.004   6149.882  logical   linux-swap  
(parted) quit
===========

There are two curious features here.  First, the disk does not have 255 heads.
The BIOS thinks there are 15.  Second, parted has the minor numbers reversed for
the extended partions in hda2.  8 should be 5, 7 should be 6, 6 should be 7, and
5 should be 8.

Under 7.1 on this system, I don't have parted, so I couldn't run it from 7.1.
I do have parted on a different system, also running 7.1.  It has two hard
disks, one scsi and the second ide.  Running parted on hda on this system gave:

============
GNU Parted 1.4.7
[Copyright stuff deleted]

Using /dev/hda
Warning: The operating system thinks the geometry on /dev/hda is 4982/255/63.
Therefore, cylinder 1024 ends at 8032.499M.  You should check that this matches
the BIOS geometry before using this program.
(parted) print
Disk geometry for /dev/hda: 0.000-39082.640 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031    258.859  primary   ext2        
2        258.860  39079.995  extended              
5        258.891   2314.050  logical   FAT         
6       2314.081   2831.770  logical   ext2        
7       2831.801   4886.960  logical   ext2        
8       4886.991   5020.312  logical   linux-swap  
9       5020.343   8526.687  logical   ext2        
10      8526.718  12033.061  logical   ext2        
11     12033.092  39079.995  logical   ext2        
(parted) quit
=================

There seems to be a disk geometry disagreement here as well, but parted seems to
have assigned the correct minor numbers to the various partitions.

I'm guessing that the problem lies in the disagreement between the BIOS and the
"OS" as to the geometry of the disk.  Since fdisk and all it's kin have no
problems with these disks, I'm guessing this is a bug rather than a feature in
parted.  In any case, I would very much appreciate any advice as to
work-arounds.

One final data bit.  I installed 7.2 on a virgin hard disk attached to yet
another system with no problems using this disk set.

Thanks.

Comment 5 Frazer Williams 2002-01-15 21:41:55 UTC
I have resolved my problem with install.  The problem was due in part to a
rather strange partitioning of my hard drive, and in part to an incorrect
assumption in parted.  As a result parted was getting the minor numbers backward
for the logical partitions in my extended partition.  Andrew Clausen fixed
parted so it gets the minor numbers right in this case.  As a side benefit, the
new parted even fixed my partitioning so it's now kosher.  The new version is
parted-1.4.23 and it's available on ftp.gnu.org.

One result of this is that I've found I really don't understand extended
partitions at all, so I won't try to explain the problem with my disk.  If
anyone is interested, I'd be happy to send him/her the outputs of sfdisk -l -x
before and after, along with my correspondence with Andrew.  It would probably
be better to contact Andrew directly, though.



Comment 6 Matt Wilson 2002-02-28 23:12:09 UTC
I have 1.4.24 in our installer now.