2010-12-28 11 views
24

Wiem, że FAT32, a także FAT16/12 nie obsługują dowiązań symbolicznych ani twardych odnośników. Jednak wpadłem na ten pomysł:Łącza do systemu plików na dysku sformatowanym w systemie plików FAT32

Specyfikacja FAT opisuje, że każdy plik jest powiązany z wpisem do katalogu. W moim rozumieniu można powiedzieć, że pozycja pliku w katalogu w jakiś sposób lub w inny sposób odpowiada zawartości pliku.

Jak zdefiniować dwa wpisy katalogów, które wskazują na tę samą zawartość pliku? Albo co mogłoby mi to uniemożliwić?

przypadków użycia: Mam urządzenie pamięci masowej USB do mojego radia samochodowego i chcę użyć jako katalogi odtwarzania ponieważ oprogramowanie radiowa nie obsługuje list odtwarzania. Dlatego nie jest dla mnie ważne, jak zachowuje się system Windows podczas wykonywania tej czynności.

+0

Jaki jest przypadek użycia? Dlaczego utknąłeś przy użyciu systemu plików FAT32? Jaki system obsługuje tylko FAT32, ale rozumie dowiązania symboliczne? –

+0

Wyjaśniam to w moim komentarzu do odpowiedzi 1 – fishbone

+4

Czy zrobiłeś więcej postępów w testowaniu? Próbuję zrobić dokładnie to samo dla interfejsu USB mojego samochodu, tylko chcę napisać prosty GUI do wykonania pracy zamiast używania edytora szesnastkowego. Napisz do mnie e-maila, jeśli nadal interesujesz się tym projektem (usuń wszystkie podkreślenia): crush_meguy at yah_oo dot com. –

Odpowiedz

4

To, o czym mówisz ("dwa wpisy w katalogu, które wskazują na tę samą treść pliku") to twarde linki. chkdsk zgłasza je jako przekierowania i łamie je, "naprawia" pliki (w rzeczywistości tworzy kopie).

+0

Tak naprawdę chcę to zrobić na urządzeniu USB do użytku z moim radiem samochodowym. Moim pomysłem jest sfałszowanie list odtwarzania, ponieważ nie są one obsługiwane przez urządzenie. Mogę sobie wyobrazić, że dostawcy używają dostarczonych sterowników - czy uważasz, że te sterowniki implementują zachowanie podobne do chkdsk? Czy wiesz, jak to robi Linux? Czy znasz dobre narzędzie do zabawy z tym pomysłem? W tej chwili używam edytora szesnastkowego. – fishbone

+0

@fishbone Można się tylko domyślać, jak dany sterownik będzie się zachowywał na określonym urządzeniu. Niektóre sterowniki mogą mieć wbudowaną funkcję chkdsk, ale wątpię, aby zawierały tam funkcję "naprawiania". Mogą jednak odmówić gry "zepsutym" mediom. Pamiętaj, że aby wyjaśnić pytania, lepiej jest edytować oryginalne pytanie, a nie dodawać komentarze - to dodaje czytelności do pytania i od razu przyciąga uwagę tych, którzy czytają pytania. –

+1

Powodem, dla którego nie lubię edycji pytań jest to, że poprawne odpowiedzi staną się błędne. Napisałem komentarz, ponieważ uważałem, że chkdsk jest programem tylko dla systemu Windows, ale nigdy nie powiedziałem, że zamierzam używać okien. – fishbone

5

Powinno to działać w przypadku prostych problemów. To znaczy. działa jak włamanie/obejście i nie wiem, co się stanie, jeśli zmienisz nazwę/przeniesiesz/usuniesz pliki. Nie powinieneś tego robić na głównym hdd.

Edytowałem wpisy katalogów ręcznie za pomocą edytora szesnastkowego. Zmieniłem klastry, a także rozmiary plików i z powodzeniem sfałszowałem twarde linki. Moje radio samochodowe, a nawet Windows (7, 64Bit) nie mają problemów z odtwarzaniem oryginalnych i "twardych" plików mp3, których używałem.

Kiedy jestem znowu otwarciem urządzenia w żaden hex-edytora moich modyfikacji są zmieniane z powrotem (Patrz chkdsk problem w Odpowiedź # 1 - ale o ile wiem, chkdsk musi być uruchomiony ręcznie, tak czy inaczej

.
+0

Jak otworzyć tabelę alokacji w edytorze? –

+0

potrzebujesz bardziej szczegółowych instrukcji ręcznego edytowania pozycji katalogu (lub przykładu) – eadmaster

1

MichaelPh pisał instrukcje na superuser:

https://superuser.com/a/486829/51237

jest możliwe użycie Disk Probe (na XP tylko, ja jeszcze mam dostać to napisać zmiany na Win7) modyfikacji klastra tłuszczu Referencje katalogu Ta metoda może być wykorzystana do przekierowania DCIM fol der (lub podfolder), aby wskazać folder używany przez inne urządzenie skanujące.

Niezależnie od tego, czy jest to dobry pomysł, czy nie, jest to inna sprawa i używasz tego na własne ryzyko.

  1. Włóż kartę Eye-Fi albo w to jest czytnik kart USB lub bezpośrednio do gniazda SSD i zanotować literę dysku jest zainstalowany jako (zakłada się, że F: \ dla uproszczenia)
  2. zapewnienia, że ​​wszystkie okna Eksploratora Windows dla karty i podkatalogów są zamknięte.
  3. Run Disk Probe
  4. Wybierz Drives-> Logical Volume
  5. W oknie dialogowym Otwórz Logical Volume kliknij dwukrotnie F: \ na liście woluminów logicznych
  6. Kliknij przycisk Set Active do klamki F: został wybrane jako. Możesz teraz pozostawić uchwyt jako tylko do odczytu.
  7. Wybierz Narzędzia-> Wyszukaj sektory ...
  8. Sprawdź wyszukiwanie wyczerpujące, wpisz DCIM w Wprowadź znaki, aby wyszukać i wyszukać
  9. Powinieneś znaleźć dopasowanie (moje jest na 8192). Wybierz opcję Nie w oknie dialogowym "Znaleziono dopasowanie ...", aby anulować pozostałą część wyszukiwania.
  10. Wybierz sektory-> Odczytaj i zwiększ liczbę sektorów do co najmniej dwóch, aby uwzględnić całą tabelę katalogów.
  11. Znajdź DCIM w ASCII po prawej stronie ekranu Disk Probe, jest to początek wpisu FAT dla katalogu. Zanotuj wartość szesnastkową 27. bajtu rekordu (każdy wpis to 32 bajty), jest to odwołanie do klastra katalogów. Ta wartość jest wymagana, aby przywrócić normalny katalog DCIM, jeśli jest to wymagane.
  12. Znajdź pozycję dla katalogu, do którego chcesz przekierować DCIM, i ponownie zanotuj 27. bajt w rekordzie.
  13. Powróć do 27. bajtu rekordu DCIM i zmień go na wartość odnotowaną w kroku 11.
  14. Wybierz sektory-> Zapisz, a następnie kliknij przycisk Zapisz w oknie dialogowym Zapisz sektor. Pojawi się ostrzeżenie, jeśli otworzysz sektory tylko do odczytu. Tak, aby nadpisać, jeśli chcesz wprowadzić zmiany.

Otwarcie katalogu DCIM w Eksploratorze Windows spowoduje wyświetlenie zawartości katalogu docelowego.

Powiązane problemy