无法通过将 hfs+ 分区上的大写字母改为小写字母来重命名目录

无法通过将 hfs+ 分区上的大写字母改为小写字母来重命名目录

我是 Linux 新手,刚刚在双启动 MacBook 上安装了 Ubuntu 17.04。我在 hfs+ 分区上创建的目录时遇到了问题(使用 gparted 创建,因此启动到 OS X 时可以看到其中的文件)。我假设这种混淆与 hfs+ 格式不区分大小写有关,但是,无论我是通过 Ubuntu 还是 OS X 使用它,它难道不应该不区分大小写吗?以下是场景:

  1. 通过 Nautilus 创建目录“DropBox”。
  2. 尝试将“DropBox”重命名为“Dropbox”,但收到错误消息:“无法重命名该项目。“Dropbox”这个名称已经被使用...'。
  3. 尝试删除“DropBox”(永久删除,而不是删除到垃圾箱)并创建新目录“Dropbox”。当我这样做时,两个都出现目录(“DropBox”和“Dropbox”)。
  4. 尝试删除“DropBox”,但是两个都目录已被删除。
  5. 在终端里查看;两个都“DropBox”和“Dropbox”在 Nautilus 中可见,运行“ls -a”仅显示“DropBox”。

  6. 仍在终端中,删除了“DropBox”(rm -R DropBox)。正如预期的那样,这导致没有任何 Dropbox 文件夹。但是,在 Nautilus 中,我仍然看到“Dropbox”,直到我尝试打开它时,我收到一条错误消息,说它实际上不存在,然后它也从 Nautilus 中消失了。

  7. 在终端中,重新创建目录 ( mkdir Dropbox)。目录再次被重新创建为“DropBox”,并在 Nautilus 中也显示为该目录。

有没有什么办法可以解决这个问题,或者在使用 hfs+ 时这个问题是否不可避免?

更新:

删除“DropBox”并重新启动后,我现在可以将目录创建为“Dropbox”。我不认为这是一个解决方案,因为这是一个繁琐的解决方法;它不能解决问题。

答案1

经过进一步挖掘,我找到了该问题的解决方案。 实际上,在 OS X 中可以将 hfs+ 分区格式化为区分大小写、非日志式。无法将现有的不区分大小写的分区切换为区分大小写。

禁用日志记录(或将卷格式化为区分大小写,而不是日志记录)的选项已从 El Capitan(我正在运行的版本)中的 OS X 磁盘实用程序中删除,但仍可以执行此操作:

  1. 根据磁盘的分区方式,可能需要先在 Linux 上划分出磁盘空间。我相当确定分区类型无关紧要,但为了小心起见,我创建了 hfs+ 以确保 OS X 端没有奇怪的访问问题。

  2. 在 OS X 中,使用磁盘工具将分区格式化为HFS+ 区分大小写,日志式

  3. 仍然在 OS X 的终端中运行sudo diskutil disableJournal /dev/volname。您可以在安装或卸载磁盘的情况下运行此命令。(如果您不确定磁盘或卷名,diskutil list将全部列出)。

或者

我没有测试这个来验证,但是根据苹果文档,这是如何在命令行上格式化区分大小写、非日志记录的 hfsplus:而不是在磁盘工具中格式化然后关闭日志记录,而是sudo diskutil eraseVolume "Case-sensitive HFS+" /dev/volname一步完成同样的事情。

就是这样。我在 Ubuntu 中测试了它,使用我以前用过的“DropBox”名称更改测试,一切看起来都很好。

边注:从关于该主题的发布问题数量来看,在 Ubuntu 中将 hfs+ 安装为 rw 对许多人来说都是有问题的。指定将 hfs+ 分区安装为 rw 的语法是fstabUUID=<UUID> /mountpoint hfsplus rw,exec,auto,user 0 0假设您想要非系统数据卷的典型选项。如果您想要不同的东西,这篇文章真的很有帮助. 您可能还需要sudo chown -R user /mountpoint挂载点。

相关内容