如何在OSX上写保护可以跨平台工作的USB驱动器分区?


3

我买了一堆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的分区来复制/删除文件?

谢谢。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.