[CentOS] CentOS 4.4 - added disk prevents system from booting past initrd

Mon Apr 30 14:48:59 UTC 2007
Pierre Bourgin <pierre.bourgin at arteris.com>

Simen Thoresen a écrit :
> Hi people,
> 
> I ran into one of these silly issues I'd like to share as I think the 
> reason behind it may be a flaw in the current initrds.
> 
> The setup;
> Dual-Xeon Intel-chipset motherboard. SATA-disk attached to ICH, onboard 
> Adaptec SCSI-controller.
> 
> Installed system, updated packages, no problems. Basic, non-LVM 
> partition setup - OS-disk is /dev/sda, single filesystem-partition 
> /dev/sda1 is labeled LABEL=/, and fstab uses the label to access the 
> filesystem.
> 
> I now add a SCSI-disk (previously used) to the onboard SCSI-controller, 
> and the fun starts. The onboard controller is identified as scsi0 and 
> scsi1, the SATA-disk sits on scsi2. SCSI-disk is thus /dev/sda, and 
> SATA-disk becomes /dev/sdb. This should not be a problem as the fstab 
> refers to the partition by label and not device name.
> 
> And then disaster! While booting, the system issues 'Checking root 
> filesystem' (I'm not 100% sure about the output here), and craps out on 
> a badly broken /dev/sda1. On the SCSI-disk, /dev/sda1 is an extended 
> partition, with /dev/sda5 being the partition that holds the filesystem. 
> Thus fsck'ing /dev/sda1 does not bring any useful. But why?
> 
> Why does the initrd insist on fsck'in /dev/sda1, when it should check 
> LABEL=/?
> 
> Is there something I'm not getting here?

it should be a grub problem: even if filesystems are now labelled, grub 
enumerates present hard drives ... and have the same problems than 
Lninux with sda becoming sdb.
Its configuration file (SATA:/boot/grub/menu.lst) should be updated as 
well, especially the root keyword.

grub is launched from the first bootable drive (/dev/sdb) that is saw as 
disk hd(1) I guess.

So in its configuration file, you should duplicate the default entry 
(when installed on SATA standalone disk) and change "root hd(0,1)" into 
"root hd(1,1)"

To achieve it, boot from CD/DVD in rescue mode, mount manually your 
/boot (in / perhaps) and edit /boot/grub/menu.lst

my $0.02

Pierre Bourgin