From Bugzilla Helper: User-Agent: Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko) Description of problem: If there are multiple partitions labelled "/", and you boot with "root=LABEL=/", one of the "/" partitions will be mounted as the root partition. But it won't necessarily be the correct one, and the user gets no indication that there were duplicate labels. Version-Release number of selected component (if applicable): mount-2.11y-31.1 How reproducible: Always Steps to Reproduce: 1. Install RHEL3 U2 on disk A 2. Remove disk A, insert disk B 3. Install RHEL3 U2 on disk B 4. Insert disk A (both disk A and disk B are attached) 5. Disk A appears as fs0: and disk B as fs1: to EFI 6. Boot from fs0:\efi\redhat; disk A is mounted as / 7. Boot from fs1:\efi\redhat; disk A is mounted as / Actual Results: The root filesystem on disk A is mounted as /, regardless of which kernel was booted. Expected Results: The user expectation is that in step 7, disk B is mounted as /. A warning about the duplicate labels would be useful. Or perhaps a chance to choose which one should be mounted. Even a message about which partition was mounted as / would be nice. Additional info: RHEL3 U2 does a nice job if two disks are attached and I install first to disk A, then to disk B. (The root on disk A gets labelled "/" and the one on disk B gets labelled "/1", and the elilo.conf files use the appropriate labels. But a careful user often physically unplugs his valuable disk when installing a new release on a scratch disk. If he then reinserts the valuable disk, he ends up in the situation I describe. In the case I describe (installing the same release on both drives), both boots work. If different releases are installed, though, the boot in step 7 may NOT work, because the modules on disk A won't match the kernel on disk B.
Multiple partitions with the same label is a "don't do that" situation. It'd be nice to get a warning or something, though - I'll have to look into it.
It appears that in util-linux-2.12a, this situation is detected and treated as an error. That should be sufficient!