@Rimzi The clone beeing corrupted is expected: It cloned the corruptions too. So now we will start to fix this corruptions. In any case you'll only boot from the clone from now on.
The bad news is that there are indeed corrupted folders (I think even corrupted quotas) but the good news is they aren't many. So let's start with them. For this you'll need working network in the recovery_menu, see
https://github.com/GaryOderNichts/recovery_menu#load-network-configuration . So create the file as told there, then boot the recovery_menu and navigate to Load Network Configuration. After that navigate to Start wupserver.
Now with wupserver up&running on the Wii U grab
on your PC. Open it with a text editor and search for the line
Code:
def __init__(self, ip='192.168.178.27', port=1337):
change the IP to the one of the Wii U (don't change the port) and save that. Then execute a shell, navigate to the folder with the wupclient.py and execute
python -i wupclient.py
(or maybe
python3 -i wupclient.py
). This should give you the code 0x0 and a prompt.
In this prompt do the following:
Code:
w.cd("/vol/storage_mlc01")
w.mkdir("corrupted", 0")
w.mv("usr/boss/00050000/10102400/user", "corrupted/01")
w.mv("usr/boss/00050002/1012be01/user", "corrupted/02")
w.mv("usr/boss/00050010/10040200/user", "corrupted/03")
w.mv("usr/boss/00050010/1004c200/user", "corrupted/04")
w.mv("usr/save/00050000/10102100/user", "corrupted/05")
w.mv("usr/save/00050000/10102400/user", "corrupted/06")
w.mv("usr/save/00050000/10102f00/user", "corrupted/07")
w.mv("usr/save/00050000/10105700/meta", "corrupted/08")
w.mv("usr/save/00050000/1010ed00/user", "corrupted/09")
w.mv("usr/save/00050000/1018dd00/user", "corrupted/10")
w.mv("usr/save/00050000/10195d00/user", "corrupted/11")
w.mv("usr/save/00050000/101fed00/user", "corrupted/12")
w.mv("usr/save/00050002/1012b101", "corrupted/13")
w.mv("usr/save/00050002/1012be01/user", "corrupted/14")
w.mv("usr/save/00050010/10040200/user", "corrupted/15")
w.mv("usr/save/00050010/1004d200/user", "corrupted/16")
w.mv("usr/save/00050030/10016200", "corrupted/17")
w.mv("usr/save/00050030/10017200", "corrupted/18")
flush_mlc()
Don't copy and paste that codeblock but execute every line seperately as some of them need confirmation. Note that at the time of writing there's no way to remove this corrupted folders/quotas. We just move them away where they won't cause a crash except when doing a factory reset. So do not try to factory reset in the future.
While you do this I'll prepare the next steps for you and edit this post when done, so stay tuned.
//EDIT: Okay, so as a next step we will remove all the corrupted titles we can delete without doing more harm than good. So execute in wupclient:
Code:
delete_title("/vol/storage_mlc01/usr/title/00050000/10102f00", 0)
delete_title("/vol/storage_mlc01/usr/title/00050000/10105700", 0)
delete_title("/vol/storage_mlc01/usr/title/00050000/10131c00", 0)
delete_title("/vol/storage_mlc01/usr/title/00050002/10111f01", 0)
delete_title("/vol/storage_mlc01/usr/title/00050002/1012b101", 0)
delete_title("/vol/storage_mlc01/usr/title/00050002/1012be01", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/10101b00", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/10102100", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/10102400", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/1010ed00", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/10111f00", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/10132400", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/1016a400", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/1018dd00", 0)
delete_title("/vol/storage_mlc01/usr/title/0005000e/10195d00", 0)
flush_mlc()
After that we should have reduced from more than 1700 to around 250 corruptions left.
Again: I'll post this now so you can start early while I'll prepare the next step.
//EDIT²: Now the last corrupted things are system titles. We can't remove them (don't even try: It could bring your Wii U into a state the recovery menu won't boot anymore). Instead we will resinstall them hoping that MCP (a tool by Nintendo running on the Wii U) will remove the corruptions while doing so. Note that this hasn't been tested in the past but I don't want to prepare commands to remove ~250 files when we can avoid that.
So grab a NUS downloader like JNUSTool (NUSspli and Wii U Downloader currently not useable for this purpose) to download the following titles:
Code:
0005001010040200
0005001010044200
0005001010045200
0005001010047200
0005001010048200
0005001010049200
000500101004a200
000500101004b200
000500101004c200
000500101004e200
000500101005a200
0005001010062200
0005001010066000
0005001b1004f000
0005001b10056000
0005003010010209
0005003010011209
000500301001120a
000500301001220a
000500301001320a
000500301001420a
000500301001520a
000500301001620a
0005003010017209
000500301001720a
000500301001820a
000500301001920a
000500301001a10a
000500301006d20a
Grab the recovery_menu attached to this post. The difference between this and upstream is that this allows batch install while upstream would require you install every title one by one. Copy the downloaded folders (containing the .app and .h3 files as well as title.tmd, title.tik and title.cert) into the install folder on the root of your SD card (create it if missing). Don't forget to also copy the downloaded recovery_menu, then boot that and selete the "Install WUP" option. Note that installing needs some time, it most likely isn't frozen even when looking like that.
Now re-run the MLC checker to make sure neither me nor you did any mistake. It should show corruptions inside of /vol/storage_mlc/corrupted only. If that's the case try to boot the console but in case it shows any other corruptions tell us the result.
//EDIT³: One example of how to use JNUSTool:
java -jar JNUSTool 0005001010040200 -dlEncrypted