Przeniesienie linuksa na nowy dysk

zalozenia:

stary dysk gdzie jest linux --> /dev/hda1 (primaty master)

nowy dysk gdzie chcemy go przeniesc --> /dev/hdc1 (secondary master)

Jesli w dystrybucji ktorej uzywasz nie ma lub nie jest uzywane polecenie sudo - wystepujace w wielu miejscach na samym poczatku - wykonaj dana komende jako root pomijajac slowo sudo na samym poczatku. Efekt bedzie identyczny. :)

1. Odmontuj wszystkie udzialy dyskowe jakie tylko mozesz. Najlepiej jesli pozostanie tylko zamontowany tylko /

robimy to np tak:

sudo umount /jakis/zamontowany/udzial/dyskowy

2. Zaloz partycje na nowym dysku. Nie ma znaczenia jakiego bedzie rozmiaru. Jednak nie powinna byc mniejsza (to chyba logiczne?)

robimy to np uzywajac programu cfdisk

sudo cfdisk /dev/hdc

Jako typ partycji pozostaw Linux

Nie zapomnij ustawic partycji jako aktywnej! (opcja Bootable)

3. Sformatuj partycje, zakladajac n niej system plikow. Ja uzywam reiserFS wiec zrobilem to tak:

sudo mkfs.reiserfs /dev/hdc1

4. Zamontuj nowy dysk.

sudo mount /dev/hdc1 /media/test/

5. Jesli ciagle jestes w X'ach lub chociaz masz je wlaczone wyjdz z nich!

Najlepiej przejdz do trybu pojedynczego uzytkownika poleceniem:

sudo telinit 1

albo do normalnej konsoli poprzez

sudo telinit 3

6. Rozpocznij kopiowanie:

cp -ax / /media/test

Teraz mozesz isc na spacer z psem bo to zajmie calkiem sporo czasu...

Jesli mozesz sie przelaczyc na inna konsole mozesz sprawdzac co sie dzieje (i czy w ogole sie cos dzieje) poleceniami:

watch df

watch ls -l /media/test

Po zakonczeniu mozesz sprawdzic czy pliki zostaly przekopiowane poprawnie:

find / -path /proc -prune -o -path /media/test -prune -o -xtype f -exec cmp {} /media/test{} ;

Ale nie wydaje mi sie to potrzebne a zajmuje znowu mase czasu...

7. Zmodyfikuj plik /etc/fstab tak aby odpowiadalo zawartosci nowego dysku. Pamietaj ze mimo ze dysk jest wciaz /dev/hdc to musisz go traktowac jako /dev/hda !!Tutaj nie napisze jak i co robic bo nie wiadomo co bedziesz mial na dysku. Ja mialem prawie dokladnie to samo tylko partycje byly 2x wieksze.

Jedynie partycja swap u mnie zmienila nazwe z /dev/hda5 na /dev/hda2 co zaowocowala modyfikacja:

/dev/hda5 none swap sw 0 0 na/dev/hda2 none swap sw 0 0

8. Zainstaluj boot loader. Nie potrzebujemy praktycznie niczego po za tym aby w MBR sie znalazlo cos co przeczyta wszystkie nasze pliki i ruszy system.

Tutaj opis bedzie dwutorowy. Jeden dotyczy LILO a drugi gruba. Ja posiadam GRUB'a wiec nt LILO wiem nie duzo i bedzie to tylko kopia informacji znalezionych gdzie indziej.

* GRUB

Wlasciwie wszystko powinno rozwiazac polecenie:

grub-install --root-directory=/media/test/ hd2

ale z dziwnych powodow sypalo bledami i dopiero polecenie:

grub-install --root-directory=/media/test/boot hd2

zainstalowalo wszystko bez komunikatow o klopotach. Stworzylo to dodatkowa strukture w /boot ktora mozna usunac bo nie jest potrzebna

*LILO

Przeedytuj plik Edit /media/test/etc/lilo.conf :

disk=/dev/hdc bios=0x80 # Mowi lilo aby traktowalo 3ci dysk

# tak jakby byl pierwszym

# (BIOS ID 0x80).

boot=/dev/hdc # Instaluj LILO na 3cim dysku

map=/media/test/boot/map # Lokalizacja pliku "map".

install=/media/test/boot/boot.b # plik do przekopiowania na boot sektor twardziela

prompt # Czy pokazywac znak zachety LILO

timeout=50 # Po jakim czasie uruchomic standardowy system

# wartosci sa w 1/10 sek

image=/media/test/boot/vmlinuz # Lokalizacja kernela

# Mozlie ze bedzie trzeba tu wstawic wlasciwa nazwe np:

# "vmlinuz-2.0.35".

label=linux # Nazwa

root=/dev/hda1 # Lokalizacja partycji / na

# nowym dysku.

read-only # Montuje partycje najpierw tylko do odczytu aby ja sprawdzic

a zainstaluj lilo poleceniem:

sudo lilo -C /media/test/etc/lilo.conf

9. Wylacz komputer. I podlacz nowy dysk w miejsce starego. Po wlaczeniu kompa jesli nie bylo zadnych bledow system powinien dzialac dokladnie tak samo tylko ze z nowego dysku.

Milej zabawy. :)