Skip to content

Instantly share code, notes, and snippets.

@gwang
Last active May 23, 2022 18:34
Show Gist options
  • Save gwang/460da94972fa89440f51 to your computer and use it in GitHub Desktop.
Save gwang/460da94972fa89440f51 to your computer and use it in GitHub Desktop.
Use grub to fix boot failure of virtualbox Ubuntu guest
  1. Refer to this tutorial

  2. Commands:

    grub> set pager=1
    grub> ls
    (hd0) (hd0,msdos2) (hd0,msdos1)
    grub> ls (hd0,1)/
    lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/  lib/
    lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ 
    srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old 
    initrd.img initrd.img.old
    grub> cat (hd0,1)/etc/issue
    Ubuntu 14.04 LTS \n \l
    grub> set root=(hd0,1)
    grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
    grub> initrd /boot/initrd.img-3.13.0-29-generic
    grub> boot
    
  3. After reboot, fix the grub permenantly:

    # update-grub
    Generating grub configuration file ...
    Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
    Found background image: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
    Found linux image: /boot/vmlinuz-3.13.0-29-generic
    Found initrd image: /boot/initrd.img-3.13.0-29-generic
    Found linux image: /boot/vmlinuz-3.13.0-27-generic
    Found initrd image: /boot/initrd.img-3.13.0-27-generic
    Found linux image: /boot/vmlinuz-3.13.0-24-generic
    Found initrd image: /boot/initrd.img-3.13.0-24-generic
    Found memtest86+ image: /boot/memtest86+.elf
    Found memtest86+ image: /boot/memtest86+.bin
    done
    # grub-install /dev/sda
    Installing for i386-pc platform.
    Installation finished. No error reported.
    
  4. If you're in the GRUB rescue shell the commands are different, and you have to load the normal.mod andlinux.mod modules:

    grub rescue> set prefix=(hd0,1)/boot/grub
    grub rescue> set root=(hd0,1)
    grub rescue> insmod normal
    grub rescue> normal
    grub rescue> insmod linux
    grub rescue> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
    grub rescue> initrd /boot/initrd.img-3.13.0-29-generic
    grub rescue> boot
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment