switchbrew / nx-hbmenu

The Nintendo Switch Homebrew Menu
ISC License
1.21k stars 128 forks source link

Should this work if the card is ExFAT formatted? #46

Closed BrianGilbert closed 6 years ago

BrianGilbert commented 6 years ago

My card works in stock mode, but when I launch CFW and try to access homebrew launcher it says that the switch directory can't be found.

BrianGilbert commented 6 years ago

For anyone else having this issue:

Remove the archive bit on files on the card and it will work https://www.computerworld.com/article/2598081/data-center/the-windows-archive-bit-is-evil-and-must-be-stopped.html

https://www.computerhope.com/forum/index.php?topic=100400.0

I did it from explorer on a windows VM.

BrianGilbert commented 6 years ago

It would be great if there is any way this can be fixed in HBL?

CTCaer commented 6 years ago

libnx depends on the fs sysmodule and also cannot change it.

This can be fixed via a future switch update or a "custom firmware".

AnalogMan151 commented 6 years ago

For those one macOS, you can run this command in Terminal to fix the archive bit and get your homebrew to show: sudo chflags -R arch /Volumes/SDCARD

Be sure to change SDCARD to whatever your card's volume name is.

ezioruan commented 6 years ago

@AnalogMan151 i run the command and still not see any apps. Is there a way to check if the files on sd card is valid(with arch)?

aforty commented 6 years ago

@AnalogMan151's fix worked for me.

This really should be mentioned in the instructions somewhere. Most people are not going to know to check GitHub issues, let alone ones that are closed to stumble upon this fix/workaround.

Poincare1 commented 6 years ago

I am using macOS but the terminal command from AnalogMan151 did not help. HBMenu still cannot see any .nro files placed in the /switch directory. Is there some other way to get HBMenu to see .nro files because right now, even though I have several such as ftpd, 2048, etc., HBMenu says there are no apps on the sd card.

Please advise how I can get HBMenu to see the *.nro files.

Mamotromico commented 6 years ago

It seems I'm stuck with this problem. I'm trying to setup a windows vm to try the op solution, and I don't have a mac available. Anyone have a suggestion for a linux user?

Shuttleu commented 6 years ago

@AnalogMan151 Using that method does allow the files to be seen in hbmenu, however any games installed to the SD card will not work. All games that were installed and future games installed to the SD card throw an error when trying to launch them.

I would recommend running this instead sudo chflags -R arch /Volumes/SDCARD/switch Once again, replacing SDCARD with the volume name of your SD card

Mamotromico commented 6 years ago

By the way, Hekate has a tool to clear archive bits on all sd files. Workaround for those stuck on this.

danxster commented 6 years ago

This worked for me: sudo chflags -R arch /Volumes/SDCARD/switch

Knight1 commented 5 years ago

I unset all archive bits but the switch still does not find any nro's :(

Any further ideas? I tested many releases, downloaded it from sdfiles, unset the bits with Hereke and macOS.

idolpx commented 5 years ago

For those one macOS, you can run this command in Terminal to fix the archive bit and get your homebrew to show: sudo chflags -R arch /Volumes/SDCARD

Be sure to change SDCARD to whatever your card's volume name is.

Worked for me too! Thanks!

Knight1 commented 5 years ago

I am very confused. 32GiB SD card -> no problem 200GiB SD card -> nothing found.

But when I go back to the backup files which was not found either are now displayed. So I can start every app when they are not in the switch folder. Any ideas? Any yes of course I cleared the Archive bit.

adamarsx commented 5 years ago

I am very confused. 32GiB SD card -> no problem 200GiB SD card -> nothing found.

But when I go back to the backup files which was not found either are now displayed. So I can start every app when they are not in the switch folder. Any ideas? Any yes of course I cleared the Archive bit.

Using a 128GiB SD and having the same problem, currently running all nro files from the root of my SD card as hbmenu cannot open /switch

WinterMute commented 5 years ago

I am very confused. 32GiB SD card -> no problem 200GiB SD card -> nothing found. But when I go back to the backup files which was not found either are now displayed. So I can start every app when they are not in the switch folder. Any ideas? Any yes of course I cleared the Archive bit.

Using a 128GiB SD and having the same problem, currently running all nro files from the root of my SD card as hbmenu cannot open /switch

Can you try deleting the switch folder on your sd card then let hbmenu recreate it, see if that changes anything? Can delete folder on your PC or via ftpd - hbmenu should create the folder next time it's run.

vin047 commented 5 years ago

Reformatting the microSD card with a different partition name ("UNTITLED"), copying all files over, then running chflags command, fixed everything for me - previously had named the partition "SWITCH".

I tried all the recommended steps above (chflags, FAT32, hekate remove archive bit option) without the partition name change, but apps were still failing to show up. Also tried @WinterMute suggestion, but hbmenu didn't even recreate the directory.

adamarsx commented 5 years ago

If I copy all the files over to my Mac and then back to my SD will my games stop working? I don't want to lose my saves and installed games

Knight1 commented 5 years ago

@vin047 THANKS fixed it. Any idea from the developers? @fincs https://github.com/switchbrew/nx-hbmenu/issues/81 the /switch was not recreated too.

@adamarsx If you do not touch the Nintendo folder. But keep in mind that you need a backup app to backup the saves. They are on the NAND from the switch and not the sd card.

gingerbeardman commented 5 years ago

The archive bit was also the issue for me.

I removed them all using Windows Explorer in a VM.

tobsn commented 5 years ago

OSX!

Remove the .* quarantine file from root: `rm -rf /Volumes/SDCARD/.*`

Then remove the archive bits and clean all files and folders from any attributes: sudo chflags -R arch /Volumes/SDCARD sudo xattr -rc /Volumes/SDCARD

gingerbeardman commented 5 years ago

FWIW @tobsn even after doing that I continued to have problems on Switch, so I eventually reformatted as FAT32

rschweda commented 5 years ago

OSX!

Remove the .* quarantine file from root: `rm -rf /Volumes/SDCARD/.*`

Then remove the archive bits and clean all files and folders from any attributes: sudo chflags -R arch /Volumes/SDCARD sudo xattr -rc /Volumes/SDCARD

With latest Mac OS X Mojave I had to give my terminal explicit permission for deleting the Spotlight files like described here: https://bit.ly/2JhLTp0

After that it worked fine with your approach combined with the archive flag solution described by AnalogMan. Thank you.

jesusvallez commented 5 years ago

And emummc or nintendo folder? I got an error applying archive bit to all my microsd

ulao commented 5 years ago

@AnalogMan151 Using that method does allow the files to be seen in hbmenu, however any games installed to the SD card will not work. All games that were installed and future games installed to the SD card throw an error when trying to launch them.

This is my issue however I never changed any flags. If I install to the nand they work but sd all do this. If I install from the SXOS they work fine, it's just installing in the HBmenu that does not work. Would changing my flags help me? If so how does one run linux commands? I there a console nro?

I did try with a MAC and two commans worked, rm -rf /Volumes/SDCARD/._* sudo chflags -R arch /Volumes/SDCARD but this last one says not permittee. sudo xattr -rc /Volumes/SDCARD

I still get errors on lunch though.

cerezo074 commented 4 years ago

From Mohave 10.14.5, I've tried these things:

  1. @vin047, Change name of the volume
  2. @tobsn, Last step gave me an error, I think is not necessary

That' works like a charm 😊. Thanks so much 👌!!!

baptisteArno commented 4 years ago

sudo chflags -R arch /Volumes/

if your card is exFAT formatted

Reformatting the microSD card with a different partition name ("UNTITLED")

if FAT32

I'm not sure to understand why.

Masamune3210 commented 4 years ago

If you are talking about why format from exfat to fat32, it's due to ninty's exfat filesystem driver being a steaming pile of garbage

baptisteArno commented 4 years ago

I'm talking about why changing the partition name resolves the problem

Masamune3210 commented 4 years ago

Aah, sorry

yellows8 commented 4 years ago

Regarding partition-name: #97

antonsteenvoorden commented 4 years ago

I used this guide (Link removed) to create the partitions, and it failed to read /switch (I'm using a 128GB samsung microSD which I think can only be formatted as exFAT) Using sudo chflags -R arch /Volumes/SWITCH/switch did not solve my issue. Then as @vin047 suggest I changed the name using the following command: diskutil rename SWITCH NSW

Worked like a charm. No need to re-format!

fincs commented 4 years ago

Locking this thread because it has pretty much run its course. Nintendo's exFAT filesystem driver is known to be buggy; and in addition it looks like it has bugs with folders having the same name as the partition label. There's nothing we can do here.