Jak odczytać zawartość dysku Ext4 pod systemem Windows 7? To pytanie zadałem sobie wczoraj, kiedy potrzebowałem skopiować backup z zewnętrznego dysku. Pierwsza myśl padła na wolny i otwarty sterownik Ext2Fsd. Zrażony jednak trudnością instalacji sterowników pod Windowsem, na przykładzie iPlusa, postanowiłem jednak poszukać innego rozwiązania. Ciekawym pomysłem okazał się projekt FSproxy, który dostępny jest na licencji GPL3.
Jest to mała aplikacja (nie sterownik), która pozwala na dostęp w trybie do odczytu do takich systemów plików jak: ext2, ext3, ext4, reiserfs, jfs, xfs
pod Windowsem. Wykryte partycje dostępne są w zasobie \\fsproxy
i mogą zostać zmapowane jako dysk sieciowy. Można również włączyć eksperymentalny tryb zapisu danych.
Jak to działa
FSproxy jest bardzo sprytnym rozwiązaniem. Całość składa się z dwóch elementów: FSproxy Agent oraz Serwer. Pierwsza aplikacja została napisana w C przy wykorzystaniu Win32 API. Jest to mały program, który pozwala na konfigurowanie oraz monitorowanie FSproxy Serwera.
Proste GUI pozwala na zarządzanie serwerem, uruchamianie go oraz konfigurację interfejsu sieciowego. Całością można zarządzać z zasobnika systemowego za pomocą prostego menu.
Drugim ważniejszym elementem FSproxy jest serwer. Jest to proces QEMU, który uruchamia małą dystrybucję Linuksa. Oprogramowanie emuluje maszynę z procesorem i386, 16MB pamięci RAM oraz kartę sieciową Intel PRO/1000. System operacyjny zawiera 18MB system plików montowany w trybie tylko do odczytu.
Po wystartowaniu, system wykrywa podłączone partycje, ładuje odpowiednie moduły do jądra i montuje zasoby. Następnie uruchamiany jest serwer Samby, który eksportuje partycje. Dostępne są one jako zasób sieciowy \\fsproxy
.
Dostępny jest również prosty serwer HTTP (thttpd), który odpowiada za sterowanie serwerem oraz wyświetlaniem prostej strony ze statusem FSproxy. QEMU wykorzystuje TAP network adapter do komunikacji z Windowsem.
Oprogramowanie
FSproxy składa się z takich elementów jak:
- Linux kernel 2.6.30.2
- Busybox 1.14.1
- Samba 3.4.0
- thttpd 2.25b
- Qemu 0.10.5
- file 4.26
- libcurl 7.19.5
- Tango icon theme
- TUN/TAP network driver
FSproxy jest małym, lecz sprawnie działającym rozwiązaniem, które pozwala na dostęp do partycji Linuksowych pod systemami Windows.
Nie zamula to systemu jak działa w nim drugi system?
Więcej pamięci pożera Ci przeglądarka Internetowa. To maleństwo potrzebuje około 30 MB. Tyle teraz proces pobiera :)
Ostatnio jak używałem tej aplikacji nie miała obsługi ext4, a tu niespodzianka :)
Wreszcie windows dorobiłby się jakiegoś wydajnego systemu plików z prawdziwego zdarzenia.
Bo FAT i NTFS były rodem jak wyciągnięte z jakiejś przestarzałej zabawki dla małego dziecka…
w win8 ma być refs, ale tylko w edycji server. Poza tym, czy ja wiem czy ntfs jest mało wydajny…
lepiej by dodali pełną obsługę wolnych farmatów – xp. XFS. Bo jak narazie to nie da się mieć windowsa na innym system plikow niz ntfs/fat
A czy przypadkiem Ext4 nie jest kompatybilne z Ext3?
A jak z wydajnością tego rozwiązania? Chodzi i o prędkość odczytu/zapisu danych na dysku.
ogólnie szału ni ma ;) ale grunt że działa :]
Dobrze leci, ale wiesza się często i trzeba restartować serwer.
U mnie występuje stała zależność. Przy próbie skopiowania katalogu, który ma powyżej >20k plików, wywala się serwer i trzeba go restartować. W innych przypadkach działa wyśmienicie.
Ja mam jakieś 2,05 MB/s
U mnie jakoś bez wyraźnego powodu przestało działać, ani przeinstalowanie programu ani skanowania partycji linuxowych sytuacji nie zmieniło.
O ile się nie mylę, program nie potrafi jeszcze przechwycić sygnału wyłączenia windows, więc trzeba pamiętać o ręcznym zatrzymaniu serwera przez wyłączeniem głównego systemu. Szczególnie, gdy montuje się ext2/3/4 w trybie rw.
W sumie to od bardzo dawna nie wydana została aktualizacja.
trochę…dziwne podejście
skoro i tak pliki lecą przez "sieć" mogliby dodać opcję przesyłu przez ftp, teorytycznie powinno wyjść szybciej niż smb. Z ciekawości sprawdziłem u siebie i faktycznie – fsproxy ogranicza transfer do 2MB/s (źle skonfigurowana samba?) co moze być denerwujące. Sprawdziłem też linux-readerem od diskinternals i wyszło 15MB/s (choć uważam że wynika to wprost z ograniczenia dysku na usb). Ponadto fsproxy nie udało sie w ogóle wykryć pendrivów (sprawdzałem na dwóch), linux reader nie ma z tym problemu. Ogólnie polecam to drugie, albo najlepiej odpalenie pierwszego lepszego live cd z ntfs-3g. Najlepszy efekt i dużo opcji do wyboru.
U mnie nie było tego ograniczenia i pliki skopiowały się bardzo szybko. Rozwiązania linux-reader nie znałem :)