créant généralement des disques RAM fonctionnent avec les commandes suivantes
hdid -nomount ram://<blocksize>
Renvoie par exemple/dev/disk2 Ensuite, je formaterais le disque, en disant
newfs_hfs /dev/disk2
suivi par le montage:
mount -t hfs /dev/disk2 /some/mount/target
Cette procédure ne semble pas fonctionner avec APFS. Je suis sur High Sierra beta 9. La commande mount ne génère aucune erreur, mais le chemin n'est pas monté.
Dans mon cas, une fois la commande hdid
terminée, newfs_apfs -i /dev/disk2
rendements
nx_kernel_mount:1364: checkpoint search: largest xid 1, best xid 1 @ 1
nx_kernel_mount:1422: sanity checking all nx state... please be patient.
spaceman_metazone_init:278: no metazone for device 0, of size 209715200 bytes, block_size 4096
apfs_newfs:18075: FS will NOT be encrypted.
Lorsque j'entre alors mount -t apfs /dev/disk2 /some/target/path
alors les commandes de montage semblent fonctionner pendant 2 secondes, ne donnent aucune sortie et le montage n'a PAS réussi.
Quelqu'un peut-il me dire comment faire un APFS RAM disque s.t. cela fonctionne?: P
PS: j'ai aussi essayé quelque chose comme diskutil partitionDisk /dev/disk2 GPT APFS myvolumename 0b
qui monte le volume sur /Volumes/myvolumename
mais crée encore un autre disque (disk3
dans ce cas) ce qui me semble étrange!
Trouvé une solution:
hdid -nomount ram://<blocksize>
diskutil erasedisk <format> <diskname> <output path of previous hdid command>
où <format>
est tiré de diskutil listFilesystems
de la colonne "Personnalité". Oui, il me semble aussi bizarre que vous deviez citer ce paramètre, par ex. lors de la spécification des variantes sensibles à la casse, mais bon ...
<blocksize>
Est 2048 * desired size in megabytes
La dernière commande formate le disque RAM et le monte sur /Volumes/<diskname>
Il semble que lorsque vous saisissez diskutil list
, Vous verrez deux nouveaux disques, celui hdid
créé et un synthétisé.
Pour détruire le RAM disque à nouveau, appelez diskutil eject <output path of previous hdid command>
, Par exemple diskutil eject /dev/disk2
Cela fera tout le travail pour vous, démontera le chemin /Volumes/<diskname>
Et détruira les deux disques, libérant ainsi votre mémoire.
Gardez à l'esprit que les valeurs minimum/maximum pour <blocksize>
Dépendent du <format>
Choisi. De plus, <diskname>
Ne peut pas toujours être choisi arbitrairement. Exemplaire, FAT32 requiert qu'il soit composé de lettres majuscules!
À votre santé!
@Glyph a fourni la meilleure réponse dans un commentaire à la réponse acceptée , mais elle mérite sa propre réponse:
diskutil partitionDisk $(hdiutil attach -nomount ram://2048000) 1 GPTFormat APFS 'ramdisk' '100%'
J'ai mis à jour la réponse de Glyph pour simplifier un peu le nom du volume.
De plus, les informations pour supprimer/détruire le disque RAM doivent être corrigées. Ramdisk sera créé dans path/Volumes/'ramdisk', donc la commande est:
diskutil eject /Volumes/'ramdisk'