Katalog Users na osobnej partycji

Users icon

Users icon


Katalog Users domyślnie w Windowsie znajduje na nieszczęście wśród innych katalogów na partycji systemowej. Jest to bardzo niekomfortowe rozwiązanie. Po pierwsze nasze dane są mniej bezpieczne, po wtóre gdy zachodzi konieczność przeinstalowania lub przywrócenia systemu operacyjnego stracimy nasze dane, jeśli ich wcześniej nie przeniesiemy. W Linuksie pomyślano o tym już dawno dawno temu, tam można wydzielić osobą partycję /home (będącą odpowiednikiem katalogu Users w Windowsie) w prosty sposób już na etapie instalacji systemu. W Windowsie nie jest to już takie proste ale nie jest także całkowicie niewykonalne.

Przeniesienie katalogu Users na zainstalowanym systemie Windows 7 / Vista

W internecie można znaleźć wiele poradników jak przenieść katalog Users na już zainstalowanym systemie. Można je generalnie podzielić na 3 grupy, które pokrótce tu omówię, zacznę od metody najprostszej ale i też najgorszej, a przez to niepolecanej przez mnie.

Zmiana lokalizacji wybranych podkatalogów w katalogu domowym użytkownika

Pierwsza metoda przeznaczona jest dla klikaczy – otwieramy katalog użytkownika, po czym klikamy po kolei na każdy z podkatalogów:

  • Kontakty (Contacts),
  • Pulpit (Desktop),
  • Moje dokumenty (Documents),
  • Pobrane (Downloads),
  • Ulubione (Favorites),
  • Łącza (Links),
  • Moja muzyka (Music),
  • Moje obrazy (Pictures),
  • Zapisane gry (Saved Games),
  • Wyszukiwania (Searches),
  • Moje wideo (Videos).
Katalog domowy

Katalog domowy

Prawym przyciskiem myszy klikamy po kolei na wszystkie z wymienionych podkatalogów katalogu domowego użytkownika i wybieramy Właściwości. Następnie przechodzimy na kartę Lokalizacja klikamy przycisk Przenieś i wskazujemy nową lokalizację lub jeśli już wcześniej podkatalog został gdzieś przez nas przeniesiony – wybieramy Znajdź element docelowy i wskazujemy gdzie on został przeniesiony.

Lokalizacja - Przenieś katalog

Lokalizacja - Przenieś katalog

Metoda ta ma 2 wady: trzeba się naklikać, a poza tym w ten sposób nie przeniesiemy wszystkich katalogów znajdujących się w profilu użytkownika, np. pominiemy ważny katalog AppData, w którym zgromadzone się ustawiania aplikacji. To całkowicie dyskwalifikuje tą metodę.

Zmiana lokalizacji ProfileList poprzez edycję rejestru

Przystępując to zmiany lokalizacji katalogu Users posługując się tą metodą najlepiej gdyby w systemie było założone tylko jedno konto. Konto to musi oczywiście dysponować uprawnieniami administratora. Ze względu na przebieg tej metody możemy to konto nazwać tymczasowym.

Pierwszą rzeczą jaką musimy zrobić to skopiować profil domyślny Default i publiczny Public:

Użycie przełącznika /xj powoduje, że nie są kopiowane dowiązania, a tych jest pełno w katalogu użytkownika, z kolei usunięcie go spowoduje skopiowanie zamiast dowiązania katalogu, jego zawartość. Dodatkowo, istnieje ryzyko, że polecenie wpadnie w nieskończoną pętlę, aż do całkowitego zapełnienia dysku.

Następnie uruchamiamy Edytor rejestru komendą regedit, gdzie przechodzimy do gałęzi:

gdzie zmieniamy wartości kluczy Default, ProfilesDirectory, Public, tak aby wskazywały nowe lokalizacje.

ProfileList

ProfileList

Teraz zakładamy drugie konto administratora, wylogowujemy się z konta administratora tymczasowego i logujemy się na nowo utworzonym koncie. Profil tego konta został utworzony w nowej lokalizacji. Musimy jeszcze pozbyć się starego katalogu Users oraz skasować lub zmniejszyć uprawnienia konta administratora tymczasowego. Jeśli chodzi o kasowanie starego katalogu Users, konieczna będzie odpowiednia modyfikacja praw dostępu do jego zawartości aby nowy administrator mógł go skasować. Alternatywnie można zabootować komputer z jakiejś linuksowej dystrybucji typu LiveCD. Współcześnie dystrybucje Linuksa bez problemu obsługują partycje ntfs, ignorując przy tym prawa dostępu do plików nadane na poziomie Windowsa, więc skasowanie starego katalogu Users to jeden klik.

Skorzystanie z dowiązań katalogów

Trzecia metoda opisana jest dokładnie pod tym adresem. Metoda ta na pierwszy rzut oka wydaje się być bardzo obiecująca. Problemem jest jednak narzędzie robocopy. W podanym przewodniku mamy go użyć w ten sposób:

Użycie przełącznika /xj powoduje, że nie są kopiowane dowiązania, a tych jest pełno w katalogu użytkownika, z kolei usunięcie go spowoduje skopiowanie zamiast dowiązania katalogu, jego zawartość. Dodatkowo, istnieje ryzyko, że polecenie wpadnie w nieskończoną pętlę, aż do całkowitego zapełnienia dysku.

Zmiana lokalizacji katalogu Users podczas instalacji systemu Windows 7 / Vista

Wszystkie trzy opisane powyżej metody mają jednak wady. Najlepiej pomyśleć o tym już na etapie instalacji. Metoda ta jest banalnie prosta i skuteczna. Na pendrivie (zasadniczo może to być dowolny inny przenośny nośnik, ale miało być najprościej) tworzymy plik Unattend.xml lub Autounattend.xml o następującej zawartości, w przypadku systemu 64-bitowego:

lub dla systemów 32-bitowych:

I już możemy zacząć instalację pamiętając, żeby nie usuwać pandrive’a z gniazda USB w czasie instalacji. Instalator Windows odczyta stworzony przez nas plik i zgodnie z nim katalogi: Users i ProgramData zostaną umieszczone na partycji D:.

Po zainstalowaniu systemu czeka nas jeszcze maleńka kosmetyka. W zasadzie jeśli jej nie wykonamy pewnie i tak nic się nie stanie, ale na wszelki wpadek zabezpieczymy się przed programami, które na siłę mogą uważać, że katalogi: Users i ProgramData muszą być na C:. Tak więc odpalamy konsolę / wiersz poleceń i wykonujemy:

A skoro już mowa o instalacji systemu Windows, to sugeruję tworzenie nazw użytkowników wyłącznie małymi literami, będzie to miało znaczenie przy logowaniu do systemu via SSH. No cóż, znów daje o sobie znać przyzwyczajenie 🙂 Natomiast jeśli chcemy, aby na ekranie logowania nasza nazwa użytkownika była elegancko napisana z wielkiej litery wybieramy z menu: Panel sterowania -> Narzędzia administracyjne -> Zarządzanie komputerem -> Użytkownicy i grupy lokalne -> Użytkownicy. Następnie prawym przyciskiem myszy podświetlamy użytkownika, wybieramy Właściwości i na domyślnej karcie Ogólne wpisujemy Pełną nazwę użytkownika.

Pełna nazwa użytkownika

Pełna nazwa użytkownika

18 Comments

  1. Byłem zmuszony wykonać powyższą. Pierwszy sposób odpadł na wstępie – ponieważ mam na kompie sporą grupę użytkowników i jest to dość czasochłonne. Trzeci sposób też poleciał, gdyż system miałem już zainstalowany, a z lenistwa nie chciało mi się tego robić na nowo 🙂 . Pozostała tylko 2-ka.

    Ja robiłem to w ten sposób:
    1) Jakieś konto z prawami admina w systemie – takie z którego później nie będziemy korzystać (katalogi zostaną przerzucone, ale wszystkie chyba powiązania zostaną do C, no chyba, że ktoś później zrobi jeszcze na nim pkt 1 wg powyższego artykułu – i tak część plików będzie pobierana z macierzystych ścieżek),
    2) Ja musiałem dorzucić kilka plików i folderów do każdego pulpitu użytkownika który dopiero powstanie . Odpowiada za to katalog Default (C:\Users\Default\Desktop). A także kilka skrótów w autostart (C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup) – u mnie odpada katalog AllUsers, gdyż niektóre pliki są niepotrzebne wszystkim użytkownikom, a w ten sposób jak coś każdy będzie mógł usunąć co mu nie potrzebne,
    3) Wpis w CMD (dodam, że konsola musi być uruchomimy w trybie administratora) z pkt 2 powyższego artykułu z małą modyfikacją, po której polecenie wygląda tak:
    robocopy /z /r:0 w:0 /copyall /mir /xj C:\Users D:\Users
    bez tych zmian wiesza się przy niektórych plikach (u mnie tylko przy NTUSER.DAT),
    4) modyfikacja kilku wpisów w rejestrze:
    regedit → ctrl+f → ProfilesDirectory
    powinno znaleźć dwie ścieżki HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Profilelist
    HKLM\Software\Wow6432Node\Microsoft\WindowsNT \CurrentVersion\Profilelist
    i tam zmieniałem z %SystemDrive%\Users\XXX na D\Users\XXX
    w nazwach Default, ProfilesDirectory, Public,
    5) Na koniec konta, które miały wszystkie katalogi na drugiej partycji.

    Mój sposób daje możliwość przeniesienia katalogów, jednak tylko dla nowych kont i obejmuje także część starych tj.: „All Users” (w Win7 Public), oraz „Default User” (w Win7 Default)

    Powyższe czynności przeprowadzone na Win 7 64 bit

  2. Czy metoda #3 działa w przypadku Windows 8?

  3. Kurcze u mnie sposób 3 nie chce zadziałać za cholerę
    Nie wiem co robię nie tak

    • Nie napisałeś, co konkretnie nie działa. Generalnie, najsłabszym ogniwem metod #2 i #3 jest narzędzie robocopy /copyall /mir /xj, które pomija dowiązania. Skutkiem czego niektóre, źle napisane programy mogą nie działać.

  4. Druga metoda działała w Win7 bez zarzutu, ale zainstalowałem Win 8.1 i niestety musiałem wykasować wszystkie partycje z dysku, bo Win8 nie pozwolił się zainstalować ze względu na niekompatybilność Win8.1 z MBR. Niestety Twój artykuł czytałem dawniej i pominąłem 3 metodę. Teraz mając już zainstalowany system próbowałem drugiej metody z “robocopy”, ale niestety bez powodzenia. Czyżby czekała mnie reinstalacja Win 8.1?

  5. Witam,
    rozumiem, że przeniesienie lokalizacji podczas instalacji systemu polega na tym, że uruchamiamy instalator z płyty lub pendrive, następnie podłączamy pendrive z plikiem Autounattend.xml i wszystko dzieje się z automatu? Pozdrawiam.

  6. Witam

    Dzięki za świetny poradnik (skorzystałem z wersji 3 i działa). Ale czy możesz poradzić jak do plików użytkownika (podczas instalacji systemu) na innej partycji/dysku dorzucić //program files dla W7 w wersji 64 bit?
    pozdrawiam

    • Czyli chodzi o metodę #4 (instalacja systemu) a nie #3 (dowiązywanie katalogów)? Niestety MS nie przewidział możliwości przeniesienia Program Files ani Program Files (x86) podczas instalacji systemu.

  7. Witam, jak mam instalkę Windowsa 7 na USB to wystarczy dorzucić do niego ten plik Unattend.xml czy muszę ekstra szukać drugiego penadriva?

  8. Dzień dobry.
    Jakiś czas temu dzięki Twojej metodzie (nr 3) przeniosłem użytkownika na osobną partycję w Win7. Teraz (chyba) wypadałoby już się zastanowić nad aktualizacją windowsa do Win10,ponieważ zbliża się koniec terminu na darmową aktualizację. Dlatego chciałbym zapytać,czy win10 da radę zainstalować mając użytkownika na partycji D:, czy może należy kombinować z instalacją, jak w podpowiedzi z aktualizacją do win8.1, czy może jest jakieś inne rozwiązanie?
    Dzięki.

  9. Jest postęp! Aktualizacja do 10 poszła bez problemu i jakiegokolwiek kombinowania. Gwoli ścisłości dodam jednak, że ja robiłem aktualizację z 8.1 do 10, ale przypuszczam, że z 7 również będzie OK.

  10. Super. Dzięki za informację.
    Napiszę, jak uda mi się (bądź nie) dokonać aktualizacji.

  11. Witam!
    Wszystko udało się bez problemów.
    Pozdrawiam.

Leave a Reply

Your email address will not be published. Required fields are marked *