web-dev-qa-db-fra.com

Le symbole 'grub_file_filters' est introuvable sur Kali Linux VM

Après la mise à jour apt-get; La mise à niveau apt-get a réussi sur ma machine virtuelle Kali Linux, a redémarré pour terminer certaines installations et a été mise en mode de secours grub.

À la rescousse des vers blancs>

ls, renvoie:

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

set, renvoie:

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

J'ai exécuté ls sur (hd0)/boot, (hd0, msdos1)/boot, (hd0, msdos5)/boot, et confirmé les résultats des images de démarrage uniquement sur (hd0, msdos1)

insmod linux, retourne l'erreur grub suivante:

symbol 'grub_file_filters' not found 

Je voulais voir où grub cherche, alors essayé insmod kali qui a renvoyé:

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

Par conséquent, il semble que le module Linux soit trouvé avant que j'obtienne l'erreur.

D'après les recherches, j'ai constaté que cette erreur est liée au système de fichiers/périphérique USB, mais comme il s'agit d'une image virtuelle (et que je suis sur VirtualBox), je ne sais pas comment la corriger.

Pas de problème pour réinstaller à partir de zéro mais curieux de cette erreur et de ce à quoi elle fait référence/comment elle peut être résolue.

Merci pour tout aperçu

Note supplémentaire: Ceci est la sortie sur mon écran à partir du moment où je démarre le VM et après avoir exécuté certaines des commandes ls mentionnées ci-dessus)

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> 
4
AlexiaK

Ce qui a fonctionné pour moi sur OSX, c'est de combiner la réponse de Daniel Simon et le commentaire de ddburrjr.

  1. Téléchargez une nouvelle image .iso depuis la page Web officielle de Kali Linux.
  2. Démarrez VirtualBox et ouvrez les paramètres de la machine virtuelle Kali Linux. Ajoutez l'image iso téléchargée dans la "page de stockage" en tant que cd virtuel. Comment? Sélectionnez "Controller: IDE" et appuyez sur le bouton CD à droite, "choisissez le disque", puis sélectionnez le fichier .iso téléchargé.
  3. Appuyez sur F12 pendant le démarrage et appuyez sur "C" pour démarrer à partir de CD_ROM
  4. Sélectionnez 'Live (AMD64)' dans le menu de démarrage pour exécuter Kali Linux à partir du fichier .iso.
  5. Suivez ces instructions https://www.youtube.com/watch?v=5spKO02G5v4
  6. Terminé! Kali Linux redémarre à partir du disque dur virtuel
2
IanD

J'ai rencontré un problème similaire lorsque j'ai essayé de démarrer une image grub créée manuellement (avec la commande grub-mkimage) après la mise à jour de mon GRUB sur ArchLinux. Dans mon cas, la réinstallation de GRUB sur la partition/boot a résolu le problème.

Parce que votre système d'exploitation complet ne démarre pas, je vous recommande de démarrer une image en direct de Kali et de réinstaller le chargeur de démarrage à partir de là, après avoir effectué une sauvegarde de l'installation actuelle du chargeur de démarrage (par exemple pour vous assurer de conserver votre fichier de configuration d'origine).

Une raison possible du problème pourrait être que les modules GRUB essayé de charger appartiennent à la version précédente de GRUB alors que l'image ne le fait pas).

Instructions:
1. Téléchargez une nouvelle image à partir de la page Web officielle de Kali Linux.
2. Démarrez VirtualBox et ouvrez les paramètres de la machine virtuelle Kali Linux.
2.1 Ajoutez l'image iso téléchargée dans la 'page de stockage' en tant que cd virtuel.
2.2 Modifiez l'ordre de démarrage dans l'onglet 'système' afin que le VM démarre à partir de l'optique en premier.
3. Démarrez votre machine virtuelle et démarrez l'image en mode direct. 4. Montez la partition de démarrage dans un dossier (par exemple/mnt) et copiez le dossier grub vers une autre destination. S'il n'y a pas de partition de démarrage, les fichiers doivent résider dans votre partition principale à l'intérieur du dossier de démarrage. Dans ce cas, montez la partition principale et ignorez les étapes 5 et 6.
5. Démontez à nouveau la partition de démarrage et montez votre partition principale (avec les dossiers/home,/etc,/boot, ...) à ce point.
6. Montez à nouveau la partition de démarrage dans le dossier/boot sous votre point de montage de la partition principale. La structure devrait ressembler à ceci:

/mnt/ (mount folder of main partition)
  etc/
  home/
  boot/ (mount folder of boot partition)
    grub/
    (other boot files)
  (other folders)
  1. Remplacez la racine par les fichiers OS montés avec la commande chroot.
  2. Réinstallez grub avec grub-install /dev/sdX commande où X est le descripteur de votre appareil sur lequel Kali Linux est installé. Vous ne devez pas fournir le --boot-directory paramètre car vous avez changé votre racine en OS installé. Si vous devez fournir un autre paramètre, consultez la page de manuel de la commande grub-install.
  3. Exécutez le grub-mkconfig -o /boot/grub/grub.cfg pour créer un nouveau fichier de configuration pour grub. Cette commande devrait détecter l'installation de Kali Linux.
  4. Laissez la racine modifiée avec exit et démontez toutes les partitions.
  5. Arrêtez la machine virtuelle.
  6. Modifiez l'ordre de démarrage à la configuration précédente ou désactivez le démarrage à partir des disques optiques.
  7. Démarrez votre machine virtuelle. Si tout a fonctionné comme prévu, Kali Linux et GRUB devraient démarrer comme toujours.

Si une commande n'est pas installée ou introuvable, essayez d'abord de l'exécuter avec Sudo et si elle n'est toujours pas là, essayez de l'installer avec apt-get install [name].

Remarque importante:
Actuellement j'utilise ArchLinux (comme je l'ai dit ci-dessus) et il est donc difficile de fournir un manuel détaillé sur la façon de réinstaller grub avec une autre distribution sur une configuration inconnue.
Je vous recommande de vous informer un peu sur les commandes utilisées avant de les exécuter pour vous assurer qu'elles fonctionnent bien avec votre configuration.
En plus de cela, car vous utilisez une machine virtuelle, je vous recommande de créer un instantané avant de suivre ces instructions.

0
Daniel Simon