Přenesení systému na jiný disk, může být provodeno několikama způsoby, jak za chodu systému (neúplného chodu systému - kvůli konzistenci dat), nebo za pomoci jiného systému (například bootnotí z knoppixu)
Přenesení systémů poté provedu takto
dd if=/dev/hda of=/dev/hdb bs=16MBTím přenesu systém z disku hda(primary master) na hdb(primary slave), pak už jenom stačí vyndat disk hda, na hdb nastavit jumpery aby byl master (hdb->hba) a startuji systém. Mám systém na jiném disku.
Tohoto postupu se s výhodou používá pro rychlou instalaci apod.. neboď například kopírování 36GB SCSI disku zabere 10-15minut :)
V počítači mám disk (hda=primary master) na kterém mám systém a je rozdělen
hda1 ext2 20MB /boot hda2 swap 500MB hda3 ext2 4000MB / hda4 reiserfs 4000MB /homea to chci převést na nový disk. Samozřejmě budu měnit i rozdějení jednotlivých částí disku, neboť původní rozdělení je VELMI špatné. V systémů mám ještě disky hdc a hdd (ty jsou přimountované v /mnt/storager0 a /mnt/storager1)
Nejdříve si rozdělím a naformátuji nový disk (příkazy cfdisk, a mkfs.xfs nebo mkfs.ext3, mkfs.ext2) Tady je výsledek
hdb1 ext2 20MB (bude /boot) hdb2 swap 1000MB hdb3 ext3 5000MB (bude /) hdb5 xfs 1500MB (bude /var) hdb6 xfs 1500MB (bude /tmp) hdb7 xfs 31000MB (bude /home)A naformatuji si nové partisny
mkfs.ext2 /dev/hdb1 mkfs.ext3 /dev/hdb3 mkfs.xfs /dev/hdb5 mkfs.xfs /dev/hdb6 mkfs.xfs /dev/hdb7Teď jsem skoro připraven na přesun systému, ale ještě si vytvořím adresář napríklad
mkdir /newsysa připojím do něj disk, konkrétně partisnu které bude jako root a poté další partišny, dle zamýšlené struktury.
mount /dev/hdb3 /newsys mkdir /newsys/boot mount /dev/hdb1 /newsys/boot mkdir /newsys/home mount /dev/hdb7 /newsys/home mkdir /newsys/var mount /dev/hdb5 /newsys/var mkdir /newsys/tmp #nezapomenu zmenit prava na adresar /newsys/tmp - jinak to muze delat problem chmod 1777 /newsys/tmp mount /dev/hdb6 /newsys/tmpTím mám v /newsys připravenou strukturu pro nový systém, teď by čistě teoreticky stačilo vzít celý / (kromě /newsys) a nakopírovat ho do /newsys --> což sice lze ale poškodili bychom si práva atd.. použije však příkaz tar, který nám zde velmi pomůže (zvláště linuxová verze, které umí vynechat adresář)
# prejdeme do runlevelu 1 init 1 # odpojim disky ktere nechci prenaset umount /mnt/storager0 umount /mnt/storager1 # a zapocnu s prekopirovanim cd / tar --exclude "/newsys" -cvvf - ./ | (cd /newsys ; tar -xvvf -)Celá finta spočívá v příkazu tar, který nám spojí obsah aktuálního adresáře (kořene) kromě adresáře newsys, a tento mega dlouhý soubor posílá na standartní výstup, kde se přejde do adresáře /newsys a tam se to zase pomocí taru rozdělí do svého původního stavu (jenomže v jiném adresáři :) -- tímto přenesu systém na nový disk.
Tím ale nekončím, budu muset být schopen ještě nabootovat, takže poupravím si /newsys/etc/fstab tak aby odpovídal mému zamýšlenému rozdělení a pak upravím /newsys/etc/lilo.conf (změním boot=/dev/hda na boot=/dev/hdb) tím si zajistím že se přepíše MBR na novém disku, (root=/dev/hda3 ponechám neboť po vypnutí systému disk primary master vyndám a disk primary slave předělám na primary master (změna jumperu). Jestli mám všechno upraveno, přejdu k zapsání lila.
chroot /newsys lilo exitCo jsem tím provedl? Chroot mi udělal "novy systém kde se adresář /newsys" tvářil jako "/" a pak jsem zapsal lilo na nový disk :). Po příkazu chroot se také můžeme podívat jestli jsme opravdu všechno zkopírovali.
Teď už nezbývá než se pomodlit, všechno ještě jednou zkontrolovat a
halt # vyndat starý disk, nový předělat na master # zapnout počítač # pracovat a radovat se :)Ještě závěrem pro korektnost přepsat v /etc/lilo parametr (boot=/dev/hdb na boot=/dev/hda) abychom se pak nedivili :)
SlanyFREE.net je naše síť a ne vždycky všechno nej je všude vidět... Jen touha za poznáním a zkoumáním tě posune dál a pomůže ti zlepšovat. Vše. SlanyFREE.net