5 votes

Comment empêcher le montage automatique d'une partition dans El Capitan ?

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

Comment empêcher le montage automatique de la partition 2 lorsque l'on démarre à partir de la partition 1 ?

D'après les nombreuses pages que j'ai trouvées sur Google, cela se fait en éditant fstab via vifs et en ajoutant la ligne suivante

UUID=uuid_of_partition2_here       none    hfs     rw,noauto

Mais cela ne fonctionne pas ! La partition est montée de toute façon !

5voto

lexu Points 213

Les commentaires et observations de Tetsujin et de l'utilisateur 3439894 ont donné lieu à quelques tests.

Il s'avère qu'il y a plus d'un UUID lorsque l'on considère les lecteurs et les partitions et que l'élément ' liste diskutil La commande ' n'indique pas l'UUID qui doit être utilisé dans les commandes vifs/fstab.

  root %> diskutil info disk1 | grep -e UUID

Montre qu'il y a des UUID de volume, de disque/partition, de LV, LVF et LVG. Seuls les deux premiers m'intéressent !

Lorsque j'entre liste diskutil J'obtiens le "Disk / Partition UUID", lorsque je saisis diskutil info disk1 J'obtiens à la fois le "Disk / Partition UUID" et le "Volume UUID" (et plus ) J'obtiens également le "Volume Name" (l'étiquette du disque)

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

  • l'UUID dans vifs/fstab est le "Volume UUID", n'utilisez pas de tabulations !
  • la commande UUID dans vifs/fstab ne fonctionne pas avec le "Disk / Partition UUID", tabulation/espace ne fait pas de différence ici
  • lorsque vous utilisez la syntaxe "LABEL", n'utilisez pas de tabulations !

Voici les deux exemples que j'ai fait fonctionner :

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

LABEL=<Volume Name><SPACE>none<space>rw,noauto

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

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

Sur mon système, les informations sur les disques externes apparaissent pour disk2s1 et disk3s1.

3voto

AdrianoFerrari Points 874

Ces réponses sont toutes excellentes (et correctes) !

J'ai pensé partager un petit script/utilité que j'utilise pour faciliter les choses.

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

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

#!/usr/bin/env ruby

# Usage: 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['Volume UUID']
disk_type = diskinfo['Type (Bundle)']
disk_name = diskinfo['Volume Name']

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).

#
# Warning - this file should only be modified with vifs(8)
#
# Failure to do so is unsupported and may be destructive.
#

UUID=51C2250E-9CE4-1953-8AF6-3EEDD46F594D none ntfs rw,noauto # Windows 10
UUID=7E55582C-6D91-4148-28C6-208D03071164 none ntfs rw,noauto # Windows Storage
UUID=CF294178-3B0D-4B23-AC72-24D10AAC6735 none ntfs rw,noauto # Windows Games

3voto

Bruno Bronosky Points 541

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

MacOS Mojave 10.14 et les versions ultérieures sont plus strictes en ce qui concerne la modification des fichiers système.

Édition /etc/fstab est fortement déconseillée. Ils vous proposent maintenant d'utiliser vifs . J'ai rassemblé les informations des autres réponses et j'ai créé un fichier bash oneliner que vous pouvez lancer et qui vous donnera une liste de UUID…noauto lignes que vous pourriez ajouter pour chaque disque. Vous avez ensuite la liberté de copier la ligne de votre choix et d'utiliser ensuite sudo vifs et le coller dans le fichier en toute sécurité.

mount | sed -E '/\dev\/disk/!d; s/^([^ ]+)[^/]*([^(]+) \(.*/\1:\2/' | while read mount_info;  do echo -e "\n\nDisk ${mount_info%%:*} is mounted at ${mount_info##*:}" >/dev/stderr; sudo diskutil info ${mount_info%%:*} | grep UUID | tee /dev/stderr | printf '# To prevent auto mount of this disk, add the following line to `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 oneliner monstrueux, je ne veux pas vous ennuyer avec une explication de ce qu'il fait. (Mais si on me le demande dans les commentaires, je ferai une mise à jour).

Voici un exemple d'exécution :

$ mount | sed -E '/\dev\/disk/!d; s/^([^ ]+)[^/]*([^(]+) \(.*/\1:\2/' | \
  while read mount_info; do
    echo -e "\n\nDisk ${mount_info%%:*} is mounted at ${mount_info##*:}" >/dev/stderr;
    sudo diskutil info ${mount_info%%:*} | grep UUID | \
      tee /dev/stderr | \
      printf "$(echo \
        '# To prevent auto mount of this disk, add the following line' \
        'to `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

Disk /dev/disk1s5 is mounted at /
   Volume UUID:               066AF3CD-C098-4D28-9C3A-AD6C53A443ED
   Disk / Partition UUID:     066AF3CD-C098-4D28-9C3A-AD6C53A443ED
# To prevent auto mount of this disk, add the following line to `sudo vifs`
UUID=066AF3CD-C098-4D28-9C3A-AD6C53A443ED none rw,noauto

Disk /dev/disk1s1 is mounted at /System/Volumes/Data
   Volume UUID:               760B55A4-3E55-4FFA-B22D-B48F0D227EEB
   Disk / Partition UUID:     760B55A4-3E55-4FFA-B22D-B48F0D227EEB
# To prevent auto mount of this disk, add the following line to `sudo vifs`
UUID=760B55A4-3E55-4FFA-B22D-B48F0D227EEB none rw,noauto

Disk /dev/disk1s4 is mounted at /private/var/vm
   Volume UUID:               B6011DF2-6391-4E5C-9A94-D73FF9AB51DC
   Disk / Partition UUID:     B6011DF2-6391-4E5C-9A94-D73FF9AB51DC
# To prevent auto mount of this disk, add the following line to `sudo vifs`
UUID=B6011DF2-6391-4E5C-9A94-D73FF9AB51DC none rw,noauto

Disk /dev/disk1s3 is mounted at /Volumes/Recovery
   Volume UUID:               14EDD79D-0EDA-42B0-A1C4-7B025159146B
   Disk / Partition UUID:     14EDD79D-0EDA-42B0-A1C4-7B025159146B
# To prevent auto mount of this disk, add the following line to `sudo vifs`
UUID=14EDD79D-0EDA-42B0-A1C4-7B025159146B none rw,noauto

Disk /dev/disk2s1 is mounted at /Volumes/Install macOS Mojave
   Volume UUID:               B14957BD-83D2-3A36-A828-89CF03C7F45A
# To prevent auto mount of this disk, add the following line to `sudo vifs`
UUID=B14957BD-83D2-3A36-A828-89CF03C7F45A none rw,noauto

Disk /dev/disk3s2 is mounted at /Volumes/TM Backup
   Volume UUID:               5E0A580C-2894-3529-9B52-3E33BD10DF53
   Disk / Partition UUID:     22D06480-5187-48BD-9079-D95D34B0494E
# To prevent auto mount of this disk, add the following line to `sudo vifs`
UUID=22D06480-5187-48BD-9079-D95D34B0494E none rw,noauto

2voto

Tetsujin Points 95239

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

Cela correspondrait à de nombreux processus en ligne de commande ; la seule exception qui me vient à l'esprit est l'application hosts qui peut contenir n'importe quelle quantité d'espaces blancs.

La syntaxe correcte serait donc

UUID=uuid_of_partition2 none hfs rw,noauto

plutôt que

UUID=uuid_of_partition2       none    hfs     rw,noauto

... différence subtile mais importante.

0voto

user193607 Points 1

Sous OS X 10.11.6, les espaces blancs et les onglets n'ont pas d'importance pour moi (j'ai confirmé que j'utilisais de "vrais" onglets en regardant /etc/fstab dans un éditeur hexagonal et observe 0x09 pour l'octet séparateur de champ).

J'ai utilisé vifs Cependant, d'après ce que j'ai pu voir, cela verrouille simplement l'accès aux fichiers à l'adresse /etc/fstab . Testé également avec une nouvelle ligne (ligne blanche) sous le commentaire du fichier ainsi qu'avec la dernière ligne du fichier fstab ne contenant pas de nouvelle ligne ou une nouvelle ligne (ligne vierge sous la dernière entrée fstab)

La principale chose qui m'importait était la suivante :

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

Facteurs non testés :

  1. no auto vs noauto (J'ai utilisé noauto )
  2. Éditeur de texte configuré pour utiliser plusieurs espaces pour les tabulations

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X