Skip to main content

Prenos linux sistema (CentOS) iz PATA na SATA disk

Zgodilo se mi je, da mi je na strežniku crknila matična plošča. Bila je dokaj stara, saj je imela samo PATA priključke za trde diske. Na srečo sem imel eno matično ploščo v rezervi. Sicer je tudi stara kakšne dve leti, vendar že vsebuje SATA priključke. Tako sem se odločil, da prestavim sistem na SATA disk. Po hitrem premisleku se mi je vse skupaj zdelo dokaj preprosto: naredim klon starega diska na novi disk in zaženem sistem. No go! > Črni zaslon in napis GRUB. Stari sistem (disk) je imel oznako hda novi pa ima sda. Oba sta bila vpeta, kot prvi disk > hd0.

1. Najprej sem naredil klon diska s programom Acronis True Image

2. Potem sem disk priklopil na mašino (strežnik)

3. Sistem sem zagnal s pomočjo inštalacijskega DVD-ja CentOS-a > linux rescue

4. V /boot/grub/grub.conf sem popravil vse iz hda v sda.

5. Posodobil sem zaganjalnik grub:

grub> device (hd0) /dev/sda
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

6. Za vsak slučaj sem popravil oznake (label) pripetih particij:

# e2label ime_particije ime_oznake

primer:
# e2label /dev/sda1 /
# e2label /dev/sda5 /home

7. Ponovno je treba narediti kernel image:

# mkinitrd pot_do_image ime_kernela

primer
# mkinitrd /boot/initrd-2.6.18-164.11.1.el5.img 2.6.18-164.11.1.el5

8. Ponovni zagon.Enhanced by Zemanta

[REŠITEV] grubby fatal error: unable to find a suitable template

Minilo je kar nekaj časa, ko sem prvič zaznal problem in ker ni bilo večjih težav sem nanj pozabil. No, zadnjič pa sem se problema lotil resno. In v tem tednu sem se naučil kar nekaj stvari in na koncu celo našel rešitev problema. Do rešitve me je usmeril Hob, ki je pravilno sklepal, da se ob zagonu ne naložijo RAID gonilnik (hvala). Initrd image ni imel vpisanih spodnjih vrstic:

echo “Loading raid1 module”
modprobe -q raid1

Omenjeni problem sem zasledil v bazi Red Hat Bugzilla – Bug 349161: Missing entries in the init script of the initrd image makes the system unbootable on dmraid. Rešitev sem zasledil na Poisoner’s Weblog. In kako se reši problem? V bistvu dokaj preprosto. Najprej lahko preveriš ali nalaganje RAID gonilnika resnično ni vključeno v initrd image (initrd-2.6.26.6-79.fc9.i686.img je image mojega trenutnega kernela):

# cd /tmp
# mkdir initrd
# cd initrd
# gunzip -c < /boot/initrd-2.6.26.6-79.fc9.i686.img | cpio -idmv
# cat init

Pri izpisu iz datoteke poišči zgornji vrstici. Če jih ni, potem je velika verjetnost, da jih moraš vključiti. Takole:

# cd /boot
# mkinitrd -v –preload=raid1 /boot/initrd-2.6.26.6-79.fc9_RAID.i686.img 2.6.26.6-79.fc9.i686

Kjer je “initrd-2.6.26.6-79.fc9_RAID.i686.img” ime našega novega image-a in “2.6.26.6-79.fc9.i686” verzija nameščenega kernela. Tako se ustvari nova datoteka “initrd-2.6.26.6-79.fc9_RAID.i686.img”. Sedaj je potrebno samo še popraviti grub.conf:

stari grub.conf

default=0
timeout=5
splashimage=(hd1,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.26.6-79.fc9)
root (hd1,0)
kernel /boot/vmlinuz-2.6.26.6-79.fc9.i686 ro root=LABEL=/
initrd /boot/initrd-2.6.26.6-79.fc9.i686.img

novi grub.conf

default=0
timeout=5
splashimage=(md0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.26.6-79.fc9.i686)
root (hd1,0)
kernel /boot/vmlinuz-2.6.26.6-79.fc9.i686 ro root=/dev/md0
initrd /boot/initrd-2.6.26.6-79.fc9_RAID.i686.img

Ker je omenjeni problem (bug) še vedno aktiven, mi preostaneta samo dve stvari. Ob izdanem novem kernelu bom moral ponoviti postopek ali pa enostavno, pri avtomatični nadgradnji, izvzeti nadgradnje kernela.

Reblog this post [with Zemanta]