Nam*_*912 20 macos terminal apfs
通常创建RAM磁盘可以使用以下命令
hdid -nomount ram://<blocksize>
Run Code Online (Sandbox Code Playgroud)
返回例如/ dev/disk2然后我会格式化磁盘,比方说
newfs_hfs /dev/disk2
Run Code Online (Sandbox Code Playgroud)
然后安装它:
mount -t hfs /dev/disk2 /some/mount/target
Run Code Online (Sandbox Code Playgroud)
此过程似乎不适用于APFS.我在High Sierra beta 9. mount命令不输出任何错误,但未安装路径.
在我的情况下,hdid
命令完成后,newfs_apfs -i /dev/disk2
产生
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.
Run Code Online (Sandbox Code Playgroud)
当我然后输入mount -t apfs /dev/disk2 /some/target/path
然后mount命令似乎工作2秒,不提供任何输出,并且挂载不成功.
任何人都可以告诉我如何实际制作APFS RAM磁盘吗?:p
PS:我也尝试了类似的方法diskutil partitionDisk /dev/disk2 GPT APFS myvolumename 0b
将卷装入/Volumes/myvolumename
但创建了另一个磁盘(disk3
在这种情况下),这对我来说似乎很奇怪!
unr*_*ons 20
@Glyph在对已接受答案的评论中提供了最佳答案,但它应该得到自己的答案:
diskutil partitionDisk $(hdiutil attach -nomount ram://2048000) 1 GPTFormat APFS 'ramdisk' '100%'
Run Code Online (Sandbox Code Playgroud)
我已经更新了Glyph的答案,以简化音量名称.
Nam*_*912 18
找到了解决方案:
hdid -nomount ram://<blocksize>
diskutil erasedisk <format> <diskname> <output path of previous hdid command>
Run Code Online (Sandbox Code Playgroud)
其中<format>
取自diskutil listFilesystems
从"人格"一栏.是的,我似乎也很奇怪你可能不得不引用这个参数,例如在指定区分大小写的变体时,但是哦......
<blocksize>
是2048*desired size in megabytes
最后一个命令格式化RAM磁盘并将其安装到 /Volumes/<diskname>
似乎是这样的情况,当diskutil list
你进入时,你会看到两个新磁盘,一个是hdid
创建的,一个是合成的.
要再次销毁 RAM磁盘,请调用diskutil eject <output path of previous hdid command>
,例如diskutil eject /dev/disk2
这将为您完成所有工作,卸载/Volumes/<diskname>
路径并销毁两个磁盘,释放内存.
请记住,最小/最大值<blocksize>
取决于所选<format>
.而且,<diskname>
不能总是任意选择.示例性地,FAT32要求它由大写字母组成!
干杯!
归档时间: |
|
查看次数: |
6777 次 |
最近记录: |