Montez un disque externe au démarrage uniquement s'il est branché

54

J'ai une entrée pour un disque dur externe dans mon fstab:

UUID="680C0FE30C0FAAE0" /jgdata ntfs noatime,rw

Parfois, ce lecteur n’est pas branché au démarrage. Cela me laisse à mi-chemin dans un démarrage, avec une invite à "Continuer à attendre, appuyez sur S ou appuyez sur M" mais aucune touche n'a d'effet à ce stade (y compris Ctrl - Alt - Supprimer , même pas le verrouillage des majuscules).

À moins d'écrire un script pour vérifier la sortie de fdisk -l , comment puis-je monter ce lecteur au démarrage uniquement s'il est présent? Il serait utile d'avoir une entrée fdisk pour ce lecteur, donc je peux simplement taper mount /jgdata au lieu d'avoir besoin d'un nom de périphérique.

    
posée Jeremy 22.11.2010 - 07:12
la source

6 réponses

46

Vous êtes tous sur la bonne piste. J'ai trouvé un moyen un peu plus propre et de meilleure forme.

L'option correcte à ajouter dans fstab est nofail , cependant, elle doit venir après auto . Si vous le modifiez en noauto , il ne montera jamais lors du démarrage. Si vous ajoutez nobootwait au chargeur de démarrage, vous risquez de manquer quelque chose de grave, par exemple de monter la partition avant que fsck ne la vérifie ou de ne pas monter de partition utilisée dans le processus de démarrage.

Après avoir apporté les modifications ci-dessus, le système démarrera normalement (et montera le volume) si le périphérique est branché pendant que le système est arrêté. Il démarrera aussi normalement si le périphérique n’est pas présent au démarrage.

Le seul inconvénient est que si vous connectez le périphérique pendant que le système est en cours d'exécution, en fonction de la configuration (trop de variables à tester), le périphérique risque de ne pas être installé immédiatement. Cela peut être résolu avec un simple mount -a ou mount /specific_device ou un redémarrage.

    
réponse donnée Bryan Gonzalez 29.12.2012 - 07:08
la source
13

l'option noauto permet-elle au processus de démarrage de continuer?

il ne monte pas automatiquement s'il est présent, mais il le fait savoir s'il est présent, donc un simple mount / jgdata fonctionne ... alors un montage / jdata scripté n'aurait pas besoin d'un contrôle de sortie, attrapez simplement l'erreur et restez démarrage

edit: après quelques lectures supplémentaires, bootwait est probablement une option plus correcte pour passer ... (généralement utilisée pour les partages réseau qui pourraient ne pas être présents plus tard dans le processus de démarrage, mais cela pourrait toujours provoquer un blocage, idk)

et le script de montage pourrait être ajouté comme suit: lien

    
réponse donnée RobotHumans 22.11.2010 - 08:10
la source
11

J'ai eu le même problème - j'ai fait une étape supplémentaire

Si vous utilisez l’option nofail dans /etc/fstab , le système recherchera votre disque (et votre partition) au démarrage. Si le périphérique est branché, le système de fichiers sera monté. Sinon, le démarrage se poursuivra normalement.

Voir arch wiki: lien

Exemple

UUID=XXXXXXXXXXXXXXX    /myhdd ntfs  nofail,auto,noatime,rw,user    0   0

J'ai essayé de démarrer le système avec et sans le périphérique branché, et ça marche bien.

Ce que je n’ai pas réussi à faire, c’est de monter automatiquement quand le disque est branché après le démarrage (quand il n’est pas branché au démarrage). Je dois utiliser mount -a comme root pour tout remonter.

    
réponse donnée user898384 29.01.2012 - 18:56
la source
1

La méthode recommandée pour monter au démarrage consiste à donner des instructions au système via le fichier fstab . En regardant votre Ask, je peux voir que vous y êtes presque, il ne manque que l’instruction qui définit le périphérique pour utiliser les options de montage automatique, ce qui permet à votre système de monter le périphérique dès qu’il est disponible.

Il suffit donc de réécrire la ligne dans votre fstab pour être comme ci-dessous:

# <file system>           <dir>       <type>    <options>         <dump> <pass>
UUID="680C0FE30C0FAAE0"   /jgdata      ntfs      user,auto,rw       0     0

Après le changement et enregistrez-le, essayez de le monter à la main:

  

$ sudo mount -a

Il est important de noter que:

  1. vous devez être sûr de l’UUID du périphérique. Les UUID sont générés par les utilitaires make-filesystem (mkfs. *) Lorsque vous créez un système de fichiers.
  2. Ces <options> doivent être écrits selon un format très spécifique, séparés par des virgules mais sans espaces après chaque virgule. Soyez prudent avec ceci; -)
  3. Je ne suis pas sûr que cela fonctionne correctement, car vous essayez de monter automatiquement un système de fichiers NTFS, qui peut être manipulé à l'aide de NTFS-3G . utilitaires. Bien que mes instructions soient supposées fonctionner correctement, je n'ai jamais essayé le montage automatique de NTFS auparavant. Donc, en cas d'échec, je vous recommande de consulter cette montage de partitions Windows pour d'autres utilisations de NTFS.

Merci!

    
réponse donnée crncosta 22.11.2010 - 17:50
la source
0

J'ai le même problème. J'ai édité fstab pour commenter l'entrée quand je sais que je ne vais pas avoir le lecteur présent la prochaine fois que je démarre. Ensuite, quand j'ai le disque présent, je modifie simplement fstab pour supprimer le commentaire et émettre le montage -a. Ce n'est pas une solution parfaite. Ce serait formidable si je pouvais trouver un moyen pour que le système installe automatiquement le lecteur s'il est présent ou s'il le saute automatiquement s'il n'est pas présent. Le même problème se produit si vos partages NFS sont montés automatiquement et que le serveur est absent.

    
réponse donnée Detonate 22.11.2010 - 15:24
la source
0
/dev/xvdh1 /myfs xfs defaults,nofail,x-systemd.device-timeout=30 0 0

a travaillé pour moi.

nofail ... Ne signalez pas d'erreurs pour cet appareil s'il n'existe pas.
x-systemd.device-timeout = 30 ... Le démarrage prendra 30 secondes de plus si l'appareil n'existe pas (la valeur par défaut est 90 secondes).

Source: lien

    
réponse donnée user313829 23.04.2018 - 00:12
la source

Lire d'autres questions sur les étiquettes