# [Solved] boot problem after moving root partition to ssd.

## sadhu

I recently bought SSD drive and wanted to move my boot and root partitions to it. Linux sees it as sdc1 (root - ext4) and sdc2 (boot - ext3). I had some problems with grub but after setting the ssd drive to be the first boot device in bios it works as (hd0,1).

Unfortunately init never kicks in and boot hangs with:

```
EXT3-fs (sdc1): error: couldn't mount because of unsupported optional features (240)

EXT2-fs (sdc1): error: couldn't mount because of unsupported optional features (240)

EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: (null)

VFS: Mounted root (ext4 filesystem) readonly on device 8:33.

Freeing unused kernel memory: 344k freed
```

from /etc/fstab:

```
/dev/sdc2        /boot        ext3        defaults,noatime,noauto    0 1

/dev/sdc1        /        ext4        defaults,noatime    0 1
```

from grub.conf:

```
title  GNU/Linux 2.6.35-gentoo-r10

root (hd0,1)

kernel /linux-2.6.35-gentoo-r10 root=/dev/sdc1

```

if I change it to old root partition it boots fine.Last edited by sadhu on Fri Oct 22, 2010 9:42 am; edited 1 time in total

----------

## Chiitoo

Is there anything about the boot partition in the log, or about sdc2?

Or is what we are seeing all that is related to file-systems etc.?

Moreover, if it is sdC, should it not be (hd2,1)?

 *10.b. Default: Using GRUB wrote:*   

> 
> 
> Assuming you have a hard drive on /dev/sda and two more on /dev/sdb and /dev/sdc, /dev/sdb7 gets translated to (hd1,6).
> 
> 

 

Just my thoughts.  ^^

----------

## Hu

 *Chiitoo wrote:*   

> Moreover, if it is sdC, should it not be (hd2,1)?

 Usually, yes.  Unfortunately, some BIOSes are known to renumber drives when you change the boot device order.  In such a BIOS, boot will always be on (hd0,X), regardless of the proper position of the drive in the system.

----------

## Chiitoo

 *Hu wrote:*   

>  *Chiitoo wrote:*   Moreover, if it is sdC, should it not be (hd2,1)? Usually, yes.  Unfortunately, some BIOSes are known to renumber drives when you change the boot device order.  In such a BIOS, boot will always be on (hd0,X), regardless of the proper position of the drive in the system.

 

Ah, right.

I remember reading about that somewhere now.  This was in my mind before my first post already, can the BIOS change affect how the devices are actually seen, I mean can it change sdc to sda for example?

----------

## cwr

It looks as if grub doesn't understand your boot filesystem for some reason.  It ought to,

if it's a recent grub.  You could try rebuilding the boot partition,  in case some flag has  been

set which grub doesn't understand.  Alternatiively,  perhaps grub is trying to pull something

off the ext4 partition, thinking it's ext2.

Will

----------

## drama

Could it maybe be a problem with mtab? i might be way off here but its just a though. Can you boot a live cd then mount that drive an post the contents of /etc/mtab

as a sidenote i always get the errors you list in your first post but my system always boots normally

----------

## sadhu

I think fs errors aren't connected to the problem. It's just kernel trying to guess filesystem. Init should start after that.

Like I said, changing back to root=/dev/sdf3 (which is my old rootfs) makes system boot fine of a new boot partition (sdc2).

Here is mtab:

```
zen ssd # cat /mnt/ssd/etc/mtab

rootfs / rootfs rw 0 0

/dev/root / ext4 rw,noatime,commit=0 0 0

proc /proc proc rw,relatime 0 0

rc-svcdir /lib/rc/init.d tmpfs rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755 0 0

sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0

udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0

devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0

shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime 0 0

usbfs /proc/bus/usb usbfs rw,noexec,nosuid,devmode=0664,devgid=85 0 0

nfsd /proc/fs/nfsd nfsd rw,noexec,nosuid,nodev 0 0

fusectl /sys/fs/fuse/connections fusectl rw 0 0

```

And from running old root:

```
rootfs / rootfs rw 0 0

/dev/root / ext4 rw,noatime,commit=0 0 0

proc /proc proc rw,relatime 0 0

rc-svcdir /lib/rc/init.d tmpfs rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755 0 0

sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0

udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0

devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0

shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime 0 0

/dev/sdd1 /home/sadhu/motherfucker ext4 rw,noexec,nosuid,nodev,commit=0 0 0

/dev/sda3 /home/sadhu/oldroot ext4 rw,noexec,nosuid,nodev,commit=0 0 0

/dev/sdf4 /home/sadhu/optimus_prime ext4 rw,noexec,nosuid,nodev,commit=0 0 0

usbfs /proc/bus/usb usbfs rw,noexec,nosuid,devmode=0664,devgid=85 0 0

nfsd /proc/fs/nfsd nfsd rw,noexec,nosuid,nodev 0 0

fusectl /sys/fs/fuse/connections fusectl rw 0 0

gvfs-fuse-daemon /home/sadhu/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=sadhu 0 0

/dev/sdc2 /boot ext3 rw,noatime 0 0

/dev/sdc1 /mnt/ssd ext4 rw 0 0
```

Not sure how it's supposed to be related.

----------

## luscinius

Can it be the case that the kernel sees it as /dev/sda since BIOS renumbers the drives? What if you change it to root=/dev/sda1?

----------

## sadhu

Setting /dev/sda1 or any other partition results in usual kernel panic, but....

I have solved the problem!  :Smile: 

Recompiled the kernel with:

```
CONFIG_DEVTMPFS=y

CONFIG_DEVTMPFS_MOUNT=y
```

----------

