[ LUGOS ] DD if=/??? Kopiranje diska

Metod Kozelj metod.kozelj na rzs-hm.si
Tor Dec 15 20:31:49 CET 1998


Howdy!

On Tue, 15 Dec 1998, Bostjan Müller wrote:

> Rad bi izvedel ce je mogoca naslednja stvar - linux imam instaliran na 240
> mb disku, od tega je 40mb swap - disk je swinjsko pocasen :(( Doma imam se 1
> disk - 850mb - hitrejsi od prvega. Diska bi rad zamenjal, ne da pa se mi se
> 1x instalirat cele distribucije. Zanima me ce se da vsebino diska z boot
> sectorjem kar prekopirat na drugi disk ? npr z ukazom dd if=/dev/hda1
> of=/dev/hdb1 ???????? ne vem kaj naj bi prislo za tem.

Dobil si ze dva odgovora, ki pa sta bila samo delna. Malo bolj podrobno bi
jaz tole takole naredil:

0. Disk bi dal v masino kot slave na primary IDE.

1. najbrz na one m850M disku nimas nobene pametne particije. Zato naredis
   nove. Recimo z uporabo progama 'fdisk /dev/hdb'. V fdsiku ti 'p
   <enter>' izpise vse particije. Pobrises jih po vrsti z ukazom 'd' in
   stevilko particije. Brisi jih od zadnje (z najvisjo stevilko) do prve.
   Nato naredis recimo dve novi z ukazom 'n'. Vprasa te, ce zelis extended
   ali primary. Seveda hoces primary. Potem te vprasa za stevilko
   particije. Najprej bos naredil particijo 1, nato pa 2. Drugo
   particijo bos uporabil za swap. Vnaprej se odloci, koliko diska
   bos namenil za swap (najvec pa 128M na particijo). Ostalo dodelis
   prvi particiji. Ko naredis particijo, fdisk privzame tip za ext2.
   Particiji za swap moras spremeniti tip z ukazom 't', stevilko praticije
   (2) in stevilko 82 (tip za linux swap).

2. Naredis file system na particiji: mke2fs /dev/hdb1

3. Naredis swap: mkswap /dev/hdb2

4. Mountas novo particijo: mount /dev/hdb1 /mnt

5. Skopiras vsebino starega diska na novega:
   LIST=`ls | grep -v /mnt | grep -v /proc | grep -v /lost+found`; cp -a $LIST /mnt

6. Sedaj se odlocis, ali bos mali disk vzel ven. Ce bo ostal notri, potem
   nadaljujes z 7a, sicer s 7b

7a. Popravis /mnt/etc/lilo.conf tako, da bo v vseh vrsticah z 'root = ' na
    desni strani enacaja pisalo '/dev/hdb1'. Potem popravis /mnt/etc/fstab
    tako, da bo /dev/hdb1 mountan na /, /dev/hdb2 pa na none s tipom swap.
    Nadaljujes z 8.

7b. Popravis 7mnt/etc/lilo.conf tako, da bo v vseh vrsticah z 'root = ' na
    desni strani enacaja pisalo '/dev/hda1'. Vrstica z 'boot =' mora imeti
    na desni strani napisano '/dev/hda1'. Datoteko /mnt/etc/fstab popravis
    tako, da bo /dev/hda1 mountan na /, /dev/hda2 pa na none s tipom swap.

8. Pozenes ukaz 'lilo -r /mnt'

9. Na eno disketo skopiras kernel: dd if=/vmlinuz of=/dev/fd0

10. Masino shutnes down. Ce si se odlocil, da bos stari disk vrgel ven, ga
    sedaj vrzes ven, novega pa prejumpas na mastra. Potem masino poizkusis
    zbootati. Ce si pustil stari disk notri, potem je zelo verjetno
    obuvanje uspesno (vseeno preveri, ali je res /dev/hdb1 tvoj /. Spisek 
    dobis z 'mount'), sicer pa ne. V drugem primeru bos moral masino
    bootati z diskete, potem pa podnati lilo ter na koncu ponoviti
    obuvanje.

> Ce je to izvedljivo in bi bil drugi disk bootable bi bil zelo hvalezen ce bi
> mi kdo povedal tocno sintakso ukaza dd ;)

Ne, stvar samo z dd ni izvedljiva, ker bodo vse particije napacne. Zelo
verjetno diska nimata enakega stevila glav in sektorjev, tudi ce bi ju
imela, bi ti ostalo 600M neuporabljenega prostora.

Peace!
  Mkx

---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'




Dodatne informacije o seznamu Starilist