VMware Cloud Community
MikeJ
Contributor
Contributor

Need troubleshooting advice "cannot open root device UUID="

Well, I think I've done it now. While attempting to get the CD/DVD to work in my HP ML370G4, I followed the advice of an earlier thread and edited the root= startup line using the esc key at the grub startup.

I edited "VMware ESX Server" kernel line. I removed the text "hda=ide-scsi" from the end and booted. It actually worked fine and my VMs were able to access the physical dvd drive for the first time ever.

A few days later the lab took a long power hit that drained the UPS and the server went down. This is a lab server, so it's not mission critical.

Now, the server will not boot the default "VMware ESX Server" choice. It gives this error:

VFS: cannot open root device UUID="..." or 00:00

Please append a correct "root=" boot option

kernel panic: VFS: Unable to mount root fs on 00:00

I can boot both the debug and console options from grub. I looked at the "VMware ESX Server" kernel line again and the hda=ide-cdrom is still there. I went into console mode and looked at the /etc/grub.conf file. The root= lines look identical up to the cpci=3:;7:; entry.

So, what next? I'm not much of a linux guy, but willing to learn. Thanks.

0 Kudos
10 Replies
kharbin
Commander
Commander

>> I removed the text "hda=ide-scsi" from the end and.....

And

>> kernel line again and the hda=ide-cdrom is still there.

One says hda=ide-scsi, the other says hda=ide-cdrom. Change -cdrom to be -scsi and try.

0 Kudos
MikeJ
Contributor
Contributor

Wow, that would have been great if it was my typo in the grub file, but unfortunatly it was just a typo here. I'll need another hint.

I just installed WinSCP and I can paste the grub.conf here if that helps:

#vmware:configversion 1

\# grub.conf generated by anaconda

#

\# Note that you do not have to rerun grub after making changes to this file

\# NOTICE: You have a /boot partition. This means that

\# all kernel and initrd paths are relative to /boot/, eg.

\# root (hd0,0)

\# kernel /vmlinuz-version ro root=/dev/cciss/c0d0p2

\# initrd /initrd-version.img

#boot=/dev/cciss/c0d0

timeout=10

default=0

title VMware ESX Server

#vmware:autogenerated esx

root (hd0,0)

uppermem 277504

kernel --no-mem-option /vmlinuz-2.4.21-37.0.2.ELvmnix ro root=UUID=0b22071c-4409-11d9-9db3-e1ed7073b12a mem=272M cpci=3:;7:; hda=ide-scsi

initrd /initrd-2.4.21-37.0.2.ELvmnix.img

title VMware ESX Server (debug mode)

#vmware:autogenerated esx

root (hd0,0)

uppermem 277504

kernel --no-mem-option /vmlinuz-2.4.21-37.0.2.ELvmnix ro root=UUID=0b22071c-4409-11d9-9db3-e1ed7073b12a mem=272M cpci=3:;7:; console=ttyS0,115200 console=tty0 debug hda=ide-scsi

initrd /initrd-2.4.21-37.0.2.ELvmnix.img-dbg

title Service Console only (troubleshooting mode)

#vmware:autogenerated esx

root (hd0,0)

uppermem 277504

kernel --no-mem-option /vmlinuz-2.4.21-37.0.2.ELvmnix ro root=UUID=0b22071c-4409-11d9-9db3-e1ed7073b12a mem=272M tblsht hda=ide-scsi

initrd /initrd-2.4.21-37.0.2.ELvmnix.img-sc

0 Kudos
jbrodeur
VMware Employee
VMware Employee

The following solution was recently added to our internal knowledge base. Maybe it will be helpful.

Warning: I'm not sure what impact the solution has on a production system and the solution has not been reviewed (which is why the KB is still internal).

problem: unable to boot ESX: VFS: Cannot open root device "UUID: " or 00:00

Please append a correct "root=" boot option

solution: the initrd file in /boot has been corrupted. Copy this file from another esx server or run the commands:

esxcfg-boot -p

esxcfg-boot -b

esxcfg-boot -r

0 Kudos
jbrodeur
VMware Employee
VMware Employee

And some info from another internal KB that looks related. (Warning still applies.)

Our server got shut down and now we are trying to reboot it. It's now giving the following

error "Kernel panic can not open root device on 0:00"

Solution

Log into ESX server in debug or maintainance mode and execute esxcfg-boot -b, which would indeed reconfigure the boot loader and rebooting the server would result in normal bootup process.

Unexpected shutdown of the server would result in corruption on boot loader file and hence the error.

If the server fails to boot then you need to reinstall the server leaving the vmfs volume unpartioned.

0 Kudos
MikeJ
Contributor
Contributor

Thank you. The esxcfg-boot commands repaired my boot issue, but I have moved on into a new problem. I believe recent power issues and failing UPS have contributed to a non-stable environment and I will reload the system from scratch. Thanks again for the help, and I'll mark this closed.

0 Kudos
MatsDahlgren
Contributor
Contributor

Thanks Mike for having this error before me Smiley Happy

And thanks jbrodeur for the solution. The esxcfg-boot -b worked excellent on my production server that failed to boot after a planned downer. As far as I am concerned it is go for public kb.

-Mats

0 Kudos
thomaslam
Contributor
Contributor

Booting to Debug mode - still receive the Kernel panic.

I can only boot to the console service mode one time only. After that - I no longer seems to be able to boot it anymore.

Thanks,

thomas

0 Kudos
TechInNeedmm
Contributor
Contributor

This worked a treat.

Thank goodness for this forum. Still in development stages but this is the time you need to test these things.

Thanks for asking and answering.

EDIT: Oh and for informational purposes and for others that may find this thread useful.

In my case, an unexpected shutdown led to the error message in the title of this thread. Then when i boot into debug mode I got something like:

ALERT :

Configuration changes were not saved successfully during previous shutdown.

Please file a problem report including output of vm-support.

The esxcfg-boot commands worked for me.

0 Kudos
ThatVaiGuy
Contributor
Contributor

I've seen people in Linux having a similar issue completely outside of ESX. They were editing files we don't have in ESX and modifying the kernel to solve this problem. These three commands were much much easier.

Thank you so much, these commands and switches worked for me.

I'm putting this in my personal troubleshooting docs and calling it the Peanut ButteR fix.

esxcfg-boot -P

esxcfg-boot -B

esxcfg-boot -R

Sweet!

0 Kudos
schmidty
Contributor
Contributor

Not being a VMWare expert I was a bit wary of using these commands. However, as there were numerous responses from members stating that it works, I gave it a try and it worked perfectly, so I thought I would add my voice to the list.

Thanks all.

0 Kudos