You are not logged in.

#1 2012-05-24 02:16:05

Registered: 2012-05-18
Posts: 3

[SOLVED] ERROR: Unable to find root device '/dev/sda3'

Earlier I updated the kernel to my arch system and found this error while trying to boot. I hate to post this because there are so many topics like it, but I've been looking for hours for a solution to this problem and can't find one.

Here is the output:

    Booting 'Arch Linux'

root    (hd0,1)
  Filesystem type is ext2fs, partition type 0x83
kernet /vmlinuz-linux root=/dev/sda3 ro
        [Linux-bzImage, setup=0x4200, size=0x2ff2d0]
initrd /initrd @ 0xfd17000, 0x2c878c bytes]

Probing EDD (edd=off to disable)... ok

Decompressing Linux... Parsing ELF... done.
Booting the kernel.
::  Starting udevd...
Waiting 10 seconds for device /dev/sda3 ...
ERROR: device '/dev/sda3' not found. skipping fsck.
ERROR: Unable to find root device '/dev/sda3'.
You are being dropped to a recovery shell
        type 'exit' to try and continue booting
sh: can't access tty; job control turned off

My partition layout is like this:
swap: /dev/sda1
boot: /dev/sda2
root: /dev/sda3
extended: /dev/sda4
home: /dev/sda5

I have two hard drives, but i'm sure /dev/sda is the one with my OS.

Here are some things I've tried:

This was at the very bottom of the pacman wiki

# mkdir /mnt/arch
# mount /dev/sdaX /mnt/arch (your root partition)
# cd /mnt/arch
# mount -t proc proc proc/
# mount -t sysfs sys sys/
# mount -o bind /dev dev/
# mount /dev/sdaX boot/ (your /boot partition) #This step is not needed if you do not have a separate boot partition
# chroot .
# pacman -Syu udev mkinitcpio
# mkinitcpio -p linux

I've also tried performing the above, downgrading the kernel, updating my mirrorlist, reinstalling the kernel, and rebooting as mentioned here.

I've alsa tried a few other things that I've read, but can no longer remember.

Any help would be greatly appreciated! Thanks.

Last edited by colton7909 (2012-05-25 02:09:36)


#2 2012-05-24 03:17:34

Registered: 2008-03-10
Posts: 145

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'


#3 2012-05-24 05:32:17

Registered: 2010-09-09
Posts: 37

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'

UUID's and labels are much more reliable than device nodes. Use the link in sirocco's post.
That said, I don't think the devices got switched up, since you didn't change any partitioning-stuff(right?). T
ry using systemrescuecd, and use the boot-option "boot into installed linux". When I've had similair problems, systemrescuecd could usually boot into my linux-installation, and that'd allow me to rule out a lot of possible causes(and usually blame the bootloader)


#4 2012-05-24 16:40:45

Registered: 2012-05-18
Posts: 3

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'

Thanks for the help!

@sirocco: I tried as you suggested with no luck. I booted into the arch install disk, chrooted, and changed my /boot/grub/menu.lst kernel line to use the uuid instead and got the same error message with the uuid instead of device node.

@rayman: systemrescuecd booted my system flawlessly! I gave me some hope lol. Are you thinking this is a grub problem? Also in the recovery shell I did an ls on /dev and noticed that there are no /dev/sd** devices listed. Could this be a module problem?


#5 2012-05-24 17:11:58

Registered: 2009-04-09
Posts: 14

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'

same here, after the latest kernel-update & reboot, the same error appeared. The update message (during the rebuilding of modules, or what ever hooks etc are created after kernel updates) i could see that it mentioned an error in line 15 of some file, because something with "run" in it could be found (yeah, i know this isnt exactly onto the point, but that s all i remember). I ignored that as both kernel images (default & fallback) were reported to be created succesfully. So now I am on kubuntu, which makes me sad, I love everything about arch, but every once in a while a kernel update makes the system unusable.

colton, let us know if you found a way to fix it!

Last edited by jappel (2012-05-24 17:12:49)


#6 2012-05-24 17:16:41

Registered: 2009-04-09
Posts: 14

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'

while browsing the message-board:

someone who used testing hit something similiar, maybe it is related and the solution would work here as well:


#7 2012-05-24 17:35:30

From: Alberta, Canada
Registered: 2011-09-04
Posts: 387

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'

In the "recovery shell", what is reported for:

ls -l /dev


#8 2012-05-24 22:08:40

Registered: 2011-09-12
Posts: 423

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'

Your error (and solution) is most likely here:


#9 2012-05-25 02:05:55

Registered: 2012-05-18
Posts: 3

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'

I've finally fixed the problem. It was mkinitcpio after all.

1) "boot into installed linux" with systemrescuecd
2) execute "mkinitcpio -p linux" as root
3) reboot

Thanks you everyone for the help! I appreciate it!


#10 2012-07-15 20:20:45

Registered: 2012-07-15
Posts: 4

Re: [SOLVED] ERROR: Unable to find root device '/dev/sda3'

Thank colton smile
Same problem here, but on a mac book (not mine eyh wink )
So, for those how have the problem (or need a live usb for mac or uefi systems),
1) with a 32bits system
- download gparted live cd
- use it for the step 3
2) with a 64bits system:
- you need the gparted live cd too: mount it and copy the EFI directory somewhere; then umount it;
- download a 64bits system (system rescue cd, as colton said is enough, follow the instructions for installation on their website first);
- mount you live usb, install the 64bits system;
- copy EFI system on the key
- edit the grub.cfg in EFI/boot/ , add the following before the other entries:

menuentry "System Rescue" {
  set gfxpayload=keep
  linux     /syslinux/altker64 nomodeset efi
  initrd    /syslinux/initram.igz

3) repairing...
- boot the broken computer with the live usb
- mount the partition on which your system is (e.g. /dev/sda1 on /mnt)
- chroot it, init the system as needed (mount /dev, /proc, etc. the easier way is using init scripts)

% chroot /mnt /bin/bash
% /etc/rc.sysinit
% mkinitcpio -p linux


Board footer

Powered by FluxBB