monter un volume usb

Clarusad

Membre actif
5 Février 2004
398
9
Bonjour à tous,

Sauriez-vous comment monter un volume usb en AppleScript ou en Shell ?
J'ai déjà essayé avec ceci :
Bloc de code:
set diskName to "disque à toto"
set deviceName to do shell script "diskutil list | grep \"" & diskName & "\" | awk '{print $6}'"
do shell script "diskutil mountDisk /dev/" & deviceName
mais ça ne fonctionne pas.
Lorsque je fais ceci :
Bloc de code:
do shell script "diskutil list"
Je ne voit pas le disque que je cherche à monter bien qu'il soit branché.
Ce qui est normal puisque je viens de l'éjecter ; mais existe-t'il une astuce ?
 
Bonjour à tous,

Sauriez-vous comment monter un volume usb en AppleScript ou en Shell ?
J'ai déjà essayé avec ceci :
Bloc de code:
set diskName to "disque à toto"
set deviceName to do shell script "diskutil list | grep \"" & diskName & "\" | awk '{print $6}'"
do shell script "diskutil mountDisk /dev/" & deviceName
mais ça ne fonctionne pas.
Lorsque je fais ceci :
Bloc de code:
do shell script "diskutil list"
Je ne voit pas le disque que je cherche à monter bien qu'il soit branché.
Ce qui est normal puisque je viens de l'éjecter ; mais existe-t'il une astuce ?
Bonjour

Chez moi j'ai un AppleScript (je suis en voyage) qui monte les volumes qui ont été démontés.

Il faut pour qu'ils restent en mémoire dans le système, qu'ils soient monté une fois, démontés et toujours sous tension.
La moindre coupure de courant sur le volume et le système ne le retrouve pas.

Testé avec une clé USB.

Donc c'est sur ce point que tu doit faire attention (a mon avis).

PS: USB où Firewire c'est pareil, ça marche pour l'un comme pour l'autre.

@+
 
Effectivement, je pense que l'alimentation électrique joue un rôle important mais lorsqu'il s'agit de partitions (que l'on peut monter et/ou démonter à volonté) ; mais ce sont les volumes physique qui m'intéressent (USB ou FW).

Cependant, lorsqu'après avoir débranché, puis re-branché le disque ; je peux le "voir" à nouveau à l'aide des applications fournies dans les outils de développement xcode: "IORegistryExplorer" et "USB Prober".
Ceci me fait supposer qu'il doit bien exister une formule magique afin de monter à nouveau un volume.
 
chez moi toutes ces versions fonctionnent

diskutil mountDisk /dev/disk1
diskutil mountDisk /dev/disk1s1
diskutil mountDisk /dev/disk1s2
diskutil mountDisk /dev/disk1s3

je peux unmount / mount des partitions, et meme si le controller du disk est power_off, il power_on

meme ejecté le device est toujours present donc devrait apparaitre dans

diskutil list

quel est le type de ta partition? et ta version d'OSX? et enfin quel type de materiel?
 
chez moi, une fois le disque éjecté (icône mis à la corbeille) diskutil ne le voit plus et impossible de le monter à nouveau :(
 
chez moi, une fois le disque éjecté (icône mis à la corbeille) diskutil ne le voit plus et impossible de le monter à nouveau :(
Bonjour

Avec les disques externes utilisant une alimentation externe ça fonctionne parfaitement sur mon iMac.

Du moment qu'il est sous tension il est affiché dans Utilitaire de disques monté où démonté (mis à la corbeille).

Avec la clé USB qui n'a pas d'alimentation externe, la corbeille la supprime dans utilitaire de disques (même si l'on utilise un HUB)

Pas testé avec les volumes qui utilisent la prise USB pour s'alimenter, ça doit être la même chose que pour la clé USB.

Passer par AppleScript qui lui gère ces volumes.

Répond a la question de tatouille.

@+
 
Alors,
il s'agit d'une clé usb dont diskutil me dit ceci : DOS_FAT_16. En ce qui concerne la machine, c'est un PPC sous 10.4.11.

Passer par AppleScript qui lui gère ces volumes.
Tu pourrais me dire comment car je n'y suis pas arrivé ; j'ai certainement pas fait la bonne manip' :siffle:
Merci
 
Alors,
il s'agit d'une clé usb dont diskutil me dit ceci : DOS_FAT_16. En ce qui concerne la machine, c'est un PPC sous 10.4.11.


Tu pourrais me dire comment car je n'y suis pas arrivé ; j'ai certainement pas fait la bonne manip' :siffle:
Merci
Bonjour

Le 10.4 je n'utilise plus depuis longtemps et le FAT_16 jamais, j'utilise pas de PC.

Pour l'AppleScript il me semble que tu as reçut le code à lire, sinon tu as un homonyme.

Le code:

Bloc de code:
set {diskName, volumesMontes} to {"mon_Volum", list disks}

set the_ID to (do shell script "diskutil list | awk '/ " & diskName & " / {print $NF}'") as string
if the_ID is "" and volumesMontes does not contain diskName then
	tell me to activate
	display dialog "Je trouve pas ce volume, est-il sous tension?"
else
	if the_ID is not "" and diskName is in volumesMontes then
		do shell script "diskutil unmount " & quoted form of the_ID & " > /dev/null 2>&1 &" -- démonte le  volume
	else
		do shell script "diskutil mount " & quoted form of the_ID & " > /dev/null 2>&1 &" -- monte le  volume
	end if
end if

Ne supprime pas les volumes démontés par ce code dans utilitaire de disque mais les grises.

@+
 
Merci pour le script, mais ce n'est justement pas exactement ce que je cherche à faire. En effet, ton script éjecte la partition (on la voit grisée dans Utilitaire de disques), je cherche à éjecter le volume physique entier puis à le monter à nouveau.
 
Merci pour le script, mais ce n'est justement pas exactement ce que je cherche à faire. En effet, ton script éjecte la partition (on la voit grisée dans Utilitaire de disques), je cherche à éjecter le volume physique entier puis à le monter à nouveau.
Chez moi quand on éjecte un volume c'est pour le supprimer complètement y compris dans l'utilitaire disques.

Donc si l'utilitaire de disque ne le reconnaît pas, je pense que la meilleure solution pour le redémarrer c'est de passer par la commande du DD Marche-Arrêt.

Chez moi j'utilise un PARA-SURTENSEUR ELECTRIQUE sur lequel est posé mon iMac et je commande tous mes DD par un de ces interrupteurs en façade (5 au total).
Ça m'évite d'aller chercher les interrupteurs Marche-Arrêt vue qu'ils sont tous sur On.

@+
 
en faite c'est diskutil et le finder qui volontairement empeche la disparition du volume physique (enfin sur leopard) et foute le merdier je vais aller tester une version server pour voir

quelques tests:

- diskutil umount aVolume
- sudo rm /dev/disk1
- diskutil list ok volume cache
- diskutil mount aVolume / failed no such volume
- power off / power On the controller ->

Alert : USB Over Current Notice, A USB device is currently drawing too much power.
The hub to which it is attached to will be deactivated

je vous rassure ce qui n'est pas du tout le cas le volume se remonte
 
Je suis pas très doué en shell : 'erf j'apprends... :siffle:
- diskutil umount aVolume
- sudo rm /dev/disk1
- diskutil list ok volume cache
- diskutil mount aVolume / failed no such volume
- power off / power On the controller ->

Alert : USB Over Current Notice, A USB device is currently drawing too much power.
The hub to which it is attached to will be deactivated
C'est une suite de commandes ou à taper les une à la suite des autres afin de tester chacune d'entre-elles ?
Dès qu'il y à sudo, ça me fait toujours hésiter.

[EDIT] ps : ça me fait penser à un bug de mac OS 10.4.11 qui survient lorsqu'on veut mettre la machine en veille et qu'un périphérique usb y est branche, les ventilos tournent toujours alors que le système semble s'être endormi. Il est ensuite impossible de la réveiller !