Naprawa inicjalizacji dysku PS3 przez Windows

Na wewnętrznym HDD, PlayStation 3 używa własnościowego formatu tablicy partycji. To między innymi dlatego pamięć masowa z tej konsoli nie jest rozpoznawana przez inne systemy operacyjne na dowolnej innej platformie. Jeśli chciałeś odczytać dane z dysku PS3 na Windows za pomocą programu HDD Reader lub po prostu sprawdzić S.M.A.R.T i byłeś na tyle nieuważny by zgodzić się na jego tzw. inicjalizację to właśnie nadpisałeś oryginalną tablicę partycji, czystą MBR lub GPT, której PS3 nie zrozumie, a co za tym idzie zapyta o sformatowanie nośnika.

Da się to naprawić, ale okupione jest to sporą ilością czasu i cierpliwości, bowiem procedura polega na przygotowaniu posektorowego obrazu z „zepsutego dysku”, sformatowanie go na konsoli, przeszczepienie poprawnej tablicy partycji do obrazu „zepsutego HDD” i wgranie go z powrotem na fizyczny nośnik. Oczywiście wszystko to trzeba zrobić na tej samej konsoli, ponieważ każda szyfruje dysk unikalnym dla każdego modelu z osobna kluczem (tablica z innej konsoli nie będzie pasować do twojej). Jeśli nie interesują cię dane z tego dysku to naturalnie możesz go sformatować na PS3 i zapomnieć o problemie. Poradnik jest dla tych, którzy zamalowali tę część HDD, ale nie chcą stracić danych i dlatego muszą się ratować takim karkołomnym sposobem.

Kopia posektorowa

Pierwszą czynnością jakąś musisz zrobić jest wykonanie obrazu z całego dysku twardego. Nie może być obudowany w kontener, ani skompresowany, dlatego wybrałem narzędzie DMDE (wystarczy wersja darmowa).

1. Uruchom wspomnianą wyżej aplikację i wybierz z menu "Tools" opcję "Copy Sectors…".

2. Następnie wybierz urządzenie klikając w "Device" w kategorii "Source" i miejsce docelowe na obraz, klikając w "File" w kategorii "Destination".

Nie muszę chyba dodawać, że ilość wolnego miejsca na nośniku, na którym masz zamiar zapisać obraz HDD musi być większa niż on sam. ;)

3. Kliknij w przycisk "Ok", zostaniesz zapytany o chęć utworzenia pliku z log-iem operacji (nie jest potrzebny) i potwierdzenie swoich działań.

Po zakończeniu wykonywania obrazu dysku, wyświetli się podsumowanie. Błędów odczytu, podobnie jak ominiętych sektorów, błędów zapisu i pozostałych nieskopiowanych danych, nie powinno być żadnych (świadczyć to będzie o uszkodzeniu nośnika i podda w wątpliwość sens całej tej żmudnej operacji klonowania tablicy partycji).

Formatowanie

Z powrotem podłącz dysk do PS3 i pozwól jej go sformatować.

Jeśli model konsoli posiada pamięć NOR (zamiast NAND jak w pierwszych seriach), to zostaniesz dodatkowo poproszony o umieszczenie firmware na pendrive (jeśli masz wgrany CFW to powinien być to ten sam, w tej samej wersji). Czyli musisz dodatkowo podłączyć pendrive z systemem plików FAT32 na MBR, stworzyć folder "PS3", w nim "UPDATE" i do środka wrzucić plik nazwany "PS3UPDAT.PUP" (wielkość liter ma znaczenie). Będziesz musiał także podłączyć joypada kablem i potwierdzić akcję wciskając jednocześnie przyciski Start i Select, podobnie z potwierdzeniem formatowania, wciskając i przytrzymując je oba przez około pięć sekund.

W nomenklaturze CellOS: "dev_usb006/PS3/UPDATE/PS3UPDAT.PUP"

MBR vs GPT

Zaczynając od Windows Vista, aż po obecne wersje Windows 10, dla wykrytych (w jego mniemaniu) czystych HDD proponuje tablicę partycji MBR (dla dysków poniżej 1TiB) lub GPT (dla 1TiB lub większych). Zależnie od tego, który został wybrany, tyle danych istotnych dla struktury logicznej, uległo nadpisaniu.

MBR - 1 sektor - 512B
GPT - 34 sektory - 17408B (17KiB)

Dla starszych nośników wielkość sektora równa jest 512 bajtów, ale nowsze mogą mieć nawet 4096. Nie jestem pewien czy PS3 wyrównuje między innymi tablicę do tych wielkości (nie mam takich HDD aby sprawdzić samemu), dlatego weź poprawkę na to, że np. 34 sektory to może wcale nie być 17KiB tylko 136KiB. Wszystkie dyski, z którymi sprzedawane są konsole PS3, mają sektory po 512. Jeśli wymieniałeś dysk na inny, taką informację powinieneś znaleźć na stronie producenta.

Wydzielanie

Podłącz nowo sformatowany dysk z PS3 do PC. Wiedząc jaki format tablicy partycji niefortunnie użyłeś, tyle teraz musisz uszczknąć ze „sprawnego dysku”. Wszystkie czynności są identyczne jak przy wykonywaniu pełnego obrazu, z tą różnicą, że sam ustalasz ilość sektorów.

Proponuję nazwać pliki "fix_mbr.img" i "fix_gpt.img". Możesz wykonać oba, na wypadek gdybyś w przyszłości ponownie się skrzywdził. Oczywiście będą pasować wyłącznie do tego konkretnego dysku twardego i tej konkretnej konsoli.

Wszczepianie

Mając już zrzuty: poprawnej tablicy partycji i dysku po windowsowej aneksji, przyszedł czas zbudowania z nich Frankensteina.

1. Wgraj z powrotem obraz całego, „zepsutego dysku”, czyli w moim przykładzie "disk.img", na nośnik docelowy. Pamiętaj aby nie wgrywać obrazu na inny dysk twardy gdyż PS3 przypisuje ten konkretny (po modelu, numerze seryjnym i wersji jego fw) do tej konkretnej instalacji (a więc również nie wolno formatować na konsoli innego dysku twardego bo przypisze inny niż ten „zepsuty”, który za chwilę naprawisz – tak się dzieje na PS3 z pamięcią NOR, na NAND takiego ograniczenia chyba nie ma). Przy próbie podłączenia „nieprzypisanego HDD”, konsola wymusi jego sformatowanie bez względu na to czy jest zaszyfrowany kluczem z tej konsoli czy nie, i czy ma nieuszkodzone tablice partycji i systemów plików czy nie ma.

Zrobisz to tak samo jak zrobiłeś odczytywanie, z tym że zamieniasz miejscami "Source" i "Destination".

2. Po wgraniu pierwotnych danych, nadpisz teraz tylko tablicę partycji z obrazu "fix_mbr.img" lub "fix_gpt.img", który przygotowałeś ze świeżo sformatowanego na PS3 dysku twardego.

To wszystko. Po zakończeniu wgrywania, wystarczy podłączyć tak spreparowany dysk twardy do konsoli, która nie powinna już go odrzucić.

Sposób ten zadziała tylko w przypadku „inicjalizacji dysku” przez Windows, ponieważ różne programy potrafią nadpisać więcej danych niż potrzeba (np. GParted przemalowuje aż 16MiB, a taka ilość zabija dane, które już nie są identyczne po każdej instalacji).

PS: Jeśli zdziwił cię mój "dysk twardy" to niepotrzebnie bo do testów łatwiej było mi posłużyć się takim o to wynalazkiem:

:)