Автор Тема: копиране на системата  (Прочетена 2925 пъти)

kennedy

  • Напреднали
  • *****
  • Публикации: 2151
  • Николай Колев
    • Профил
копиране на системата
« -: Dec 31, 2003, 09:05 »
такааа, преди време бях питал дали може да се копира системата от един диск на друг и да работи, казаха че може, но ...... трябва да се преглейдат рц скриптове и т.н. за всеки случай аз пробвах следното нещо.
1. освободих 1 хард  - hdd
2. инсталирах му минималната сусе инсталация, за да го наравя зареждащ
3. поради незнайни причини груб отказа да се зареди от hdd и докато не го сложих в hda  нетрагна
така до тук добре.
стартирах си кнопикс, монтирах hdd -w и се почна едно копиране .................... едни грешки, че неможе да създава  hard links и разни други простотии.
Ясно нещо не съм направил както трябва. а и по тоя начин да оглеждам всички скриптояве ............. някакси не е елегантно.
Затова ми идва на ум друга врътка. правя НЯКЪКЪВ имейдж (това незнам как да го преведа) местя hdd  на мястото на  hda и го разпъвам там.
ако мислите че може да стане, кажете с кои програми се прави картинка на диска и после как се разпъва.
или още по-добре с някоя програма да направя disk-copy, макар , че  дисковете са различни по големина.
Активен

"за всичко иде час" Еклесиаст 3:1
всеки пост - отговор на въпрос
-----------------
24.12.2003 "MS Free"

kennedy

  • Напреднали
  • *****
  • Публикации: 2151
  • Николай Колев
    • Профил
копиране на системата
« Отговор #1 -: Dec 31, 2003, 09:47 »
s "dd if=/dev/hda1 of=/dev/hdd2" dali shte stane?
Активен

"за всичко иде час" Еклесиаст 3:1
всеки пост - отговор на въпрос
-----------------
24.12.2003 "MS Free"

  • Гост
копиране на системата
« Отговор #2 -: Dec 31, 2003, 09:58 »
Ако приемем, че организацията на стария ти диск е такава:

Примерен код

/             - hda1
swap       - hda2
/home      - hda3


Всичко, което е нужно да направиш е просто да създадеш подобна организация на новия диск - не е нужно да е същата, но поне новите дялове трябва да са такива, че да поберат информацията от старите след това копираш файловите системи. Може и с mc даже ;-)
Но по-добре с:

dd if=/dev/hda1 of=/dev/hdd1
за да работи по-бързо можеш да зададеш нещо по-големичко за bs= от подразбиращото се... Погледни man dd

След това махаш стария диск, местиш новия на негово място или пък не - въпрос на избор. boot-ваш отнякъде някакъв rescue диск (Debian, Fedora, RedHat, Knoppix...) монтираш новооткопираната root файлова система и поправяш /etc/fstab ако е нужно (ако etc е на отделен дял монтираш нея). Внимавай за дистрибуции, които ползват етикети (label) за обозначаване на файловите системи (Fedora и RedHat са такива), което е много удобно когато правиш разни размествания в рамките на диска си, но ако не си се сетил при създаването на новите дялове да зададеш верните етикети малко невнимание и може да заработиш с файлова система, с която не си очаквал ;-)
За по сигурно използвай /dev/hd?? дефиниции в /etc/fstab вместо етикетите им.
След това трябва да инсталираш grub някак... Може да си направиш дискета само с grub и да я ползваш за джобен boot-диск. Но ако имаше такава нямаше да ползваш rescue диск ;-) Затова предполагам, че нямаш - затова след като прегледаш /etc/fstab и го редактираш ако е нужно просто направи

chroot /mnt/kudeto_si_montiral_noviya_root

Прегледай дали не трябва да се редактира grub.conf (например ако нямаш точно идентична подредба на новия диск, каквато е била на стария), след което:
grub-install /dev/hda

Reboot-ваш и ако всичко е било както трябва имаш напълно работещия стар Linux на нов диск.
Активен

  • Гост
копиране на системата
« Отговор #3 -: Dec 31, 2003, 10:03 »
Във всичко по-горе забравих да кажа, че изобщо не е нужно на диска-приемник да има каквото и да е - може да е и напълно девствен. Просто с нещо трябва да направиш дяловете - без значение с какво - cfdisk, diskdruid, fdisk, partition magic...
Активен

  • Гост
копиране на системата
« Отговор #4 -: Dec 31, 2003, 12:02 »
добре е да копираш и в single user mode
Активен

kennedy

  • Напреднали
  • *****
  • Публикации: 2151
  • Николай Колев
    • Профил
копиране на системата
« Отговор #5 -: Dec 31, 2003, 14:33 »
kopnah go, obache kato stigan do grub-install mi dawa che imalo problem s STAGE1.  preimenuwah stage1 na stage1-old da widq dali shte si sazdadeno ama nestawa, pak towa kazwa. posle reshih da pusna suse-cd-to tam si ima repaer tools i da go oprawq, no pak ne stawa, suseto waobshte nezasicha dqlowete. interesnoto e, che kato pusna rescue disk-a na suse si mountwam dqlowete bez problem '<img'>?'<img'>?'<img'>??? waobshte palna magla. qwno neshto sam ogelpil, ama kakwo ...... sega w momenta pak sam bootnal ot stariq disk i si wijdam dqla warhu kojto go prehwyrlih, wijdam i fajlowete. nqkakwi idei?
Активен

"за всичко иде час" Еклесиаст 3:1
всеки пост - отговор на въпрос
-----------------
24.12.2003 "MS Free"

mironcho

  • Напреднали
  • *****
  • Публикации: 495
    • Профил
копиране на системата
« Отговор #6 -: Jan 01, 2004, 14:53 »
Пропуснал съм да забележа по рано тази тема..
Има една програмка partimage - с нея можеш да направиш имидж на дяла си и после със същата програмка да го сложиш върху новия дял. НО (винаги има по едно "но"'<img'>) трябва да гледаш двата дяла да са със сходен размер (дяла на който ще слагаш имидж -а е хубаво да е малко по голям). Защо се налага това - защото после този дял не може да се ресайзва!!! Поне с parted не може, което за мен е важно '<img'>

Друг начин е да си направиш един tar архив на дяла (компресиран с gz или bz2). Само че при правенено и после  при разархивирането на архива добави към опциите на тар - pP.

Според мен втория метод е по-добър, защото няма значение какъв ще е дяла върху който ще разархивираш (ext2, ext3 или reiserfs - все тая), няма ги проблемите с ресайзването и не се налага да имаш специална програма като partimage.

И за двата начина е хубаво да го правиш като стартираш с някое rescuecd - например със systemrescue. И при двата начина се налага след това ръчно да си редактираш fstab и ако има нужда някои други init скриптове.


btw
и двата метода съм ги тествал и работят (особенно втория - ползвам го вече почти една година) '<img'>
Активен

paveldikov

  • Напреднали
  • *****
  • Публикации: 502
  • Ultra God Master
    • Профил
    • WWW
копиране на системата
« Отговор #7 -: Jan 01, 2004, 15:59 »
Цитат (kennedy @ Дек. 31 2003,12:47)
s "dd if=/dev/hda1 of=/dev/hdd2" dali shte stane?

hda1 трябва да е голям колкото hda2!!!
Активен

FreeBSD 6.1-RELEASE - The Power To Serve | Slackware Linux 10.0

The Dark Star - YOUR next operating system

kennedy

  • Напреднали
  • *****
  • Публикации: 2151
  • Николай Колев
    • Профил
копиране на системата
« Отговор #8 -: Jan 02, 2004, 21:24 »
успях по следния начин, направих дяловете както бяха на оригиналния диск. с dd копирах диска, пуснах сусето -> инсталл -> поправки, фиксна си МБР-то, после  fsck  и ок.
Активен

"за всичко иде час" Еклесиаст 3:1
всеки пост - отговор на въпрос
-----------------
24.12.2003 "MS Free"

saturn_vk

  • Напреднали
  • *****
  • Публикации: 215
    • Профил
копиране на системата
« Отговор #9 -: Jan 03, 2004, 14:01 »
няма ли да е по-есно да се направи

cat /dev/hda > /dev/hdb

не мисля че размера трябва да е еднакъв във този случай?
Активен

"That is not dead which can eternal lie,
And with strange aeons even death may die."

ivak

  • Напреднали
  • *****
  • Публикации: 156
    • Профил
копиране на системата
« Отговор #10 -: Jan 03, 2004, 17:44 »
приятели,

настръхва ми косата като ви чета съобщенията.

dd е програмата disk dump и служи точно за това.
с нея можеш да си свалиш mbr-a върху файл или да
си направиш backup на дял, обаче да копираш дискове
по този начин е все едно да опитваш да ковеш пирони с
паве - става, ама е някак неудобно.

cat /dev/hda > /dev/hdb е същото, но вместо паве имаш
ръбат камък. и не е вярно, че размерът няма значение в
този случай. така се копира и партишън таблицата, и
суперблока на файловата система – все места, които са
строго зависими от геометрията на диска.

най-смисленото предложение, изказано дотук, е това с
tar-a. като изключим факта, че за целта е нужно още
толкова празно място, колкото е информацията върху
целия диск.

в предишния си пост съвсем тенденциозно пропуснах
да дам каквито и да било команди, за да не се впусне
някой в сляпо следване на инструкции, което да му скапе
компютъра. сега ще дам малко по-детайлни разяснения,
за да имате предвид за в бъдеще как стават тези работи.

за да копирате работеща система върху нов диск, трябва
да изпълните приблизително следното:

1. закачете новия диск към системата. ако планирате
върху него да има и друга операционна система (примерно
windows), по-добре е да инсталирате първо нея.

2. направете дяловете. самият аз съм минималист и затова
ползвам един-единствен root дял, който обхваща цялото
свободно пространство върху диска.

обикновено правя swap-а върху файл, защото така мога
да променям размера му когато си поискам.

3. направете файловата система. хубаво е преди това
да помислите малко за какво ще ползвате диска и
евентуално да ограничите броя на i-нодовете и копията
на суперблока. прочетете man-a на mkfs за файловата
система, която ползвате. евентуално:

man mke2fs
mke2fs /dev/<new_hd> [<опции>]

където <new_hd> е новия root дяла.

4. монтирайте новия диск някъде, примерно:

mkdir /new
mount /dev/<new_hd> /new

не ползвайте mount point в /mnt, защото самото /mnt
също трябва да бъде копирано.

5. откачете всички монтирани външни устройства:
флопита, cd-та, nfs-и, windows-дялове и прочее.

6. изкопирайте системата върху новия диск:

cp -a /bin /boot /dev /etc /home /mnt /root /sbin /usr /var /new

ако имате и някакви други директории в /, копирайте и
тях. забележете, че /proc, /mklost+found и /tmp са
пропуснати и това не е случайно.

7. преминете в /new и създайте липсващите директории:

cd /new
mkdir proc
chmod 555 proc
mkdir tmp
chmod 777 tmp

директорията mklost+found се създава автоматично.

8. преминете в /new/etc и направите съответните ремонти.

тук не мога да ви помогна повече, защото всичко зависи
от дистрибуцията. лично аз ползвам bsd инициализация и
затова ми се налага да пипна само fstab и rc.d/rc.S.

една полезна команда, която може да ви помогне, е:

grep -r <old_hd>

където <old_hd> е root дяла, който се ползва от старата
инсталация. прегледайте внимателно всяко място, където
се среща и преценете дали не трябва да го промените.

тук има и още една подробност: когато правите промените,
ползвайте обозначение за новия диск предвид бъдещото
му местоположение в системата, а не според текущото.
примерно, ако новият диск е монтиран като secondary
master (/dev/hdc), но планирате да работи като primary
master (/dev/hda), ползвайте hda в скриптовете.

9. настройте boot loader-a. това е най-тънката част от
работата. никога не съм ползвал grub и затова не мога да
ви дам някаква рецепта как да се преборите с него.
вместо това ще ви опиша как става с lilo, надявайки
се, че ще ви помогна донякъде:

9.1. редактирайте lilo.conf на новия диск:

vi /new/etc/lilo.conf

оправете всички дискови адреси така, че да сочат към
дяла върху новия диск, където седи zImage (bzImage)
на операционната система.

9.2. копирайте zImage (bzImage) върху някаква празна
дискета:

cp /boot/bzImage /dev/fd0
rdev /dev/fd0 /dev/<new_hd>

където <new_hd> е root дяла, който ще се ползва за в
бъдеще.

9.3. махнете стария диск, инсталирайте новия като
primary master и заредете от дискетата.

9.4. ако сте направили всичко както трябва, системата
ще зареди нормално. остава само да пуснете lilo, за да
актуализира map-a на boot loader-a и това е всичко.

ако все пак възникне проблем, все още разполагате със
стария диск, от който можете да заредите и да потърсите
проблема.

има и по-пряк начин да се свърши същата работа, който
не изисква ползването на дискета, обаче съществува
по-голям риск да повредите стария диск.
Активен

Cлoжнитe пpoблeми имaт пpocти и лecни зa paзбиpaнe гpeшни oтгoвopи.

kennedy

  • Напреднали
  • *****
  • Публикации: 2151
  • Николай Колев
    • Профил
копиране на системата
« Отговор #11 -: Jan 03, 2004, 21:18 »
лелеееее а аз се чудя защо имах толкова проблеми с оправяне на мбр-та дялове и други подобни. Това обяснение си е за цяла статия. както и да е аз си изстрадах прехвърлянето '<img'>  (3 дена борба) щеше да е добре да го прочета преди това , дано да послужи и на някой друг в моето положение.
Активен

"за всичко иде час" Еклесиаст 3:1
всеки пост - отговор на въпрос
-----------------
24.12.2003 "MS Free"