我买了一堆USB棒,我想把它作为礼物赠送给朋友和客户,上面有一些文件。我想让这些文件不可擦除(虽然我知道它们可以格式化驱动器,我知道它们中的大多数都不会,这只是为了防止意外删除文件),同时保持其余空间免费供他们使用,因为他们喜欢。
我被告知最好的选择是创建两个分区,其中一个是只读的,另一个是读写。我可以用max文件系统做到这一点,但我需要一些跨平台工作的东西。
我以为我在这里找到了答案 https://apple.stackexchange.com/a/24120/31048 (创建一个ISO9660“DVD / CD Master”并使用diskutil命令行在驱动器上刻录它),但它产生的东西无法安装在任何地方。
有任何想法吗?
谢谢!
编辑 我找到了解决方案,但它并没有解决所有问题。首先,Utility Disk创建的CDR格式不可用,您需要将其转换为ISO
hdiutil makehybrid -iso -joliet -o IMAGE.iso IMAGE.cdr
然后使用以下命令到DMG:
hdiutil convert -format UDRW -o IMAGE.dmg IMAGE.iso
然后,如果您将DMG文件刻录到正确的驱动器中
sudo dd if=IMAGE.dmg of=/dev/rdisk1 bs=1m
它将按预期工作:只读分区,兼容的跨平台。我留下的唯一问题是:上述方法格式化整个驱动器并创建一个只读分区,而笔驱动器上的其余可用空间不能使用。
如果我创建两个分区,像这样:
diskutil list
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.1 GB disk1
1: Microsoft Basic Data UNTITLED 1 299.9 MB disk1s1
2: Microsoft Basic Data UNTITLED 2 1.8 GB disk1s2
并运行此命令:
sudo dd if=IMAGE.dmg of=/dev/rdisk1s1 bs=1m
它确实在第一个分区上写了IMAGE,但它不可读。有没有办法同时拥有一个只读分区和另一个可以用作普通VFAT的分区来复制/删除文件?
谢谢。