W Unixach to prościej... czyli jak przenieść /home na inną partycję.
23.04.2011 | aktual.: 26.04.2011 17:37
Witam po 2 miesięcznej przerwie spowodowanej podróżą mojego laptopa do Czech i z powrotem.
Mam nadzieję, że "twórca" tego tytuły nie będzie miał mi za złe, gdy użyję go aby przedstawić pewne rozwiązanie na systemach z rodziny Linuks popierając jego działanie.
Całkiem dawno jeden z użytkowników portalu (już nie pamiętam kto), przedstawiał nam zrobić aby folder "Moje dokumenty" i plik pagefile.sys znajdowały się na innej partycji niż C.
Ja chciałbym pokazać, jak zrobić aby nasz folder domowy znalazł się na innej partycji niż system bez reinstalacji.
Pierwszym krokiem będzie przygotowanie sobie partycji na dysku, którą będziemy mogli podpiąć jako naszą partycję domową. Polecam do tego GParted. Robimy wszystko z jakiegoś LiveCD.
Następnie wywołujemy w konsoli
>sudo fdisk -l
Czego wynikiem jest o taka tablica partycji
Urządzenie Rozruch Początek Koniec Bloków ID System /dev/sda1 1 1530 12288000 27 Nieznany /dev/sda2 * 1531 8057 52428127+ 7 HPFS/NTFS /dev/sda3 8058 21111 104856255 7 HPFS/NTFS /dev/sda4 21112 30396 74573825 5 Rozszerzona /dev/sda5 21112 23738 21094400 83 Linux /dev/sda6 23739 30264 52420063+ 83 Linux /dev/sda7 30265 30396 1048576 82 Linux swap / Solaris
Odnajdujemy w niej partycję z systemem - w moim przypadku sda5 i partycję, z której zrobimy partycję /home. Następnie montujemy naszą przyszłą partycję domową i partycję systemową.
>sudo mkdir /mnt1 >sudo mount /dev/sda5 /mnt >sudo mount /dev/sda6 /mnt1
Kolejnym krokiem jest skopiowanie naszego folderu domowego na nową partycję. Można to zrobić na dwa sposoby.
>sudo cp -R /mnt/home/* /mnt1
lub
>sudo nautilus
i zwyczajnie ręcznie przekopiować folder domowy na nową partycję.
Następnie usuwamy folder profilu z /home
>sudo rm -R /home/draqun
gdzie wy zamiast draqun podajecie nazwę swojego folderu osobistego.
Teraz trzeba dodać do pliku fstab wpis aby nasza partycja była montowana.
>sudo gedit /mnt/etc/fstab
i dorzucamy wpis
/dev/sda6 /home ext4 defaults 1 2
gdzie jako /dev/sda6 podajecie ścieżkę do swojej partycji partycji a w miejsce ext4 swój system plików.
Uwaga jeśli ktoś aktualnie robi to na bieżąco zanim zacznie robić dalej niech doczyta do końca aby nie było niespodzianek.
A więc mamy partycję, na niej znajduje się nasz folder systemowy i partycja jest zaznaczona do montowania. Uruchamiamy ponownie komputer. I teraz uwaga. Po ponownym uruchomieniu nie wstanie nam środowisko i posiadamy 2 błędy w tym błąd związany z ~/ICEauthority. Wchodzimy do konsoli za pomocą
CTRL+ALT+F1
Teraz wykonujemy
>sudo cp -prfv /mnt/* /mnt1/
Wy analogicznie zamiast draqun podajecie nazwę swojego profilu.
Przekopiowany przez nas folder domowy po przekopiowaniu posiadał jako właściciela root'a. Po wykonaniu tej komendy foldery znów będą należeć do nas. A także zostanie rozwiązany problem z .ICEauthority.
Teraz pozostaje tylko zrestartowac X'y.
>sudo killall Xorg
a jeśli nie wstaną automatycznie po ich zabiciu
>sudo startx
Od teraz cieszymy się tym, że nasz folder domowy leży na innej partycji :).
Uwaga. Powyższe wyczyny wykonujecie na własną odpowiedzialność. Autor nie ponosi żadnych odpowiedzialności za utratę danych.
Na co dzień tylko użytkuję Linuksa i nie jestem żadnym specem w żadnym systemie. Na pomysł ten wpadłem dziś po południu i znając tylko parę podstawowych komend osiągnąłem swój cel. Przypuszczam, że w systemie Windows nie byłbym w stanie przenieść folderu "Moje dokumenty" na inną partycję.
Pozdrawiam.