poniedziałek, 10 września 2012

Windows 7 udostępnia pliki a komputery z XP nie mają do nich dostępu

W pracy zarządzam niewielką siecią. Komputery są wpięte do switcha a switch do routera, który zarządza całością. Jeden z komputerów, nazwijmy go roboczo serwerem, udostępnia stale dość dużą ilość danych. Jest to stacja z systemem operacyjnym Windows 7. Pozostałe komputery pracują na Windows 7 lub Windows XP.

W podanej konfiguracji spotkałem się z takim problemem. Po odpowiednim ustawieniu udostępniania (dostęp bez hasła, dla wszystkich użytkowników, jedna grupa robocza na wszystkich komputerach, etc.) wszystko działało tylko przez krótki moment. Po jakimś czasie komputery z Windows XP traciły dostęp do udostępnionych plików. Przy próbie otwarcia zasobów pojawiały się komunikaty różnej treści. Nie jest ona istotna dla całej sprawy. Ważne, że nie było dostępu do plików oraz nie można było wyświetlić jakiejkolwiek zawartości grupy roboczej z komputera z Windows XP. Jedynym, jak się wydawało, rozwiązaniem był restart serwera. Ale po chwili sytuacja się powtarzała. Kluczem do rozwiązania problemu okazała się zawartość Dzienników Zdarzeń Systemu Windows (Komputer => PPM => Zarządzaj => Podgląd zdarzeń => Dzienniki Systemu Windows => System). Pojawiał się tam błąd z identyfikatorem zdarzenia 2017.

Dalej pomógł "wujek Google" i strona w języku angielskim: http://answers.microsoft.com/en-us/windows/forum/windows_7-networking/svr-error-2017-windows-xp-cannot-connect-to-shares/9f7ddcae-eff1-4166-9754-f77f1d7b7378. W posiadanej i opisanej przeze mnie konfiguracji sieci, podstawą jest zmiana dwóch kluczy rejestru serwera. Wartość klucza DWORD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache trzeba ustawić na 1 (domyślnie jest 0) a wartość klucza DWORD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters\Size zmienić na 3 (domyślnie jest 1).

Można też dodać klucz HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters\MaxNonpagedMemoryUsage i ustawić jego wartość na najwyższą możliwą czyli 4294967295 lub szesnastkowo ffffffff. Ta zmiana jest odpowiedzią na treść komunikatu błędu 2017: "Serwer nie może przydzielić pamięci z puli niestronicowanej, ponieważ osiągnął skonfigurowany limit dla przydzielania puli niestronicowanej".

Można jeszcze wejść w zaawansowane ustawienia systemu serwera: Mój komputer => PPM => Właściwości => Zaawansowane ustawienia systemu => karta Zaawansowane, pole Wydajność => Ustawienia... => karta Zaawansowane => Dopasuj w celu uzyskania lepszej wydajności przez: zaznaczyć Usługi działające w tle.

Po wszystkich operacjach trzeba zrestartować komputer, który udostępnia pliki a błędy nie powinny się już pojawiać.

Słowem wstępu

Wszyscy dookoła prowadzą blogi. Moja żona ma bloga, moi przyjaciele prowadzą blogi, nawet moja mama ma bloga. A ja nic, do dzisiaj. Jako samodzielny i jedyny informatyk w firmie spotykam się z różnymi problemami informatycznymi. Przez niektóre z nich spędziłem wiele godzin, a czasem nawet dni na poszukiwaniu rozwiązań. Wynikami moich prac postanowiłem się podzielić, umieszczając posty na blogu. Być może komuś ta wiedza się przyda. Przy okazji nie będę musiał na nowo przekopywać literatury, gdy jakiś problem znów się pojawi a ja zapomnę jak go rozwiązałem.


Zbyszek Góra