Grub s'est cassé après la mise à niveau d'Ubuntu sur Azure VM de 18.04 (LTS) à 20.04 (LTS) → Récupération

introduction

J'ai mis à niveau mon Azure VM Ubuntu 18.04 (LTS) vers 20.04 (LTS) et redémarré, mais je n'ai pas pu me connecter à distance avec SSH indéfiniment.

La console série Azure Portal ne répond pas non plus. Le message suivant s'affiche dans la capture d'écran du diagnostic de démarrage de la machine virtuelle Azure dans le portail Azure.

'grub_file_filters' not found

Grub semble être cassé.

environnement

Procédure de mise à niveau

J'ai mis à niveau vers Ubuntu 18.04 (LTS) de Azure VM par connexion à distance depuis Ubuntu de WSL avec SSH et en suivant la procédure ci-dessous.

  1. Vérifiez et appliquez les mises à jour à l'avance

    $ sudo apt update
    $ sudo apt upgrade
    
  2. Effectuez la mise à niveau

    $ sudo do-release-upgrade
    
  3. Les choix sont basiques y (OUI), toutes les suggestions de mise à niveau acceptées, LXD 4.0

  4. Redémarrez pour terminer la mise à niveau

  5. Impossible de redémarrer ... ('grub_file_filters' introuvable)

Tout d'abord, la collecte d'informations

Je souhaite réinstaller et réparer Grub, mais lorsque je me demandais ce qui s'était passé dans l'environnement Azure VM, j'ai trouvé les informations suivantes de Microsoft.

Linux VM boots to Grub Rescue

Il n'y avait aucune information correspondante dans "Étapes recommandées", j'ai donc suivi le lien.

Comment récupérer une machine virtuelle Azure Linux à partir de problèmes de démarrage liés au noyau

Je pensais qu'il s'agissait de "Méthode 2: Réparation hors ligne" de "Comment mettre à jour le fichier de configuration", alors j'ai regardé le lien.

Troubleshoot a Linux VM by attaching the OS disk to a recovery VM with the Azure CLI

J'ai résolu le problème en créant un disque à partir d'un instantané du disque du système d'exploitation de la machine virtuelle Azure problématique et en le montant sur la machine virtuelle Azure pour réparation, comme décrit dans la section «Présentation du processus de récupération» ci-dessous. Il semble que nous pouvons y aller en revenant à la machine virtuelle Azure d'origine.

  1. Stop the affected VM.

  2. Take a snapshot from the OS disk of the VM.

  3. Create a disk from the OS disk snapshot.

  4. Attach and mount the new OS disk to another Linux VM for troubleshooting purposes.

  5. Connect to the troubleshooting VM. Edit files or run any tools to fix issues on the new OS disk.

  6. Unmount and detach the new OS disk from the troubleshooting VM. Change the OS disk for the affected VM.

Étape 1: Arrêtez la machine virtuelle

Étape 2: prendre un instantané du disque du système d'exploitation de la machine virtuelle affectée

Étape 3: créer un disque à partir d'un instantané

Étape 4-A: créer une machine virtuelle Azure pour monter et réparer le disque

Étape 4-B: connectez le nouveau disque dur virtuel à une autre VM

Étape 5-A: Montez le disque de données connecté

Étape 5-B: Résoudre les problèmes avec les nouveaux disques du système d'exploitation

Étape 6-A: démonter et déconnecter le nouveau disque du système d'exploitation

Étape 6-B: modifier le disque du système d'exploitation de la machine virtuelle affectée

Enfin contrôle de fonctionnement

J'ai confirmé que je pouvais me connecter à distance à la machine virtuelle Azure que j'ai remplacée par le disque réparé via SSH. La mise à niveau vers 20.04 (LTS) est également terminée.

Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-1031-azure x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sat Nov  7 13:14:17 JST 2020

  System load:  0.04               Processes:             139
  Usage of /:   26.2% of 28.90GB   Users logged in:       1
  Memory usage: 61%                IPv4 address for eth0: 10.0.0.5
  Swap usage:   0%

 * Introducing self-healing high availability clustering for MicroK8s!
   Super simple, hardened and opinionated Kubernetes for production.

     https://microk8s.io/high-availability

0 updates can be installed immediately.
0 of these updates are security updates.


Last login: Fri Nov  6 13:55:00 2020 from 133.200.8.0

Supprimez tous les éléments inutiles tels que les instantanés et les disques avant le remplacement.

Si vous souhaitez conserver la machine virtuelle Azure pour réparation, vous pouvez la laisser arrêtée (désallouée) en toute sécurité.

en conclusion

Je suis content d'avoir pu le réparer en conséquence, mais j'aurais dû le sauvegarder avant la mise à niveau.

Recommended Posts

Grub s'est cassé après la mise à niveau d'Ubuntu sur Azure VM de 18.04 (LTS) à 20.04 (LTS) → Récupération
Migrer Ubuntu 18.04 LTS du disque dur vers un SSD plus petit
Comment installer plusieurs JDK sur Ubuntu 18.04 LTS
Apache2 sur Ubuntu20.04 LTS
[Note] Flux de l'installation de docker au démarrage de JupyterLab sur ubuntu
Comment installer java9 sur elementaryOS Freya ou Ubuntu 14.04 LTS
Utilisez un point d'accès virtuel avec Ubuntu 18.04 LTS pour faire de l'ancien iPad un sous-moniteur
Construire WebGIS sur Ubuntu20.04 LTS
Enregistrer une vidéo sur ubuntu18.04LTS
Installation d'OpenMX sur Ubuntu 18.04.5 LTS
Installez WordPress 5.5 sur Ubuntu 20.04 LTS