

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Résolution des problèmes liés au démarrage d'une instance Linux Amazon EC2 à partir d'un volume incorrect
<a name="instance-booting-from-wrong-volume"></a>

Dans certaines situations, un volume autre que le volume attaché à `/dev/xvda` ou `/dev/sda` devient le volume racine d'une instance Linux. Cela peut arriver lorsque vous avez attaché le volume racine d’une autre instance, ou un volume créé à partir de l’instantané d’un volume racine, à une instance avec un volume racine existant.

Ceci est dû à la façon de fonctionner du ramdisk initial dans Linux. Il choisit le volume définit comme `/` dans le fichier `/etc/fstab`, et dans certaines distributions. Ceci est déterminé par l’étiquette attachée à la partition du volume. Plus spécifiquement, vous trouvez que le fichier `/etc/fstab` ressemble à ce qui suit : 

```
LABEL=/ / ext4 defaults,noatime 1 1 
tmpfs /dev/shm tmpfs defaults 0 0 
devpts /dev/pts devpts gid=5,mode=620 0 0 
sysfs /sys sysfs defaults 0 0 
proc /proc proc defaults 0 0
```

Si vous vérifiez l’étiquette des deux volumes, vous verrez qu’ils contiennent tous les deux l’étiquette `/` : 

```
[ec2-user ~]$ sudo e2label /dev/xvda1 
/ 
[ec2-user ~]$ sudo e2label /dev/xvdf1 
/
```

Dans cet exemple, `/dev/xvdf1` pourrait devenir le volume racine sur lequel votre instance démarre après l’exécution du ramdisk initial, au lieu du volume `/dev/xvda1` à partir duquel vous aviez l’intention de démarrer. Pour résoudre ce problème, utilisez la même commande **e2label** pour changer l’étiquette du volume attaché à partir duquel vous ne souhaitez pas démarrer.

Dans certains cas, spécifier un UUID dans `/etc/fstab` peut résoudre ce problème. Cependant, si les deux volumes proviennent du même instantané ou si le deuxième est créé à partir d’un instantané du volume principal, ils partagent un UUID.

```
[ec2-user ~]$ sudo blkid 
/dev/xvda1: LABEL="/" UUID=73947a77-ddbe-4dc7-bd8f-3fe0bc840778 TYPE="ext4" PARTLABEL="Linux" PARTUUID=d55925ee-72c8-41e7-b514-7084e28f7334 
/dev/xvdf1: LABEL="old/" UUID=73947a77-ddbe-4dc7-bd8f-3fe0bc840778 TYPE="ext4" PARTLABEL="Linux" PARTUUID=d55925ee-72c8-41e7-b514-7084e28f7334
```

**Pour changer l’étiquette d’un volume ext4 attaché**

1. Utilisez la commande **e2label** pour remplacer l’étiquette du volume par autre chose que `/`.

   ```
   [ec2-user ~]$ sudo e2label /dev/xvdf1 old/ 
   ```

1. Vérifiez que le volume possède la nouvelle étiquette.

   ```
   [ec2-user ~]$ sudo e2label /dev/xvdf1 
   old/
   ```

**Pour changer l’étiquette d’un volume xfs attaché**
+ Utilisez la commande **xfs\$1admin** pour remplacer l’étiquette du volume par autre chose que `/`.

  ```
  [ec2-user ~]$ sudo xfs_admin -L old/ /dev/xvdf1
  writing all SBs
  new label = "old/"
  ```

Après avoir modifié l’étiquette du volume comme indiqué, vous devriez pouvoir redémarrer l’instance et avoir le bon volume sélectionné par le ramdisk initial lorsque l’instance démarre.

**Important**  
Si vous prévoyez de détacher le volume avec la nouvelle étiquette et de le renvoyer vers une autre instance pour l’utiliser comme volume racine, vous devez ré-exécuter la procédure ci-dessus et réattribuer à l’étiquette du volume sa valeur d’origine. Sinon, l’autre instance ne démarre pas, car le ramdisk ne peut pas trouver le volume avec l’étiquette `/`.