Kali Linux VM – Symbol ‘grub_file_filters’ Not Found

grubkali-linuxvirtual machinevirtualbox

After apt-get update; apt-get upgrade successfully on my Kali Linux VM, restarted to finish some installations and was taken to grub rescue mode.

On grub rescue >

ls, returns:

(hd0) (hd0,msdos1) (hd0,msdos5)

set, returns:

cmdpath=(hd0)
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1

I ran ls on (hd0)/boot, (hd0,msdos1)/boot, (hd0,msdos5)/boot, and confirmed results of bootable images only on (hd0,msdos1)

insmod linux, returns following grub error:

symbol 'grub_file_filters' not found 

Wanted to see where grub is looking so tried insmod kali which returned:

/boot/grub/i386-pc/kali.mod not found

Hence it seems that the linux module is found before I get the error.

From research, found that this error is filesystem/USB device related but since this is a Virtual image (and I'm on VirtualBox) I am unsure of how to fix it.

No problem in installing again from scratch but curious about this error and what it is referring to / how it can be resolved.

Thanks for any insights

Additional Note:
This is the output on my screen from the moment I boot the VM and after I execute some of the ls commands mentioned above

error: symbol ‘grub_file_filters’ not found. 
Entering rescue mode... 
grub rescue> ls 
(hd0) (hd0,msdos5) (hd0,msdos1) 
grub rescue> ls (hd0) 
(hd0): Filesystem is unknown. 
grub rescue> ls (hd0,msdos5) 
(hd0,msdos5): Filesystem is unknown. 
grub rescue> ls (hd0,msdos1) 
(hd0,msdos1): Filesystem is ext2. 
grub rescue> ls (hd0)/boot
error: unknown filesystem
grub rescue> ls (hd0,msdos5)/boot
error: unknown filesystem
grub rescue> ls (hd0,msdos1)/boot
./ . ./ System.map-4.18.0-kali2-amd64 config-4.18.0-kali2-amd64 
initrd.img—4.18.0-kali2-amd64 vmlinuz-4.18.0-kali2-amd64 
grub/ config-4.19.0-kali5-amd64 vmlinuz-4.19.0-kali5-amd64 
System.map-4.19.0-kali5-amd64 initrd.img-4.19.0-kali5-amd64
grub rescue> 

Best Answer

What worked for me on OSX is combining Daniel Simon's answer and ddburrjr's comment.

  1. Download a fresh .iso image from the official web page of Kali Linux.
  2. Start VirtualBox and open the settings for the Kali Linux virtual machine. Add the downloaded iso image in the 'storage page' as a virtual cd. How? Select 'Controller: IDE' and press CD button on the right, 'choose disk' and then select the downloaded .iso file.
  3. Press F12 during boot and press 'C' to to boot from CD_ROM
  4. Select 'Live (amd64)' in the Boot menu to run Kali Linux from .iso file.
  5. Follow these instructions https://www.youtube.com/watch?v=5spKO02G5v4
  6. Done! Kali Linux boots up again from virtual harddrive
Related Question