Yritin itse tehdä asiaa tuon cp:n avulla, mutta jotain meni pieleen.
Lopputuloksena on se, että kone ei käynnisty uudelta levyltä vaan tulee joku kernel panic -viesti.
Tahtoisin tietää vaikuttaako tähän se, että muutin kahden osion paikkaa keskenään (swap ja /). Tarkistin kyllä fstabin ja grubin menu.listin uuden konfiguraation mukaisiksi.
Tässä on se, mitä tein. Tästä piti tulla Howto-artikkeli, mutta kuten jo mainittua, jossain mentiin metsään. Jos saan tämän toimimaan, laitan ohjeet Howto-osiolle, sillä tätä on kyselty muuallakin:
---
Tämä ohje on tarkoitettu kaikille jotka haluavat siirtää toimivan Linux-järjestelmänsä uudelle kiintolevylle ilman uudelleenasennusta.
(c) Mikko Saarinen 21.1.2006 (GPL)
Tätä ohjetta saa käyttää missä tahansa yhteydessä ja sen saa kopioida sellaisenaan tai muokattuna mihin tahansa tarkoitukseen.
Tähän ohjeeseen on saatu runsaasti vinkkejä ja neuvoja osoitteesta
http://www.tldp.org/HOWTO/Hard-Disk-Upgrade/Tarvikkeet: vanha ja uusi kiintolevy, yksi live-CD (Ubuntu, Knoppix, ...), tarpeelliset kaapelit ja riittävästi aikaa
Ensimmäiseksi asennetaan uusi levy vanhan levyn paikalle ja vanha levy eri väylään nopeuden vuoksi (ide-väylään voidaan joko kirjoittaa tai lukea, mutta ei samaan aikaan molempia). Tässä ohjeessa vanha levy on /dev/hdb ja uusi /dev/hde
Itselläni vanhan levyn osiot olivat seuraavanlaiset (tuossa uudessa paikassa, eli ensimmäisen ide-kaapelin slavena):
/dev/hdb1 /boot reiserfs
/dev/hdb2 / reiserfs
/dev/hdb3 swap swap
/dev/hdb4 /home reiserfsUudelle levylle vaihdoin swap-osion ja /-osion paikkaa, joten siinä osiot tulivat tällaisiksi:
/dev/hde1 /boot reiserfs
/dev/hde2 swap swap
/dev/hde3 / reiserfs
/dev/hde4 /home reiserfsKäynnistetään kone live-cd:ltä (CD-aseman täytyy olla masterina jotta CD:ltä käynnistys toimisi) jolloin kopiointi on helpointa. Voit myös hoitaa homman Ubuntun asennus-CD:llä jos annat boot-kehotteessa käskyn 'rescue'. Tällöin sinulla ei ole graafista tilaa käytössäsi etkä voi surffata netissä samalla kun kone kopioi tiedostoja
Ohjeessa kaikki koodiksi merkityt osiot olevat ovat komentoja jotka tulisi suorittaa komentotilassa, johon pääsee Live-CD:llä valitsemalla Applications -> Apuohjelmat -> Pääte. Install-CD:llä käynnistettäessä käytössä on automaattisesti pääkäyttäjän komentotila, etkä tarvitse
tuota ensimmäistä sudo su -käskyä.
Ensimmäiseksi osioidaan uusi levy fdiskillä. Tee osioista vähintään yhtä suuret kuin vanhalla levyllä, jotta kaikki tiedostot mahtuvat sinne. Minä käytän vanhasta tottumuksesta erillistä /boot-osiota, mutta ihan yhtä hyvin tuo voi olla samalla osiolla kuin /. Jos sinulla on erillinen
/boot-osio, niin sen koko tulisi olla vähintään 100 Mt. Itse tein 250 Mt:n osion.
$ sudo su
# fdisk /dev/hde
Seuraavaksi pitää luoda osioille tiedostojärjestelmät mkfs-käskyllä.
Komento ohjeistaa käynnistämään koneen uudelleen fdiskin jälkeen, mutta en tiedä onko se välttämätöntä sillä nuo osiot eivät olleet missään vaiheessa vielä mountattuina (niitä ei ollut ennen fdiskin käyttöä). Joka tapauksessa käynnistin koneen tässä kohtaa uudelleen.
Tiedostojärjestelmän valintaan vaikuttaa käyttötarkoitus, sillä jotkut ovat parempia pienten tiedostojen kanssa (reiserfs) ja toiset suurien (xfs). Sitten kun reiser4 on valmis, niin se on paras ja kaunein
Käytän tässä esimerkissä reiserfs:ää, mutta myös ext3 on hyvä valinta (ext3:n kanssa tulee vähemmän ongelmia mm. beaglen kanssa).
# mkfs.reiserfs /dev/hde1
# mkfs.reiserfs /dev/hde3
# mkfs.reiserfs /dev/hde4
# mkswap /dev/hde2
# swapon /dev/hde2
Nyt osiot pitää liittää tiedostojärjestelmään ja suorittaa varsinainen kopiointi, mutta sitä ennen tulee luoda tarvittavat liitoskohdat:
# cd /mnt
# mkdir old new
# cd old
# mkdir boot root home
# cd ../new
# mkdir boot root home
Turvallisuussyistä on parempi liittää vanhat osiot vain luku -tilassa
# mount /dev/hdb1 /mnt/old/boot -o ro -t reiserfs
# mount /dev/hdb2 /mnt/old/root -o ro -t reiserfs
# mount /dev/hdb4 /mnt/old/home -o ro -t reiserfs
# mount /dev/hde1 /mnt/new/boot -t reiserfs
# mount /dev/hde3 /mnt/new/root -t reiserfs
# mount /dev/hde4 /mnt/new/home -t reiserfs
# cp -axv /mnt/old/boot/* /mnt/new/boot
# cp -axv /mnt/old/root/* /mnt/new/root
# cp -axv /mnt/old/home/* /mnt/new/home
Kopioinnissa voi jättää -v-parametrin pois, sillä se hidastaa hieman toimintaa kun kaikki kopioidut tiedostot näytetään ruudulla. Tosin ilman sitä on vaikea tietää missä mennään. Kopiointi kestää kuitenkin melko kauan ja itse pidän siitä että voin nähdä että homma todella edistyy.
Kun osioiden sisällöt on kopioitu uudelle levylle niin homma on lähes valmis. Vielä pitää kuitenkin saada uusi levy käynnistyväksi asentamalla sinne grub. Sitä ennen irrotetaan kaikki ylimääräiset osiot järjestelmästä
# umount /mnt/old/boot /mnt/old/root /mnt/old/home
# umount /mnt/new/boot /mnt/new/home
# cd /mnt/new/root
# chroot /mnt/new/root
# mount /dev/hde1 /boot
# grub-install /dev/hde
Grub ilmoittaa tiedoston /boot/grub/device.map sisällön ja pyytää tarkistamaan tiedot. Jos tuossa on jotain väärin, niin tiedoston sisältö pitää korjata ja tämän jälkeen asentaa grub uudelleen. Myös tiedoston /boot/grub/menu.lst sisältö tulisi tarkistaa. Itse jouduin
tiedostoa muokkaamaan, sillä /-osio vaihtoi paikkaa.
Huomaa että tiedostossa menu.lst osioihin viitataan merkinnällä (0,0), jossa ensimmäinen luku tarkoittaa levyä ja toinen osiota. Toisin kuin Linuxissa, grubissa numerointi alkaa nollasta. Levyn numerot löytyvät tiedostosta device.map ja itselläni tuo (0,0) siis viittaa osioon
/dev/hde1 josta löytyy /boot-hakemisto.
Kun kaikki näyttää hyvältä, niin irrota loputkin levyosiot järjestelmästä, uudellenkäynnistä kone, ota Live-CD pois ja varmista BIOSin valikosta että olet käynnistämässä konetta uudelta levyltäsi. Tämän jälkeen koneen pitäisi käynnistyä ja toimia kuten aina ennenkin, mutta levytilaa on luultavasti moninkertainen määrä =)
Mikko