Jak rozjet zkopírovaný Linux?

webhope

Jak rozjet zkopírovaný Linux?
« kdy: 11. 08. 2011, 08:50:23 »
Ahoj.
Mám jeden disk (WD 120GB), který je rozdělený na:
hda1 - ntfs - system Windows
hda2 - programy
hda3 - archiv
hda4 - extended
hda5 - zalohy
hda6 - install
hda7 - linux (Mandriva 2010, první verze)

Pak mám druhý disk Samsung 80GM, a na něm je stejná struktura oddílů. Na linux jsem nastavil stejnou velikost oddílu. Velikost toho oddilu jsem zjišťoval z instalačky Windows, protože tam to je vypsané v megabytech. A pak jsem tu velikost nastavil v Gparted, tak aby oba oddíly byly stejné.

Linux na tom prvním disku mi funguje. Nabootoval jsem na live CD Mandriva, odpojil jsem hda7 a hdb7 a pomocí dd jsem zkopíroval systém z hda7 na hdb7. Pak jsem vzal Smart Boot Manager na disketě a zkusil jsem nabootovat na sedmý oddíl toho menšího disku a píše to nějakou chybu se zavaděčem linuxu.

Tak se chci zeptat jestli musím někam nainstalovat zavaděč? Neměl by ten zavaděč být už nainstalovaný, když jsem to jen tak zkopíroval do 7. oddílu? A je ta velikost jistá? Nemohl dojít k nějakému rozdílu vlivem odlišnosti kapacit těch dvou disků? Přeci jsem nastavoval stejnou velikost na megabyty.
« Poslední změna: 11. 08. 2011, 12:21:39 od Petr Krčmář »


pet

Re: Jak rozjet zkopírovaný linux?
« Odpověď #1 kdy: 11. 08. 2011, 09:09:38 »
Vzhledem k tomu, že křišťálová koule je úzkoprofilové zboží a nemá mi ji kdo půjčit:
a) Jaký používáš zavaděč?
b) Jakou chybovou hlášku to píše?

webhope

Re: Jak rozjet zkopírovaný linux?
« Odpověď #2 kdy: 11. 08. 2011, 09:13:10 »
Grub a píše to GRUB Geom error. Nic víc

Joe

Re: Jak rozjet zkopírovaný linux?
« Odpověď #3 kdy: 11. 08. 2011, 09:23:43 »
Hm, nastartuj z Live CD, udelej chroot na puvodni linux a po googli si navod jak opravit grub a koukni i po tom jak spravne udelat chroot.

pet

Re: Jak rozjet zkopírovaný linux?
« Odpověď #4 kdy: 11. 08. 2011, 09:25:26 »
Předpokládám, že ta zkopírovaný oddíl jde z toho liveCD normálně připojit. Takže: nabootovat z liveCD, připojit, chrootnout do toho promontovaného oddílu a přeinstalovat Grub příkazem grub, případne grubinstall, nebo co má ta Mandriva.
On totiž Grub je částečně na pevných adresách kde ho hledá bootsektor a tam má zapsáno na kterých sektorech se nachází zbytek.
Mandrivu sice neznám, používám Gentoo, ale tenhle postup je univerzální.


webhope

Re: Jak rozjet zkopírovaný linux?
« Odpověď #5 kdy: 11. 08. 2011, 09:26:49 »
Napadá mě, že bych mohl pro jistotu zkusit nainstalovat zavaděč na hda7, ale je to divné, protože logicky by tam měl být. Nebo že by Smart disk manager místo na hda7 hledal v hlavním zaváděcím záznamu, kde je Windowsovský zavaděč, ale to je snad nepravděpodobné.

Jinak mám ještě bootovacím disketu s grub diskem, odkaď by teoreticky měl jít bootovací záznam zavést, jenže nenašel jsem tam příkaz device.

Hm, nastartuj z Live CD, udelej chroot na puvodni linux a po googli si navod jak opravit grub a koukni i po tom jak spravne udelat chroot.

Grub nainstalovat umím pomocí příkazů device, root a setup. Původní linux mi bootuje, není důvod se do nej changerootovat. Ale mohu se changerootnout do toho nově zkopírovaného systému.

webhope

Re: Jak rozjet zkopírovaný linux?
« Odpověď #6 kdy: 11. 08. 2011, 10:17:03 »
Hlásím, že se mi povedlo nainstalovat grub, ale... Vzhledem k tomu, že oba disky mají stejné UUID a v konfiguraci /boot/grub/menu.lst je toto UUID uvedeno, potřeboval bych změnit UUID tomu novému disku.

Proto se chci zeptat jestli mi můžete poradit jak nastavit to UUID
příkaz uuidgen jsem už našel, ale ještě přijít na to jak to nastavit

webhope

Re: Jak rozjet zkopírovaný linux?
« Odpověď #7 kdy: 11. 08. 2011, 10:17:46 »
Vzhledem k tomu, že oba disky mají stejné UUID

Oddíly, sorry

alfi

  • ****
  • 279
    • Zobrazit profil
    • E-mail
Re: Jak rozjet zkopírovaný linux?
« Odpověď #8 kdy: 11. 08. 2011, 10:33:13 »
'dd' bych se na různě velké disky docela bál použít (jeden z nich bude menší a buď to nebude fungovat nebo se část místa nevyužije). pro kopii obsahu filesystému úplně stačí 'cp -ar'.. pak na velikosti vůbec nezáleží :-)

disk s windows obvykle má aktivní boot partition (viz třeba 'fdisk -l /dev/sdx'), kde je první zavaděč (windows/grub/lilo..). to ale nejde pro extended. taky záleží, jak je na tom konkrétní bios s bootováním z velkých disků - občas to některý nezvládá (nebo nezvládal.. už jsem to dlouho nezkoušel).. osvědčený způsob je:
- jako jednu z primárních partition udělat malý disk pouze pro /boot
- ten je nastavený jako aktivní, do MBR nebo do něj se nainstaluje grub.
(- při dualbootu s windows musí buď windows loader mít volbu pro linux nebo naopak grub pro windows)
- tím se vždy a všude rozjede initrd, který už vidí i další-delší disky, může dešifrovat, používat lvm, či co je zrovna potřeba
- partition pro root je potom klidně na konci prvního/jiného disku

pak už jen nainstalovat na zvolené místo třeba ten grub a bootování by mělo fungovat :)

... Vzhledem k tomu, že oba disky mají stejné UUID
vedlejší efekt toho dd :) uuid viz 'man tune2fs'

trubicoid2

Re: Jak rozjet zkopírovaný linux?
« Odpověď #9 kdy: 11. 08. 2011, 11:24:53 »
Pak mám druhý disk Samsung 80GM, a na něm je stejná struktura oddílů. Na linux jsem nastavil stejnou velikost oddílu. Velikost toho oddilu jsem zjišťoval z instalačky Windows, protože tam to je vypsané v megabytech. A pak jsem tu velikost nastavil v Gparted, tak aby oba oddíly byly stejné.

....
A je ta velikost jistá? Nemohl dojít k nějakému rozdílu vlivem odlišnosti kapacit těch dvou disků? Přeci jsem nastavoval stejnou velikost na megabyty.

to je tedy jen priblizne stejny, partice nejsou normalne zarovnany na megabajty a jeste postup vzit cislo z instalatoru widli a dat ho do gparted...  :o

jestli chces mit naprosto stejne velkou partici, tak nebud liny a pouzij fdisk, pak muzes udelat zalohu pres dd

jestli partice nebudou uplne stejny, muzes mit teoreticky problemy, ze se nenakopiruje vsechno, nebot nebude kam, nebo na konci bude neco navic

jinak lepsi metoda podle me je nepouzivat dd, ale tar, pak ty partice nemusi byt uplne stejny, tu novou naformatujes jak chces, muze mit i jinej souborovej system, jedna vyhoda je, ze se zbavis fragmentace, druha, ze budou mit jiny UUID

kopie trebas z /mnt/origo na /mnt/novy
Kód: [Vybrat]
cd /mnt/origo;tar cS . | tar xvp -C /mnt/novy
a pak jeste samozrejme nainstalovat zavadec na novej disk, nejlip do MBR

webhope

Re: Jak rozjet zkopírovaný linux?
« Odpověď #10 kdy: 11. 08. 2011, 11:35:48 »
Pokus:
hd0,6 bootuje na sdb7 (nesprávný disk)

hd1,6 vypíše chybu: selected cylinder exceeded bios

Re: Jak rozjet zkopírovaný linux?
« Odpověď #11 kdy: 11. 08. 2011, 11:59:25 »
To vypadá na problém s odlišnou geometrií. Vytvoř na druhém disku nový oddíl a překopíruj všechna data pomocí cp -ar, jak bylo uvedeno výše. Pak přeinstaluj zavaděč a bude vše OK.

webhope

Re: Jak rozjet zkopírovaný linux?
« Odpověď #12 kdy: 11. 08. 2011, 12:11:02 »
ta hláška byla spíš nějak takhle: cylinder exceeded supported maximum by bios

díval jsem se do fdisku a oba oddíly mají přesně stejnou velikost

smoofy

  • *****
  • 1 029
    • Zobrazit profil
    • E-mail
Re: Jak rozjet zkopírovaný Linux?
« Odpověď #13 kdy: 11. 08. 2011, 12:28:57 »
Stejnou velikost, ale Ondrej ti jasne psal ze problem bude s geometrii a nikoliv velikosti. Vzdyt i ta chybova hlaska ti jasne rika, ze jsi prekrocil pocet cylindru podporovanych BIOSem :).

trubicoid2

Re: Jak rozjet zkopírovaný Linux?
« Odpověď #14 kdy: 11. 08. 2011, 14:11:03 »
a zavadec je kde? v bootu toho 7. oddilu? to ho musis preinstalovat, pac on si pamatuje geometrii staryho disku a najednou je na novym disku a je z toho zmatenej

a proc vubec nedas zavadec (asize GRUB?) do MBR? to byva lepsi