Question:
Comment empêcher le montage automatique d'une partition dans El Capitan
lexu
2016-03-21 14:43:30 UTC
view on stackexchange narkive permalink

Il y a deux partitions de démarrage sur mon MacBook. Un El Capitan fonctionnel et amorçable est installé sur les deux.

Comment puis-je empêcher le montage automatique de la partition2, lors du démarrage à partir de la partition1?

Selon de nombreuses pages que j'ai trouvées via google, cela se fait par éditer fstab via vifs et ajouter la ligne

  UUID = uuid_of_partition2_here none hfs rw, noauto  

Mais ça ne marche pas! La partition est quand même montée!

idk si les espaces sont importants, je n'ai qu'un seul espace entre ces éléments et le mien fonctionne très bien pour empêcher mon lecteur de démarrage cloné d'apparaître.Après cela, peut-être double / triple-vérifier l'UUID
@Tetsujin: changer chaque du fichier en un seul espace a résolu le problème ... si vous écrivez votre commentaire comme réponse, je le marquerai volontiers comme le bon!
Ah, content que ce soit une solution simple.Je vais l'écrire comme une réponse ...
J'ai ce `chmod + x` (exécutable) dans mon répertoire` ~ / bin / `. https://gist.github.com/voltechs/fc48c9683d50c7c03cab2f0a6477d8da
Six réponses:
lexu
2016-03-22 13:26:23 UTC
view on stackexchange narkive permalink

Les commentaires et observations de Tetsujin et user3439894 ont suscité des tests.

Il s'avère qu'il y a plus d'un UUID lorsque vous regardez les lecteurs et les partitions et la commande ' diskutil list ' ne rapporte pas l'UUID qui doit être utilisé dans les commandes vifs / fstab.

  racine% > diskutil info disk1 | grep -e UUID  

Montre qu'il existe des UUID Volume, Disque / Partition, LV, LVF et LVG .. Je ne m'intéresse qu'aux deux premiers!

Quand j'entre dans diskutil list j'obtiens le "Disk / Partition UUID", quand j'entre diskutil info disk1 j'obtiens à la fois le "Disk / Partition UUID" et le "Volume UUID "(et plus ..) J'obtiens aussi le" Nom du volume "(le nom du disque)

Certains tests que j'ai effectués avec le Volume - UUID et le libellé du disque indiquent:

  • l'UUID dans vifs / fstab est le "Volume UUID", n'utilisez pas d'onglets!
  • la commande UUID dans vifs / fstab ne fonctionne pas avec le "Disk / Partition UUID", tab / space ne fait aucune différence ici
  • lors de l'utilisation de la syntaxe "LABEL", don ! t onglets d'utilisation

Voici les deux exemples que je mis au travail:

  UUID = <Volume UUID><SPACE>none<space>rw, noautoLABEL = <Volume Name><SPACE>none<space>rw, noauto  

Vous pouvez trouver le <Volume UUID> et le <Volume Name> de votre disque interne en exécutant

  diskutil info disk1 | grep -e "Volume \ Nom" -e "Volume \ UUID"  

Sur mon système, les informations sur le disque externe apparaissent pour disk2s1 et disk3s1

Bon peu de recherche.Il semblerait, cependant, que plutôt que d'essayer de se rappeler qui peut prendre des tabulations et qui ne le sont pas, la méthode la plus sûre est de toujours utiliser des espaces simples.
Je suis d'accord ... mais l'utilisation des onglets fait s'aligner les éléments, j'ai tendance à les utiliser si jamais je peux m'en tirer (mais pas dans vifs / fstab, apparemment :-)
Il semble qu'il leur manque un champ ... Le type de système de fichiers (hfs, msdos, etc.) est censé suivre le point de montage (qui est «aucun» dans ces exemples).(Voir `man fstab` pour la ventilation des spécifications.)
Volte
2017-12-31 04:26:17 UTC
view on stackexchange narkive permalink

Ce sont toutes d'excellentes réponses (et correctes)!

J'ai pensé partager un petit script / utilitaire que j'utilise pour rendre cela plus facile.

J'ai ce fichier exécutable no_automount dans mon répertoire ~ / bin / . (N'oubliez pas de chmod + x !)

https://gist.github.com/voltechs/fc48c9683d50c7c03cab2f0a6477d8da

  #! / usr / bin / env ruby

# Utilisation: no_automount / Volumes / My \ Disk

diskinfo = `diskutil info '# {ARGV [0]}'` .gsub ("\ n \ n", "\ n"). split ("\ n"). collect do | b |
    b.strip.split (/: \ s + /)
end.to_h

disk_uuid = diskinfo ['UUID du volume']
disk_type = diskinfo ['Type (Bundle)']
disk_name = diskinfo ['Nom du volume']

fstab_filename = '/ etc / fstab'
text = File.read (fstab_filename)

new_contents = text.gsub (/ UUID = # {disk_uuid}. * (:? \ n) /, "")
new_contents << "UUID = # {disk_uuid} none # {disk_type} rw, noauto # # {disk_name}"

File.open (fstab_filename, "w") {| file | file.puts new_contents}
 

Après avoir utilisé le script, si vous sudo vifs vous verrez quelque chose comme ceci (le mien ressemble à ceci).

  #
# Attention - ce fichier ne doit être modifié qu'avec vifs (8)
#
# Le fait de ne pas le faire n'est pas pris en charge et peut être destructeur.
#

UUID = 51C2250E-9CE4-1953-8AF6-3EEDD46F594D aucun ntfs rw, noauto # Windows 10
UUID = 7E55582C-6D91-4148-28C6-208D03071164 aucun ntfs rw, noauto # Stockage Windows
UUID = CF294178-3B0D-4B23-AC72-24D10AAC6735 aucun ntfs rw, noauto # Jeux Windows
 
merci, je vais examiner cela après les célébrations de fin d'année!
J'adore les réponses avec un code auto-exécutable❗️ C'est auto-explicatif
Bruno Bronosky
2019-12-18 09:31:37 UTC
view on stackexchange narkive permalink

Mise à jour pour macOS Mojave et macOS Catalina, etc.

macOS Mojave 10.14 et les versions ultérieures sont plus strictes sur la modification des fichiers système.

La modification de / etc / fstab est fortement déconseillée. Ils ont maintenant ce que vous devez utiliser vifs . J'ai agrégé les informations d'autres réponses et créé un bash oneliner que vous pouvez exécuter et il vous donnera une liste de lignes UUID… noauto que vous pourriez ajouter pour chaque disque. Ensuite, vous avez la liberté de copier la ligne de votre choix puis d'utiliser sudo vifs et de la coller dans le fichier en toute sécurité.

  montage | sed -E '/ \ dev \ / disque /! d; s / ^ ([^] +) [^ /] * ([^ (] +) \ (. * / \ 1: \ 2 / '| while read mount_info; do echo -e "\ n \ nDisk $ {mount_info %%: *} est monté à $ {mount_info ## *:} "> / dev / stderr; sudo diskutil info $ {mount_info %%: *} | grep UUID | tee / dev / stderr | printf '# Pour empêcher l'auto montage de ce disque, ajoutez la ligne suivante à `sudo vifs` \ tUUID =% s none rw, noauto \ n \ n '$ (sort | head -n1 | sed' s /.*: * //; s / * // g; ') | sed' s /.* UUID =. * / <no UUID found> / '| tr' \ t '' \ n '; done
 

C'est un monstre en ligne, je ne veux pas vous ennuyer avec une explication de ce qu'il fait. (Mais si je reçois une demande dans les commentaires, je la mettrai à jour.)

Voici un exemple d'exécution:

  $ mount | sed -E '/ \ dev \ / disque /! d; s / ^ ([^] +) [^ /] * ([^ (] +) \ (. * / \ 1: \ 2 / '| \
  pendant la lecture de mount_info; faire
    echo -e "\ n \ nLe disque $ {mount_info %%: *} est monté sur $ {mount_info ## *:}" > / dev / stderr;
    sudo diskutil info $ {mount_info %%: *} | grep UUID | \
      tee / dev / stderr | \
      printf "$ (echo \
        '# Pour empêcher le montage automatique de ce disque, ajoutez la ligne suivante' \
        'vers `sudo vifs` \ tUUID =% s aucun rw, noauto \ n \ n'
      ) "$ (sort | head -n1 | sed 's /.*: * //; s / * // g;') | \
      sed 's /.* UUID =. * / <no UUID found> /' | \
      tr '\ t' '\ n'
  terminé


Le disque / dev / disk1s5 est monté sur /
   UUID de volume: 066AF3CD-C098-4D28-9C3A-AD6C53A443ED
UUID du disque / partition: 066AF3CD-C098-4D28-9C3A-AD6C53A443ED
# Pour empêcher le montage automatique de ce disque, ajoutez la ligne suivante à `sudo vifs`
UUID = 066AF3CD-C098-4D28-9C3A-AD6C53A443ED aucun rw, noauto



Le disque / dev / disk1s1 est monté sur / System / Volumes / Data
   UUID de volume: 760B55A4-3E55-4FFA-B22D-B48F0D227EEB
   UUID du disque / partition: 760B55A4-3E55-4FFA-B22D-B48F0D227EEB
# Pour empêcher le montage automatique de ce disque, ajoutez la ligne suivante à `sudo vifs`
UUID = 760B55A4-3E55-4FFA-B22D-B48F0D227EEB aucun rw, noauto



Le disque / dev / disk1s4 est monté sur / private / var / vm
   UUID de volume: B6011DF2-6391-4E5C-9A94-D73FF9AB51DC
   UUID du disque / partition: B6011DF2-6391-4E5C-9A94-D73FF9AB51DC
# Pour empêcher le montage automatique de ce disque, ajoutez la ligne suivante à `sudo vifs`
UUID = B6011DF2-6391-4E5C-9A94-D73FF9AB51DC aucun rw, noauto



Le disque / dev / disk1s3 est monté sur / Volumes / Recovery
   UUID de volume: 14EDD79D-0EDA-42B0-A1C4-7B025159146B
   UUID du disque / partition: 14EDD79D-0EDA-42B0-A1C4-7B025159146B
# Pour empêcher le montage automatique de ce disque, ajoutez la ligne suivante à `sudo vifs`
UUID = 14EDD79D-0EDA-42B0-A1C4-7B025159146B aucun rw, noauto



Le disque / dev / disk2s1 est monté sur / Volumes / Install macOS Mojave
   UUID de volume: B14957BD-83D2-3A36-A828-89CF03C7F45A
# Pour empêcher le montage automatique de ce disque, ajoutez la ligne suivante à `sudo vifs`
UUID = B14957BD-83D2-3A36-A828-89CF03C7F45A aucun rw, noauto



Le disque / dev / disk3s2 est monté sur / Volumes / TM Backup
   UUID de volume: 5E0A580C-2894-3529-9B52-3E33BD10DF53
   UUID du disque / partition: 22D06480-5187-48BD-9079-D95D34B0494E
# Pour empêcher le montage automatique de ce disque, ajoutez la ligne suivante à `sudo vifs`
UUID = 22D06480-5187-48BD-9079-D95D34B0494E aucun rw, noauto
 
Bonne idée - mais malheureusement, sur mon système (macOS 10.15.5), cela ne génère qu'une seule entrée même s'il y a 7 volumes montés.
@stef, si vous partagez soit l’essentiel soit un pastebin de la sortie de ‘mount’ sur votre système, je répondrai que je travaillerai également pour la version 10.15.5.Si SO ne vous permet pas de partager le lien, déposez simplement le nom du service et le hachage.Je vous ai compris.
@stef, exécute zsh au lieu de bash?Curieusement, il ne produit que le premier disque en zsh.Je n'ai pas encore compris pourquoi exactement, mais cela fonctionne correctement dans bash.Exécutez simplement `bash` puis exécutez le oneliner!
@BrunoBronosky, vous pourriez envisager de peaufiner votre onliner pour qu'il fonctionne dans zsh car c'est la nouvelle valeur par défaut de Catalina et au-delà.Je n'ai pas encore compris pourquoi il ne produit que la première ligne en zsh, même si je suis sûr que la réponse sera fascinante.
@Chris oui monsieur, zsh comme par défaut avec Catalina.Essayer de bouger avec le temps.J'ai envoyé à Bruno la sortie de mon système, peut-être est-ce utile de retracer l'écart.
Superbe réponse.Ce serait génial si cela fonctionnait avec zsh
Tetsujin
2016-03-21 15:55:18 UTC
view on stackexchange narkive permalink

Il semble que la syntaxe doit utiliser des espaces simples, et non des tabulations, pour être reconnue par le système.

Cela correspondrait à de nombreux processus de ligne de commande; la seule exception qui me vient à l'esprit est le fichier hosts , qui peut utiliser n'importe quelle quantité d'espaces.

Cela donnerait la syntaxe correcte

  UUID = uuid_of_partition2 aucun hfs rw, noauto  

plutôt que

  UUID = uuid_of_partition2 aucun hfs rw, noauto  

... différence subtile mais importante.

Selon la [page de manuel] (https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/fstab.5.html) pour _fstab_ is states, "_Chaque système de fichiers est décrit sur unligne séparée; ** les champs sur chaque ligne sont séparés par des tabulations ou des espaces ** ._ ".Remarque: j'ai ajouté la mise en évidence en gras sur la partie concernée.
Intéressant - cependant, empiriquement, cela ne semble pas être le cas.Était-ce l'homme pour Mac ou Nix?
En guise de test, je viens de modifier mon fichier _fstab_ existant en remplaçant _spaces_ par _tabs_, puis je l'ai branché sur un lecteur qui a trois partitions, dont deux sont configurées pour ne pas monter.Seule la première partition montée, comme il se doit, et les deux qui sont définies pour ne pas monter n'ont pas été montées, même avec _tabs_ étant le séparateur de champ comme indiqué dans la page de manuel.Notez que c'est sous OS X 10.8.5 et que les choses ont peut-être changé sous OS X 10.11.
Si j'ai du temps plus tard, je vais tester sur El Cap, avec des onglets et plusieurs espaces plutôt que simples.Je ne peux pas le faire maintenant car j'ai trop couru en direct.
@user3439894: mon expérience, comme indiqué ci-dessus, est avec El Capitan.Tous les documents que j'ai lus sur Sofar m'ont amené à croire que tab / espace est équivalent. Je ferai des tests plus tard dans la journée.
J'ai fait quelques tests et j'écrirai ce que j'ai trouvé dans une réponse séparée.
"no auto" doit être un seul mot, "noauto" dans les exemples ci-dessus.(ils peuvent être interprétés d'une manière qui fonctionne tels quels, mais ils ne sont pas corrects)
Michael Amie
2016-07-26 10:59:07 UTC
view on stackexchange narkive permalink

Sous OS X 10.11.6, les espaces blancs par rapport aux onglets n'avaient pas d'importance pour moi (j'ai confirmé que j'utilisais les "vrais" onglets en affichant / etc / fstab dans un éditeur hexadécimal et j'ai observé 0x09 pour l'octet de séparateur de champ).

J'ai cependant utilisé vifs , mais d'après ce que je peux dire, cela verrouille simplement l'accès au fichier à / etc / fstab .Également testé avec une nouvelle ligne de début (ligne vide) sous le commentaire du fichier ainsi que la dernière ligne de fstab ne contenant ni nouvelle ligne ni nouvelle ligne (ligne vide sous la dernière entrée de fstab)

L'essentielce qui comptait pour moi était:

  1. Utiliser l’UUID du volume au lieu de l’UUID du disque / partition
  2. La spécification du type de système de fichiers est cruciale (l’exemple lexus manquait)
  3. ol>

    Facteurs non testés:

    1. no auto vs noauto (j'ai utilisé noauto )
    2. Éditeur de texte configuré pour utiliser plusieurs espaces pour les onglets
Pourriez-vous s'il vous plaît développer le «type de système de fichiers».Où dois-je préciser cela?Connaissez-vous la documentation sur ce sujet?
`man fstab` répertorie les systèmes de fichiers pris en charge et décrit les divers" jetons "attendus (mots-clés). Je n'ai posté que parce qu'il semblait que le comportement de fstab était interrompu pendant un certain temps sur El Capitan, mais semble fonctionner comme prévu / documenté à partir d'OS X 10.11.6.
Peter D
2016-11-11 15:13:56 UTC
view on stackexchange narkive permalink

La commande contient un type de système de fichiers à monter.Assurez-vous que si vous ne montez pas un lecteur Apple qui est hfs, remplacez-le par votre type, par exemple ntfs s'il s'agit d'un disque Windows plus récent.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...