How to fix "error: unknown filesystem. grub rescue> [duplicate]

I get this error:

Error: unknown filesystem.
grub rescue>

I'm not exactly sure what I did. I believe I installed Ubuntu over Windows on my Acer netbook. I then tried to install Linux Mint, but it wouldn't start installing.

I turned the netbook off and back on. Now I get the error.

I have read a lot of other questions like this, but in my case I cannot boot a CD. If I put a Ubuntu CD or a Linux Mint CD into my external CD/DVD drive and change my BIOS to boot the CD-ROM first, it just gives me the same error screen.

Update copied from comment dated 2012-05-26 02:54:29Z

Here are some results from my commands:

grub rescue>ls (hd0) (hd0,msdos5) (hd0,msdos1) 
grub rescue>ls (hd0,msdos5) unknown filesystem 
grub rescue>ls (hd0,msdos1) unknown filesystem 
grub rescue>ls (hd0) unknown filesystem 

The following solved the issue for me, I have Windows 7 & Ubuntu 10.04. After running the following commands I don't need to run these every time and am able to boot both the OS normally:

set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal

Now once you boot into Ubuntu, run the following two commands as well:

sudo update-grub
sudo grub-install /dev/sda

Note: /dev/sda is drive where you want your GRUB installed, it can be /dev/sdb or something else, but is usually /dev/sda

Take into consideration that the hd0 could be X (0,1,2..) depending on the order of disks and the 6 could be also different, it could be (hd0,gpt7), for example.


First boot into Ubuntu from an ISO image.

  1. Locate the Ubuntu partition and the folder containing the GRUB modules.

    The GRUB folder containing the modules must be located so the correct modules can be loaded. This folder would have been created during the initial installation of Ubuntu and should be located in the Ubuntu partition. This folder would normally be located at either (hdX,Y)/boot/grub or (hdX,Y)/usr/lib/grub/i386-pc. Find your existing Ubuntu partition and the module folder.

    ls                               # List the known drives (hdX) and partitions (hdX,Y)
    ls (hdX,Y)/                      # List the contents of the partition's root
    ls (hdX,Y)/boot/grub             # Normal location of the Grub 2 modules.
    ls (hdX,Y)/usr/lib/grub/i386-pc  # Alternate location of the Grub 2 modules.
    
    • ls - should return all known drives (hdX) and partitions (hdX,Y)
    • ls (hdX,Y)/ - should show the contents of the root directory of the partition.
    • If you get an "error: unknown filesystem" this is not your Ubuntu partition.
    • If this is the Ubuntu partition, you will see the Ubuntu folders, including lost+found/, home/, boot/ and vmlinuz and initrd.img. Use this address as the first part of the next command.
    • ls (hdX,Y)/boot/grub - should display several dozen *.mod files. This is the folder you are looking for.
    • If you don't find the modules, try the alternate location: ls (hdX,Y)/usr/lib/grub/i386-pc
  2. Load the modules.

    set prefix=(hdX,Y)/<path to modules>
    
    • This command must correctly point to the folder containing the GRUB modules. The address should be the one in the previous section which displayed the modules.

    Examples:

    set prefix=(hd0,5)/boot/grub 
    set prefix=(hd1,1)/usr/lib/grub/i386-pc
    
    • Load modules:

      insmod linux
      insmod loopback
      insmod iso9660
      insmod fat        # If ISO is located on fat16 or fat32 formatted partition.
      insmod ntfs       # If ISO is located on an NTFS formatted partition.
      insmod nftscomp   # If NTFS compression is used on the partition. Load if you aren't sure.
      
    • A "file not found" error means that the path in the prefix is incorrect or the specific module does not exist. The prefix setting may be reviewed with the set command. Rerun the "set prefix=" command with the proper path.

  3. Locate the Ubuntu ISO file.

    • Using the combinations of ls commands, locate the Ubuntu ISO image.
  4. Create the loopback device.

    loopback loop (hdX,Y)/<path to ISO>/<ISO-name.iso>
    
    • Example:

      loopback loop (hd1,1)/path/to/ubuntu-10.04.1-desktop-i386.iso
      
  5. Load the Linux kernel and initrd image.

    set root=(loop)
    linux /casper/vmlinuz boot=casper iso-scan/filename=/<ISO-name.iso> noprompt noeject
    initrd /casper/initrd.lz
    
    • If the path to the ISO or filename is not correct, the boot will halt at the BusyBox screen and produce a message stating "can't open /dev/sr0: No medium found".
    • Note: If the ISO file is not in the / folder, include the path in the iso-scan/filename= entry. See second example.
    • Examples:

      linux /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04.1-desktop-i386.iso
      linux /casper/vmlinuz boot=casper iso-scan/filename=/my-iso/ubuntu-10.04.1-desktop-i386.iso
      
  6. Boot.

    That should be it. If the commands ran without any messages/errors, the commands were accepted as entered. It's now time to boot:

    boot
    

Further information is in forum post HOWTO: Boot & Install Ubuntu from the Grub Rescue Prompt

Now do this after booting:

How to fix: error:unknown file system grub rescue? is post with the same problem and is solved as below,

  1. sudo mount /dev/sdaX /mnt

    Here, sdaX is your boot partition. You can get a list with sudo blkid like this,

    /dev/sda1: LABEL="Windows XP" UUID="96A4390DA438F0FB" TYPE="ntfs" 
    /dev/sda3: LABEL="Ubuntu 11.04" UUID="b61fcae3-7744-45b4-95b9-7528d50a3652" TYPE="ext4" 
    /dev/sda5: LABEL="Se7en" UUID="A2DC9D71DC9D4109" TYPE="ntfs" 
    /dev/sda6: LABEL="Development" UUID="DEB455A1B4557CC9" TYPE="ntfs" 
    /dev/sda7: LABEL="EXTRA" UUID="D8A04109A040F014" TYPE="ntfs" 
    /dev/sda8: LABEL="SONG" UUID="46080FCD080FBAC7" TYPE="ntfs" 
    /dev/sda9: LABEL="BACKUPS" UUID="766E-BC99" TYPE="vfat" 
    

    Note: sdaX must be Linux partition.

  2. sudo grub-install --boot-directory=/mnt/boot /dev/sda

  3. sudo update-grub


Boot your system from the Ubuntu Live CD and try this, it worked wonders for me.

  • Ubuntu Boot Repair Utility

Before reading: The answer below is meant for Ubuntu users who have just updated/recovered/reinstalled/installed OS X. It's likely that the answer will work if this isn't the case (for example, if there are any inconsistencies in your partition table), but I'm not sure.

For me, this happened after updating to OS X Mavericks (10.9). Basically what may have happened is that OS X created a recovery partition ("Recovery HD") that the system only detects sometimes. For example, GParted in Ubuntu will see the recovery partition fine, but when listing the partitions in terminal (fdisk -l), you may not see the partitions.

Diagnosing the issue: Did the OS X update/format/recovery cause this problem?

In order to diagnose that this is indeed the case, first use GRUB rescue to boot into Ubuntu. In order to do this, follow this page or see if any of the other answers on this question can get you into Ubuntu. For me, running the below commands temporarily allowed me to boot the correct partition. Depending on how your hard drives and partitions are set up, it may vary:

grub rescue> set prefix=(hd0,6)/boot/grub
grub rescue> insmod normal
grub rescue> normal

Now, log in to Ubuntu and check GParted. If you see the recovery partition, open up a terminal and type fdisk -l to see if that detects the recovery partition. If it doesn't list the same partitions, check the device/partition column and see if those also don't match up (for example, in GParted your boot partition may be /dev/sda4, but it is /dev/sda3 when running fdisk). If this is the case, keep reading. If it's not, it looks like your partitions are lined up correctly. You can either choose to keep reading and follow the instructions (which, if GRUB was working before the restore/reinstall/etc..., this should work properly), or just reinstall GRUB on the right partition.

Fixing it by removing/merging the recovery partition

To fix this issue, what we want to do is get rid of the recovery partition - it's causing issues and inconsistencies, and removing it shouldn't cause damage. Ideally you want to merge it with the normal HFS+ OS X partition, so follow this question and answer here. After merging, GRUB should be back to normal.


This happened to me after I delete a partition that was located before the /boot partition.

To fix it, I ran an Ubuntu live USB stick, mounted the root partition to /mnt and the boot partition to /mnt/boot, and I ran this command (replace /dev/sda with the correct hard disk):

sudo grub-install --root-directory=/mnt --boot-directory=/mnt/boot /dev/sda