GRUB USB-s hdd-n

Fórumok

Sziasztok!

Van egy laptopom (Toshiba Satellite L100-112), ami elméletileg (és szerintem gyakorlatilag is) képes USB-ről bootolni. Mivel benne elég kicsi a merevlemez, ezért egy külső házba rakva használok hozzá egy normális vincsesztert. Erre szeretnék linux-ot rakni és itt akadtam el. Próbálkoztam Gentoo-val és Ubuntu-val is, de a probléma ugyanaz. Mindkettő GRUB-bal próbálkozik és ez hal meg. A jelenség az, hogy miután a POST után kiválasztom, hogy usb-ről induljon a gép, az történik, hogy a fekete képernyőn megjelenik a "GRUB" felirat és megáll minden. Se 'c' gombra nem reagál, se semmire, kivéve a Ctrl+Alt+Del-t, erre újraindul ahogy kell. Többször megpróbáltam a livecd/livedvd-ről bootolva kiadni a grub-install parancsot, de nem vezetett sehova. Hiba nélkül lement és az eredmény ugyanaz. Abból gondolom hogy képes a gép usb-ről bootolni, mert odáig eljut hogy "GRUB".

A gépben van egy sata merevlemez, így a külső egység a /dev/sdb nevet kapja. Erre csináltam a telepítéskor két partíciót, egy 10 GB-osat rootnak, meg egy 512 MB-osat swapnak.

Mivel lehetne életre kelteni a GRUB-ot? Vagy a LILO esélyesebb?

Segítségeteket előre is köszönöm!

Üdv:
denx

Hozzászólások

Köszönöm a segítséget!

Ha jól emlékszem ezt futtattam:


grub-install --root-directory=/media/usb /dev/sdb

Természetesen a meghajtó a /media/usb-be volt mountolva ekkor. Lehet nem voltam egyértelmű, de ez nem usb flashdrive, hanem egy Maxtor vincseszter, amivel küzdök. Szerintem se a vinyónak, se a külső háznak nincs semmi baja, mert win alól tökéletes mindkettő (ugyanebben az összeállításban is).

Ha jólsejtem, az, hogy pendrive, vinyo vagy más van az usb-be dugva, addig mindegy, amíg usb mass storage-ként működik. A bios látja valamiként, a kernel pedig scsi emulációval prezentálja nekünk, de ez utóbbi a boot elején teljesen lényegtelen, ez csak a kernel számára lesz fontos, mert a kernelnek meg kell majd adni

root=dev/sdx

formában külön a gyökér partíciót. Először azonban a grubnak kell elmagyarázni, hol keresse a saját dolgait, azat ki kell deríteni, hogy hd0, 1 vagy 2 lesz az usb drive. Ezt legegyszerűbben a grub shelljéből lehet kideríteni, de a fentebb hivatkozott cikkben ez le vagyon írva, szóval, ha megy, én nem gépelnék feleslegesen ;-) Ja, és szerintem használd a grub shellt a grub telepítésére, a grub-install kényelmes, de én már sokat szívtam vele, a shelljéből meg mindent sikerült megcsinálni és nem bonyolult.

ugy is meg lehet csinalni, hogy a belso vinyon csinalsz egy boot particiot, amire a kernel kerul, a kulsore a gyoker filerendszer fog. a grub betolti a belso vinyorol a kernelt a kernelnek meg megadod, hogy a kulson keresse a gyokert

udv Zoli

Ahogy most olvastam a syslinux leírásában kifejezetten csak fat partícióra telepített linux-okhoz ajánlják. Nekem meg nem az van! A belső vinyón ntfs van, a külsőn meg reiser és swap partíciók. Reményeim szerint egy olyan rendszert szeretnék összehozni, ami önállóan a külső vinycseszter két partícióját használná csak! Ebbe pedig szerintem nem kellene hogy szerepeljen a syslinux, mint eszköz.

Inkább arra kérnék valami tanácsot, hogy mivel lehet a grub-ot életrekelteni!

Köszi! Megpróbálom a shell-t!

A thread-ek miatt nem vettem észre az üzenetedet (nem legalul volt), boccs!

Amúgy asszem hd0 a külső vinyó, mert a device.map (ha ez a fájl, amiben ezek le vannak írva) csak annyit tartalmaz, hogy


(hd0) /dev/sdb

Este ki fogom próbálni a shell-es megoldást. Azt viszont nem értem miért nem bír valami informatívabb hibaüzenetet adni arról, hogy mi a baja.

Első ata-s vinyó nálam egyáltalán nincsen, mert a belső vinyó is sata-s, agy az kapja a /dev/sda nevet, a külső meg a /dev/sdb-t!

GRUB manual is azt írja, hogy történhetnek furcsaságok függetlenül a device.map-tól, pl ha megváltozik a boot sequence a BIOS-ban. Márpedig nálam erről van szó pontosan! Vagy cd-ről indul a gép, vagy külső vinyóról!

Akkor az úgy jó megoldásnak tűnik, hogy boot a cd-ről, aztán chroot az usb-s vinyóra, majd ezután grub shell? Vagy ha nem cd-ről, hanem usb-ről bootolok, akkor úgyis meg fog változni a device-ok neve a következő indításkor? Akkor ez patthelyzet!

Ez esetben lehet, hogy hd0 az usb lesz valóban.
"Vagy ha nem cd-ről, hanem usb-ről bootolok, akkor úgyis meg fog változni a device-ok neve a következő indításkor? Akkor ez patthelyzet!"
Nemannyira, gondolj bele: ha usb-ről bootolsz, az aszerint telepített grubbal, akkor az ott megadott beállításokkal megy. Ha átállítod, akkor meg másik bootmanager töltődik úgyis. Problémát esetleg az okozhat, ha másik usb meghajtó is van csatlakoztatva, az boríthatja az eszközneveket, bár ez csak tipp.

Nem erre gondoltam! Hanem arra, hogy amikor beállítom, akkor cd-ről indult a gép, amikor meg a beállított rendszert akarom indítani, akkor meg már más lesz a sorrendje az eszközöknek! Hogy állítsam így be? És ami ennél is aggasztóbb, hogy indulásnál nem tudom behívni a grub konzolját (mert ugye megmerevedik a gép az első pillanatban) így nem tudom kideríteni sem (find) hogy melyik eszközön van a /boot könyvtár!

Ez az, amit magyaráztam, de akkor mégegyszer: a grub shell semmit nem csinál meg "magától", tehát nem is állít be más eszközsorrendet, mint amit megadsz. Tehát a feladat: korrektül megadni a majdan bootoláskor fennálló eszközállapotokat - ezeket fogja a grub a first stage loader-ébe drótozni, ami ugye csak annyit csinál, hogy a megadott eszközön behúzza a boot könyvtárból a megfelelő stage2-t, aminek a segítségével már korlátozottan tudja olvasni a filerendszert is, -> evvel megkeresi a kernelt, és betölti.
A grub shellt pedig nem boot-kor kell hívni, elegendő bebootolni pl. egy liveCD-ről, amin van grub, majd egy terminálban v. konzolban beírod:

grub

és enter, máris ott a grub-shell. De chrootolhatsz is, végül is mindegy, csak kell egy futó rendszer meg egy grub - nameg a megfelelően előkészített célpartíció!. Ha meg a CDROM esetleg összekavarná a boot eszközöket, akkor jön a kísérletezés, nem lehet olyan sok hdx a gépen, hogy előbb-utóbb ne sikerüljön :-)
De felcsigáztál, hazamegyek és kivallatom én is a pendriveomat, bár nekem nincs sata vezérlőm, de van az ata mellett scsi...

Attól tartok igazam lett - bár az is lehet, hogy tévedek.

Kipróbáltam a grub shellt liveCD-ről:


#grub

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

Minden le is ment szépen. Restart után már tovább jutott a grub feliratnál, egészen sikerült az Error 21-et elérem. Ha jól értettem ezzel azta akarja jelezni nekem a grub, hogy nem találja a boot eszközt - jelen esetben a hd1-et, vagyis a /dev/sdb-t. Gyanum szerint ez azért lehet, mert miután beállítotam a grubot, utánna a rebootnál meg kell változtassa a bios a merevlemezek sorrendjét, így valszeg kicserélődik az sda és sdb eszközök neve, ennél fogva a hd1 és hd0 is. Szóval nem tudom mi tévő is legyek most!

A kérdés jó, de most sajnos nem tudok rá válaszolni! A gép otthon van (vinyóstul) én meg a munkahelyemen. És mivel a linux nem képes rajta felállni, etért nem tudtam úgy otthagyni, hogy most is hozzáférjek.

Ha jól értettema dolgot, a device.map fájl csak tájékoztatásul szolgál, ugye? Tehát abba kézzel bármit is beleírni teljesen feleslges, jól értem?

Szerintem a gond a bios-ban átállítódó merevlemez-sorrendből adódhat. Csak nem tudom mit lehet ennek elkerülésére tenni! Úgy van most beállítva a bios, hogy a boot sorrend a következő:
HDD
CD/DVD
FDD
LAN
Félreértések elkerülése végett: a bios minden usb-s cuccot FDD-nek lát, így az a külső vincseszter. Amikor indítom a gépet liveCD-ről vagy külső vinyóról, akkor egy boot menüben ki lehet választani melyik eszközről induljon el. Viszont valahol olvastam, hogy ez megváltoztatja az eszközök sorrendjét és emiatt változhat a sata-s belső és az usb-s külső merevlemez neve! Így más a kiosztás amikor liveCD-ről indult a gép és más amikor külső vinyóról. Csak nem tudom ezt hogy lehet ellenőrizni és hogy elkerülni? A grub-ban a menu.lst-ben a map valami hasonlóra szolgál, de ugye amíg nem jut el a stage2-ig, addig ez nem jöhet ugye szóba! Nekem meg az 1.5 környékén hal meg a 21-es hibával.

(Csak hogy kicsit olvashatóbb legyen a thread...)

Valóban igazad lehet! A manualjában az van, hogy ha a grub-ot --device-map=filename paraméterrel indítom, akokor csinál egy ilyen fájlt, hacsak nem létezik már eleve! És pont ebben a fájlban van leírva, hogy a bios-ból érkező meghajtók hogyan legyenek map-elve. Csak azt nem tudom, hogy miután ezt megbuherálom, utánna megint le kell-e futtatni a grub setup-ját, vagy simán a legközelebbi indításnál már ebből fog dolgozni?

Kipróbálni sajnos már csak este fogom tudni!

Köszi a segítséget!

Nah megneztem a device.map fajlt is es nem sikerukt helyre hozni a dolgot! Akarhogy is allitom be a map-ot, ugyanugy a 21-esnel kotok

Ime a fajl:


(hd1)   /dev/sdb
(hd0)   /dev/sda