【渔】NTFS转HFS

版权声明:本文为博主原创文章,如需转载请注明出处。

前言

  今天用git的时候遇到一个问题:

fatal: failed to read object 0419b2704f64367e58aa621e7e0c457276bc9d48:
Interrupted system call
error: failed to push some refs to

  搜了一下stackoverflow上找到了原因和解决办法:

I have a Mac on an SSD with an internal NTFS-formatted HDD I use for storage. I was having the same issue trying to push a repo located in the HDD, but as soon as I copied the repo to the SSD the push worked just fine. On Linux I have no problem pushing from the HDD, so this must be an issue with Tuxera NTFS, which is the NTFS driver I’m using on Mac.
If you’re in the same situation as me, I suggest you move that repository to an HFS+ formatted drive or try pushing from a different Operating System.

解决

  就是因为我用了Tuxera NTFS来使用NTFS格式的硬盘导致了我git push的时候出现了问题,一个解决方法是把仓库放到mac系统盘里面,但是我不想这样过于增大系统盘的空间。然后想到把1T硬盘中的200G空间从NTFS改成HFS+。备份好东西,然后在winpe情况下删除了分区,重新建立了一个HFS+的分区。

  这里需要注意的一点是:之前在装黑苹果的时候提到过可以直接通过diskgenius修改分区参数,将盘符改为AF,但是diskgenius只能对MBR分区格式的硬盘进行这样的操作,对于GUID的是不可以的,这时候就要用到diskpart工具。方法如下:

这里希望各位小白先去百度了解一下MBR和GPT(GUID)的区别,所以 MBR下的短ID,AF是无法再GPT被识别的,那么怎么办呢?
这里要普及一下,我们知道OS的HFS文件系统标识在MBR分区下是AF对吧,如果用的是GPT分区,我们要懂得AF对应的GUID是什么在GPT分区下,AF是叫做:48465300-0000-11AA-AA11-00306543ECAC。是不是很长,很晕,没办法,GUID就是这样,那么怎么修改呢?,运行CMD(管理员),输入 diskpart,稍等一会,再输入list disk,你会发现CMD窗口列出了你当前的所有硬盘,这时候要清楚自己的Mac安装盘在哪个硬盘,以第0个硬盘做例子,我们输入,select disk 0选择了第0个 也就是开头的那个磁盘,接下来列出磁盘上的分区,输入list partition,这时候会显示该磁盘上的所有分区,接下来仔细辨别自己的OS安装盘是哪个分区 可以看大小辨别,比如第5个分区,我们输入 select partition 5。好了选定分区了,接下来,也是最关键的一步,输入 set id=48465300-0000-11AA-AA11-00306543ECAC。等待提示,完成以后关闭窗口,再用DiskGennius看,就会发现,本来在DiskGennius下改不了ID的分区已经变成了 Mac OS X的分区 Diskpart是一个强大的工具,建议每一个刚学习安装OS X的新手认真去学习。

  搞定分区之后就可以在OSX下用磁盘工具将刚才的分区抹掉,然后就变成mac专用的磁盘了。我这里遇到一个问题:因为EFI文件分区小于300M,无法进行抹掉操作。又没办法从后面的分区分出空间给到ESP分区,最后只能在第一个大分区前面又分出来300M的空间,将之前小的那个ESP分区拷贝到新的ESP分区里面,这样引导文件就都存在,然后把那小的分区删掉就好了。