# Block device /dev/sdc3 is not a valid root device [solved]

## Carlino

Hello,

I'm trying to get my box work with ahci. I'm currently using sata drive "as ide", and everything is fine : the box does boot, and I have access to all the fs and the sata HDD, except the one hot-plug connected on a e-sata port.

The thing is that if I want hot-plug with that e-sata HDD, I've read that I do need to set up HDD management in the BIOS, as ahci.

My motherboard is Asus P5Q Pro : its bios offers to manage sata HDD as IDE, RAID or AHCI.

When I switch, there in the BIOS, HDD management on AHCI, my box doesn't boot anymore : neither Gentoo - I get the  *Quote:*   

> !! Block device /dev/sdc3 is not a valid root device !! Could not find the root block device in

  message, 

nor Windows 7  - I get  *Quote:*   

>  Error 13 : Invalid or unsupported executable format 

  message.

So this leads me on the track of a Grub issue, rather that a Kernel issue. I've been reading closely the posts Block device /dev/sda3 is not a valid root device and  Intel Corporation ICH9M/M-E SATA AHCI [SOLVED], that describe issues really close to mine, but following what's said in them didn't solve it.

grub.conf :

```
default 0

timeout 10

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux (3.10.7-gentoo)

root (hd0,0)

kernel /boot/kernel-genkernel-x86_64-3.10.7-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sdc3 vga=794  video=1680x1050 splash=silent,theme:natural_gentoo console=tty1 quiet

#kernel /boot/kernel-genkernel-x86_64-3.5.7-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sdc3 vga=794 splash=verbose,theme:natural_gentoo console=tty1 quiet

initrd /boot/initramfs-genkernel-x86_64-3.10.7-gentoo

# vim:ft=conf:

title=Gentoo Linux (3.8.13-gentoo)

root (hd0,0)

kernel /boot/kernel-genkernel-x86_64-3.8.13-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sdc3 vga=794  video=1680x1050 splash=silent,theme:natural_gentoo console=tty1 quiet

#kernel /boot/kernel-genkernel-x86_64-3.5.7-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sdc3 vga=794 splash=verbose,theme:natural_gentoo console=tty1 quiet

initrd /boot/initramfs-genkernel-x86_64-3.8.13-gentoo

# vim:ft=conf:

title=Gentoo Linux (3.7.10-gentoo)

root (hd0,0)

kernel /boot/kernel-genkernel-x86_64-3.7.10-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sdc3 vga=794  video=1680x1050 splash=silent,theme:natural_gentoo console=tty1 quiet

#kernel /boot/kernel-genkernel-x86_64-3.5.7-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sdc3 vga=794 splash=verbose,theme:natural_gentoo console=tty1 quiet

initrd /boot/initramfs-genkernel-x86_64-3.7.10-gentoo

# vim:ft=conf:

title Windows 7 RC

rootnoverify (hd1,0)

makeactive

chainloader +1
```

fstab:

```
/dev/sdc1   /boot   ext2   defaults,noatime   1 2

/dev/sdc2   none   swap   sw   0 0

/dev/sdc3   /   ext3    defaults,noatime   0 1

/dev/sdb1   /home   ext4    defaults   0 0

/dev/sda1   /media/Images   ntfs-3g    rw,users,auto,uid=1000,gid=1000,nls=utf8,umask=002    0 0

/dev/sde2   /media/Ressources   ntfs-3g    rw,users,auto,uid=1000,gid=1000,nls=utf8,umask=002    0 0

/dev/sdd1   /media/Freezer   ext4   defaults   0 0

/dev/sde3   /media/TuneBox   ntfs-3g  rw,users,auto,uid=1000,gid=1000,nls=utf8,umask=002

none   /proc     proc    defaults          0 0

none   /dev/shm  tmpfs   defaults          0 0
```

```
# lspci -k

00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel modules: intel_agp

00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)

   Kernel driver in use: pcieport

00:1a.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

   Kernel modules: uhci_hcd

00:1a.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

   Kernel modules: uhci_hcd

00:1a.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

   Kernel modules: uhci_hcd

00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: ehci-pci

   Kernel modules: ehci_pci

00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller

   Subsystem: ASUSTeK Computer Inc. Device 82fe

   Kernel driver in use: snd_hda_intel

   Kernel modules: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1

   Kernel driver in use: pcieport

00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5

   Kernel driver in use: pcieport

00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6

   Kernel driver in use: pcieport

00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

   Kernel modules: uhci_hcd

00:1d.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

   Kernel modules: uhci_hcd

00:1d.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

   Kernel modules: uhci_hcd

00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: ehci-pci

   Kernel modules: ehci_pci

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)

00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1

   Subsystem: ASUSTeK Computer Inc. Device 82d4

   Kernel driver in use: ata_piix

   Kernel modules: ata_piix

00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel modules: i2c_i801

00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2

   Subsystem: ASUSTeK Computer Inc. Device 82d4

   Kernel driver in use: ata_piix

   Kernel modules: ata_piix

01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV770 [Radeon HD 4870]

   Subsystem: Hightech Information System Ltd. Device 2267

   Kernel driver in use: radeon

   Kernel modules: radeon

01:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI RV770 HDMI Audio [Radeon HD 4850/4870]

   Subsystem: Hightech Information System Ltd. Device aa30

   Kernel driver in use: snd_hda_intel

   Kernel modules: snd_hda_intel

02:00.0 Ethernet controller: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0)

   Subsystem: ASUSTeK Computer Inc. Device 8226

03:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II / PATA Controller (rev b2)

   Subsystem: ASUSTeK Computer Inc. Device 82e0

   Kernel driver in use: pata_marvell

05:00.0 Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 86)

   Subsystem: D-Link System Inc DFE-530TX rev C

   Kernel driver in use: via-rhine

   Kernel modules: via_rhine

05:03.0 FireWire (IEEE 1394): LSI Corporation FW322/323 [TrueFire] 1394a Controller (rev 70)

   Subsystem: ASUSTeK Computer Inc. LSI FW322/323 IEEE 1394a FireWire Controller
```

```
grep -i sata /usr/src/linux/.config

# CONFIG_SATA_ZPODD is not set

CONFIG_SATA_PMP=y

CONFIG_SATA_AHCI=y

CONFIG_SATA_AHCI_PLATFORM=y

CONFIG_SATA_INIC162X=m

CONFIG_SATA_ACARD_AHCI=y

CONFIG_SATA_SIL24=m

CONFIG_SATA_QSTOR=m

CONFIG_SATA_SX4=m

# SATA SFF controllers with BMDMA

# CONFIG_SATA_HIGHBANK is not set

CONFIG_SATA_MV=y

CONFIG_SATA_NV=m

CONFIG_SATA_PROMISE=m

CONFIG_SATA_SIL=m

CONFIG_SATA_SIS=m

CONFIG_SATA_SVW=m

CONFIG_SATA_ULI=m

CONFIG_SATA_VIA=m

CONFIG_SATA_VITESSE=m
```

So... any help or suggestions welcome.

----------

## NeddySeagoon

Carlino,

Fixing Windows 7, adter it was installed in IDE mode, is a nest of vipers.  I would like to fix my work laptop so I can use the eSATA port.

Nothing I've found on the internet works, short of reinstalling. I can't do that, its not my laptop.

If you do find an upgrade path for Windows 7, please share it.

Gentoo is much easier.  

```
!! Block device /dev/sdc3 is not a valid root device !! Could not find the root block device in
```

should contain a list of block devices the kernel can see.  If the list is empty, it points to a kernel option missing.

```
00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1 

00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2 

03:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II / PATA Controller (rev b2) 
```

Switch to AHCI mode in your BIOS, boot a liveCD/USB and see what lspci -k shows.

I would not be surprised to learn that 

a) that the ICH10 does not use the ahci driver

b) you hard drives are reordered

----------

## Carlino

Thanks NeddySeagoon for your answer ! So I've switched to ahci in the bios, boot from a USB drive and here's what I got :

```
# lspci -k

00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)

   Kernel driver in use: pcieport

00:1a.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

00:1a.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

00:1a.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: ehci_hcd

00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller

   Subsystem: ASUSTeK Computer Inc. Device 82fe

   Kernel driver in use: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1

   Kernel driver in use: pcieport

00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5

   Kernel driver in use: pcieport

00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6

   Kernel driver in use: pcieport

00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

00:1d.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

00:1d.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: uhci_hcd

00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: ehci_hcd

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)

00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: lpc_ich

00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: ahci

00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV770 [Radeon HD 4870]

   Subsystem: Hightech Information System Ltd. Device 2267

   Kernel driver in use: radeon

01:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI RV770 HDMI Audio [Radeon HD 4850/4870]

   Subsystem: Hightech Information System Ltd. Device aa30

   Kernel driver in use: snd_hda_intel

02:00.0 Ethernet controller: Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0)

   Subsystem: ASUSTeK Computer Inc. Device 8226

   Kernel driver in use: ATL1E

03:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II / PATA Controller (rev b2)

   Subsystem: ASUSTeK Computer Inc. Device 82e0

   Kernel driver in use: pata_marvell

05:00.0 Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 86)

   Subsystem: D-Link System Inc DFE-530TX rev C

   Kernel driver in use: via-rhine

05:03.0 FireWire (IEEE 1394): LSI Corporation FW322/323 [TrueFire] 1394a Controller (rev 70)

   Subsystem: ASUSTeK Computer Inc. LSI FW322/323 IEEE 1394a FireWire Controller

   Kernel driver in use: firewire_ohci
```

The only mention of ahci is :

```
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: ahci 
```

I'm not sure to understand "b) you hard drives are reordered", unless it matches the fact that in the hard drive settings, in the bios, I've had to reorder the drives (P0, P1, P2), to make them coincide with what I declared in Grub. I first thought that was the reason why, it couldn't boot. But still, it doesn't boot.... so I probably miss a driver. Would you enlighten that part please ?

Besides, about Windows 7, striking the F8 keys to choose where to boot from, I gave a try to the HDD where I installed W7. And it did boot, smoothly, with no complain. I turned on my external e-sata HDD, W7 installed a driver, and I could access the drive.

That message, from grub Error 13 : Invalid or unsupported executable format  would tend to let me think my drive aren't in te order Grub expect them to be....

----------

## NeddySeagoon

Carlino,

This is interesting and correct

```
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller

   Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard

   Kernel driver in use: ahci 
```

Whats more interesting is that the controller at  

```
00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2 
```

has vanished.  That was there when you had the controller in IDE mode.

One of two things has happened.  The drives on that controller are no longer acessable to the computer or your controller appears as two devices in IDE mode and only one in AHCI mode.  IF the latter is true, your drives may well be reordered. 

Grub is unhappy about 

```
root (hd0,0) 
```

Boot to the grub menu, select an option and press 'e'

You can now edit the selected option in memory.

Change the root (hd0,0) to root (hd1,0) and allow the boot to continue. Repeat for other drives ... one should load the kernel but there will be other errors, as root=/dev/... is incorrect, so root won't mount.

When you fix that, /etc/fstab will be incorrect too, so root will stay read only.

----------

## Carlino

NeddySeagoon, 

Thanks for the advices : it now works like a charm. Actually I haven't had to change root (hd0,0)  : root (hd1,0) already leads to the Windows 7 area. As you mentioned, I tried different fs, to find the valid root device, and it was /dev/sda3 that was expected. From there, being in a decent environment, i ran fdisk -l to find out how the HDD where seen, modified /etc/fstab and grub.conf in consequences.

It flows like a charm ; even Windows 7, without patching. Oh, and I now can access the e-sata HDD 

```
# more /boot/grub/grub.conf

default 0

timeout 10

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux (3.10.7-gentoo)

root (hd0,0)

kernel /boot/kernel-genkernel-x86_64-3.10.7-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 vga=794  video=1680x1050 splash=silent,theme:natural_gentoo console=tty1 quiet

#kernel /boot/kernel-genkernel-x86_64-3.5.7-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 vga=794 splash=verbose,theme:natural_gentoo console=tty1 quiet

initrd /boot/initramfs-genkernel-x86_64-3.10.7-gentoo

# vim:ft=conf:

title Windows 7 RC

rootnoverify (hd1,0)

makeactive

chainloader +1

```

Thanks again NeddySeagoon

----------

