这些天刚进这吧,看见有好些吧友都有类似待机后游戏烂掉、坏掉,或游戏刚安装好没问题,后面想玩时便挂了。以前有在隔壁吧贴过简易解说,但被吧娘吃了,所以在这边再贴一下和润色说的详尽点,方便一下看不懂外语的网友:
1. Switch的储存格式不是FAT32,只要你插32GB以上的卡进去时,它也是会替你格式化成exFAT,因为这是SDXC的标淮要求。不一开始就全部格式化作exFAT,是因为微软的专利费问题,这也是为甚么正版系统插进64GB或以上的卡进去时要「更新」exFAT支援,因为预设全部支援,任天堂就不能按台按需付专利费给微软,而是每台都要。
2. 做成问题的主因是因为Switch系统内置一个很烂、又很谜地任天堂永远修不了的FAT驱动器,估计就是因为省专利费、为了应对FAT32和>4GB檔案问题而衍生出的Archive bit配搭大檔斩块方案让驱动器问题非常难搞。
即使只进行简单读取操作也会频繁更改文件和目录。这些更改从未正确与文件系统同步,这意味着在应用程序异常关闭/重新启动/关机时,文件处理器将丢失并随后在文件分配表中缺失。即使对于 FAT32 也存在相同情况。
总之switch无时无刻都在写檔案,只要你在用,或是待机时它在工作时,还有开关机时都在写,然后这玩意无时无刻都在按程式写你卡里檔案分配表里的檔案描述符,当在写的过程中程式出现状况,就把东西写坏了。
有趣的是,这个问题老任一直都知道,除了宝可梦剑盾因为外判翻车了,所有老任自己开发的软件(包括游戏) 大部份情况下(就是没其他程序碰过的情况下,如tinfoil 更新)总是能被正常关闭,,因此该问题很少出现,针对这个问题处理过了。
但为何FAT32会被较安全,是因为当初FAT檔案系统为了应对热拔插等问题是做了备份檔案分配表方案,简称TFAT,exFAT也是有TexFAT的备份但可能是专利费问题没写进系统里支援,总之就刚好FAT32的TFAT这玩意救了玩家…
至于为何他的驱动是怎样烂,例如做完archive bit的写入后没关掉PrFILE 2 握手协议,为何要按每个程式来做caching而不是按系统层级做,就留给其他有相关知识能看懂的技术性网友到GitHub 里看讨论吧… 简单点而言就是这玩意是老任弄出来的架构级臭虫,从没修过,应该是对它们来说修不了,不懂当中原理去避免出状况,不管玩甚么的都用FAT32和32kb(在switch上不管卡大小,一律选32kb ,也是跟switch的系统缺陷问题有关,导致选大小速度形响不大,但会影响到卡上资料写烂掉后的修复性)。要传大于4GB的下载游戏檔就直接用线传安装或无线安装解决,或是用splitnsp 和XCI Cluster等软件把檔斩块。只要能进到系统里switch就总之会用4GB把檔斩了,不用担心相容性问题。
想吃吃花边新闻,可以到大气层的开源讨论或是这些地方看看Hekate的作者CTCaer 喷老任的架构级臭虫。
1. Switch的储存格式不是FAT32,只要你插32GB以上的卡进去时,它也是会替你格式化成exFAT,因为这是SDXC的标淮要求。不一开始就全部格式化作exFAT,是因为微软的专利费问题,这也是为甚么正版系统插进64GB或以上的卡进去时要「更新」exFAT支援,因为预设全部支援,任天堂就不能按台按需付专利费给微软,而是每台都要。
2. 做成问题的主因是因为Switch系统内置一个很烂、又很谜地任天堂永远修不了的FAT驱动器,估计就是因为省专利费、为了应对FAT32和>4GB檔案问题而衍生出的Archive bit配搭大檔斩块方案让驱动器问题非常难搞。
即使只进行简单读取操作也会频繁更改文件和目录。这些更改从未正确与文件系统同步,这意味着在应用程序异常关闭/重新启动/关机时,文件处理器将丢失并随后在文件分配表中缺失。即使对于 FAT32 也存在相同情况。
总之switch无时无刻都在写檔案,只要你在用,或是待机时它在工作时,还有开关机时都在写,然后这玩意无时无刻都在按程式写你卡里檔案分配表里的檔案描述符,当在写的过程中程式出现状况,就把东西写坏了。
有趣的是,这个问题老任一直都知道,除了宝可梦剑盾因为外判翻车了,所有老任自己开发的软件(包括游戏) 大部份情况下(就是没其他程序碰过的情况下,如tinfoil 更新)总是能被正常关闭,,因此该问题很少出现,针对这个问题处理过了。
但为何FAT32会被较安全,是因为当初FAT檔案系统为了应对热拔插等问题是做了备份檔案分配表方案,简称TFAT,exFAT也是有TexFAT的备份但可能是专利费问题没写进系统里支援,总之就刚好FAT32的TFAT这玩意救了玩家…
至于为何他的驱动是怎样烂,例如做完archive bit的写入后没关掉PrFILE 2 握手协议,为何要按每个程式来做caching而不是按系统层级做,就留给其他有相关知识能看懂的技术性网友到GitHub 里看讨论吧… 简单点而言就是这玩意是老任弄出来的架构级臭虫,从没修过,应该是对它们来说修不了,不懂当中原理去避免出状况,不管玩甚么的都用FAT32和32kb(在switch上不管卡大小,一律选32kb ,也是跟switch的系统缺陷问题有关,导致选大小速度形响不大,但会影响到卡上资料写烂掉后的修复性)。要传大于4GB的下载游戏檔就直接用线传安装或无线安装解决,或是用splitnsp 和XCI Cluster等软件把檔斩块。只要能进到系统里switch就总之会用4GB把檔斩了,不用担心相容性问题。
想吃吃花边新闻,可以到大气层的开源讨论或是这些地方看看Hekate的作者CTCaer 喷老任的架构级臭虫。