One of my ubuntu 12.04 is a vm on vmware ESXi host. It has separate boot and root partition. One developer did fsck on the live root partition by mistake and this vm can only boot to initramfs mode with some errors - "/proc is not found". My understanding is root partition inode table was damaged causing read error. This might be fixed by fsck the root partition. Since I don't have access to the ESXi host directly( I can't mount this VM root partition from another host), the only option is using the grub to boot vm with nfs root partition. Here is what I did:
The grub version is 1.99-21ubuntu3.14
grub> set
?=0 color_highlight = .. color.. default=0 feature_timeout_style=y have_grubenv=true linux_gfx_mode=text menu_color_hi... menu_color_normal.. pager=1 prefix=(hd0,msdos1)/grub recordfail=1 root=hd0,msdos1
grub> insmod normal
grub> lsmod <=there is no NFS in lsmod output
Name... minicmd linux vbe video_fb mmap relocator help ls affs afs afs_be befs befs_be btrfs lzopio cpio fat hfs hfsplus iso9660 jfs .. pxe lvm ..
grub>ls (hd0,1)/ <=from output, it seems my /boot partition is not damaged and all kernel/initrd files are accessible
abi-2.6.32-38-server vmcoreinfo-2.6.32-38-server config.. system.map-... grub/ abi-.. initrd.img-.. vmlinuz-... memtest.. vmlinuz.. grub> linux /vmlinuz root=/dev/nfs nfsroot=:/opt/shares/boot ip= <=here I am trying to set the nfsroot with following error
error: no such disk.
grub> linux (hd0,1)/vmlinuz-3.2.0-30-generic root=/dev/nfs nfsroot=:/opt/shares/boot ip=
grub> initrd (hd0,1)/initrd.img-3.2.0-30-generic
grub> boot
.....after a while with booting message
ALERT! /dev/nfs does not exist. Dropping to a shell! busyBox v1.18.5.... (initramfs)
Is it possible to set the nfsroot from grub? Is above failure related to no nfs module in "lsmod" output in grub? Maybe there is better way to fsck root partition without doing the nfsroot? It seems the version I am using doesn't have bootp or tftpboot command, which give me the option to point to the boot server.
My next step is using wget@initramfs mode, grab the new netboot vmlinuz and initrd.img. Hope it will include the nfs module.
Thanks in advance!
carl
I recovered my instance with the updated initrd.img, which has the nfs module built in. After that, I am able to netboot the system. Then fsck the lvm and system is back to normal.
cheers,
carl