[ 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