IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> OSX: Ne pas monter une partition au démarrage, comme sous OS9 + option lecture seule
Options
dulrich
posté 19 Aug 2004, 06:04
Message #1


Méchant modérateur paranoïaque
*****

Groupe : Modérateurs
Messages : 10 735
Inscrit : 24 Jan 2002
Lieu : Confoederatio Helvetica, Kanton Wallis
Membre no 1 865



Pré-requis:
- la prise de vos reponsabilités (je ne serais être tenu responsable de la perte de vos données, des maux de tête engendrés par les lignes qui suivent ni même de l'électrocution de votre chat)
- compte root (en cas de perte du mot de passe voir ici)
- manipulation de base du terminal (cd, ls) (voir ici)
- manipulation de base d'un éditeur du terminal (emacs, vim). Perso je préfère vim pour une édition rapide. (voir ici en remplaçant vim par vi )
- un minimum de connaissances sur le montage d'un disque
--> voir les autres posts de la FAQ ici par exemple
- un minimum de connaissance dans quelque terme technique sur les disques (voir le lexique de macbidouille wink.gif )
- 3 mots d'english biggrin.gif (je dis ça pour les amoureux du français qui vont peut-être m'en vouloir de pas traduire certains termes qui me paraissent plus pertinants en anglais) un dico?

Pour ne pas monter une partition au démarrage il vous faudra mettre un peu les mains dans le camboui (mais pas trop quand même wink.gif ).

Premièrement pourquoi vouloir ne pas monter une partition:
- c'est votre système de secours
- c'est la partition que vos étudiants/employés ne doivent pas connaitre
- vous y avez des données sensibles et qu'étant un peu parano d'habitude vous voulez la protéger de softs potentiellement envahissant... ou tout simplement d'une erreur humaine (genre rm -rf / )
- ...

Les unix/linux stockent les infos des disques/partitions dans le fichier /etc/fstab ... le dossier /etc étant bien entendu caché... c'est celui qui contient des préférences sensibles de votre système (mais pas de vos applications, ni du finder, etc).

La fstab d'OSX est un peu spéciale par rapport à ce qui se fait (mal) sous les linux. Sous unix/linux chacun de vos périphériques de stockage potentiel est répertorié dans /dev.

Sous Linux

Le disque numéro 1 sera /dev/sda pour le scsi (ou /dev/hda pour l'ata), la partition 3 de ce même disque sera /dev/sda3 ou /dev/hda3. (fd = floppy, cdrom = cdrom tongue.gif , proc c'est un peu spécial et je ne vais pas en parler).

Cependant sous linux la fstab ressemble à ça:
CODE
dulrich@aspirine:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>               <dump>  <pass>
/dev/sdd2       /               ext2    errors=remount-ro       0       1
/dev/sdb7       none            swap    sw                      0       0
proc            /proc           proc    defaults                0       0
/dev/fd0        /floppy         auto    user,noauto             0       0
/dev/cdrom      /cdrom          iso9660 ro,user,noauto          0       0
/dev/sdb6       /usr            ext3    defaults                0       2
/dev/sda6       /export         ext3    defaults                0       2
/dev/sda8       /home           ext3    defaults                0       2
/dev/sda9       /usr/src        ext3    defaults                0       2
/dev/sda10      /var            ext3    defaults                0       2

Tout d'abord vous avez "l'adresse" du périphérique de stockage, puis son point de montage, ensuite son type de filesystem (hfs, ufs, ici ext2 et 3) et les options:
- ro pour read only
- rw pour read and write
- sw pour swap
- noauto pour montage pas automatique

Sous OSX

Sous OSX ça donne ça:
CODE
[80-218-*-*:~] dulrich% cat /etc/fstab
# fs_spec                                    fs_file  fs_vfstype  fs_mntops
#
# UUID=DF000C7E-AE0C-3B15-B730-DFD2EF15CB91  /export  ufs         ro
# UUID=FAB060E9-79F7-33FF-BE85-E1D3ABD3EDEA  none     hfs         rw,noauto
# LABEL=This\040Is\040The\040Volume\040Name  none     msdos        ro

(les # sont pour commenter les lignes, j'y reviendrais plus tard)
En fait, plutôt que de donner "l'adresse" du périphérique on lui donne un ID. Le désavantage est très visuel biggrin.gif . L'avantage:
Lors du boot sous linux, le "système" va scanner les bus à la recherche des disques. Il le fera dans un certain ordre (d'abord sur les bus PCI puis les bus ata/scsi interne et dans l'ordre des ID hard (master avant slave en ata, id0 avant id1 en scsi). C'est dans cet ordre qu'il va leur attribuer les noms /dev/hda, /dev/hdb, /dev/hdc... Or si vous ajoutez un disque sur une carte pci ata il est fort probable que celui-ci soit détecté avant le disque branché sur l'ata interne (pour le scsi c'est encore plus flagrant si vous ajoutez un disque avec une id inférieure à ceux déjà présents). Il obtiendra donc un nom avant celui qui était déjà présent.... et comme les noms sont attribués dans l'ordre (c.f 2 lignes plus haut).
Or lors du montage des disques le système va lire la fstab pour savoir à quel point de montage il doit mettre /dev/hda par exemple. Mais comme l'ordre a été chamboulé par le nouveau disque il va se retrouvé avec un disque qui ne correspond pas à ce qu'il attend... et plouf.... le boot ç'arrête.
La particularité des ID c'est de résoudre ce problème. Une ID est attribuée à chque disque de manière unique. Le disque aura toujours la même ID où qu'il soit dans votre mac. Peu importe l'ordre danslequel sont scannés les bus, le système reconnaitra toujours quel disque correspond à quel point de montage dans la fstab (cette étrangeté opaque est disgracieuse vous permet d'avoir un système user-friendly, étonnant non? biggrin.gif ).

OSX peut tout à fait reconnaître une fstab du type linux, mais vous y perdez le user friendly, et au moindre changement de configuration des disques, si vous ne modifiez pas la fstab... PLOUF plantage.

Pour le reste la fstab d'OSX est la même. Vous avez l'ID (qui remplace donc le /dev/hdx ), le point de montage puis les options.
Par défaut, OSX monte tout ce qui n'est pas répertorié dans la fstab (un vilain daemon (diskarbitrationd s'occupe de ça) dans /Volumes sous le nom que vous lui avez donné à l'initialisation.
La fstab d'OSX est vide par défaut (il y a juste quelques lignes commentées d'exemples).

Pour trouver l'ID de votre partition ouverz la console (pas le terminal) et affichez system.log. Ouvrez l'utilitaire disque et montez/démontez votre partition que vous ne voulez plus voir au boot. Résultat:
CODE
Aug 19 06:15:47 localhost diskarbitrationd[95]: disk0s3    hfs      16B1EE13-18EE-37EF-8D1B-30E4C5462A31 MaPartocheACacher               /Volumes/MaPartocheACacher

(le disk0s3 remplace le hda3 ou sda3, disk0 = hda ou sda, disk1 = hdb ou sdb ....c'est les noms "unix" un peu différents de linux, et plus pratiques)
Le gros code c'est l'ID. Il vous suffit ensuite d'éditer la fstab (par un vi /etc/fstab en root par exemple) comme suit:
CODE
[80-218-*-*:~] dulrich% cat /etc/fstab
# fs_spec                                    fs_file  fs_vfstype  fs_mntops
#
# UUID=DF000C7E-AE0C-3B15-B730-DFD2EF15CB91  /export  ufs         ro
# UUID=FAB060E9-79F7-33FF-BE85-E1D3ABD3EDEA  none     hfs         rw,noauto
# LABEL=This\040Is\040The\040Volume\040Name  none     msdos        ro
UUID=16B1EE13-18EE-37EF-8D1B-30E4C5462A31 none hfs rw,noauto

le none est important pour pouvoir remonter votre partition ensuite, par défaut elle remontera dans /Volumes comme si de rien était.
Le hfs c'est le format du flie système, rw pour read and write et noauto pour qu'elle ne monte pas au boot.

Ensuite vous redémarrez et la partition ne montera pas. Il vous suffit d'utiliser l'utilitaire disque pour la faire réapparaitre...

Vous pouvez bien entendu, si vous savez ce que vous faites, changer certaines options, changer les points de montage de vos disques (créer une partitonn application par exemple qui monte dans votre dossier applications).... mais à vos risques et périls tongue.gif


[notes pour les aficionados du "c'est pas tout à fait exact" :] Les exemples linux sont tirés d'une debian avec un kernel 2.4.25. Selon les versions de kernel et de distributions, la gestion des disques peut quelque peu varier...
Tous les unix ne gèrent pas comme OSX les disques.
En d'autres termes je mets tous les oeufs dans le même panier, pour faire simple.


--------------------
Nothing Else Matters
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 20th February 2018 - 03:03