Jelenlegi hely

GRUB2 kérdések

Na megint én nyaggatlak benneteket. És megint pendrive-val kapcsolatban. Sóval s tetvvel, 2 pendrive-om van. Az egyikre, a 8 gigásra már összehoztam egy GRUB1-el jól működő Arch rendszert, hála a segítségeteknek, de most az jutott az eszembe, hogy hiszen nekem van egy másik, egy 2 gigás pendrive-om is, ami ugyan kissé pici egy teljes Arch rendszernek, de arra kiváló lenne, hogy mindenféle ISO képmásokat másolgassak fel rá, s azokból bootoljak! Na de ezt nem tudja a GRUB1, csak a GRUB2, úgy hallottam. Én azonban eddig még sosem ismerkedtem meg a GRUB2-vel. Annyit tudok, hogy sokkal komplexebb mint a GRUB1, és nem a menu.lst-vel kell vezérelgetni, hanem azt maga a GRUB generálja le valamiféle paraméterek alapján, amit azonban nem tudom hol és hogyan kell beállítanom neki.

Szóval a kérdéseim konkretice a következőek lennének:

—Milyen fájlrendszerre formázzam meg a pendrive-ot? Kizárólag arra kell, hogy ISO képmásokat másoljak fel rá, s rátegyem a GRUB2-t. Szóval mi legyen, FAT, ext2, reiserfs, other...
—Hogyan telepítsem fel rá a GRUB2-t, amikor a mostani asztali gépemen GRUB1-van, s ezt nem is szándékszom lecserélni a 2-es GRUBra, abból az elvből kiindulva, hogy ami jól működik, azt nem piszkálom.
—Ha fel van telepítve a GRUB2 a pendrive-ra, akkor hogyan állítsam be úgy, hogy egy oda felmásolt ISO-ból bebootoljon?

Egyelőre ennyi, köszönöm a türelmeteket, tudom hogy sokat nyaggatlan benneteket!

Ja,és egy pót-kérdés: jó ötlet-e az, hogy az asztali gépemre installálom a pacmannal a grub2-t, hogy ezt telepítsem a pendrive-ra, majd ennek végeztével leszedem a grub2-t a pacman -R -rel, s visszatelepítem a grub1-et?

Fórumok: 
fórum címkék: 

Na már majdnem teljes a siker, de megakadtam! Előszöris, a pendrive-ot ext2-nek formáztam meg.

Aztán, telepítettem a virtualboxot, abban elindítottam egy live debian ISO-t, mert tudtam hogy az GRUB2-t használ, s azzal telepítettem a GRUB2-t a pendrive-ra. Ezután kiléptem a virtuális gépből, átmásoltam az Arch telepítő ISO-ját a pendrive gyökérkönyvtárába, és igyekeztem beállítani a grub.conf állományt. Ez nálam most így néz ki:

menuentry "ArchLinux Install ISO" {
set isofile="/archlinux-2011.08.19-core-i686.iso"
loopback loop $isofile
linux (loop)/arch/boot/i686/vmlinuz archisolabel=ARCH_201108 img_dev=UUID=? img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/i686/archiso.img
}

No most ha elindítom, akkor a GRUB menüje után nagyon sokáig vár egy szál villogó kurzorral, majd azt írja ki ékes angolsággal, hogy 30 sec-et várt az UUID-re, aztán kilép.

No most emiatt arra gondolok, hogy nem elég neki az img_dev=UUID=? rész, hanem a "?" helyébe egy tényleges UUID értéket kéne beírnom, de nem tudom, hogyan deríthetném ki, hogy mit! Próbálkoztam így :

[root@Csiszilla:/mnt/sda9/iso]$ mount -o loop archlinux-2011.08.19-core-i686.iso /mnt/ISO
mount: warning: /mnt/ISO seems to be mounted read-only.
[root@Csiszilla:/mnt/sda9/iso]$ blkid /mnt/ISO

de semmit nem írt ki.

Azt sem tudom, hogy az "archisolabel" részhez mit írjak, hogyan deríthetném azt ki?

Az ISO fájlon belül nincs egy config fájl sem, ami erre választ adna.
Egyetlen config fájlt találtam csak, abban ez áll:

[root@Csiszilla:/mnt/ISO/isolinux]$ cat isolinux.cfg
DEFAULT loadconfig

LABEL loadconfig
CONFIG /arch/boot/syslinux/syslinux.cfg
APPEND /arch/boot/syslinux/

Beírtam az UUID=? helyére pendrive azon a partíciójának UUID-jét, amelyiken az ISO fájl van, de erre ezt írja ki:

Error: boot device didn't show up after 30 seconds...

Valakinek valami ötlete?

Szerintem a legtisztabb, ha elinditjuk az ISO-n levo bootloadert. (chainload)
Nem teszteltem, de en igy csinalnam:
menuentry "archiso" {
set isofile="/archlinux-2011.08.19-core-i686.iso"
search --fs-uuid --no-floppy --set=iso_root pendrive-uuid-4xxx-xxxx-xxxxxxxxxxxx
loopback loop0 $iso_root$isofile
chainloader loop0 # meghivja a loop0 eszkozon, azaz az archiso-n levo bootloadert, akarmi legyen az.
loopback -d loop0 # nem kotelezo, torli a loop eszkozt
}

Nem biztos, hogy mukodni fog, de egy probat meger. :)
Ha bejon, itt csak a fajlnevet kell atirni mindenfele iso-hoz, meg ugye a menupont nevet. Nem kell foglalkoznod a kulonbozo fajlrendszer-megoldasokkal, bootloaderekkel, stb.

Megpróbáltam ezzel a grub.cfg -val:

menuentry "ArchLinux Install ISO" {
set isofile="/archlinux-2011.08.19-core-i686.iso"
search --fs-uuid --no-floppy --set=iso_root pendrive-uuid-18d6f635-757b-4974-93df-bfce216bd4f6
loopback loop0 $iso_root$isofile
chainloader loop0 # meghivja a loop0 eszkozon, azaz az archiso-n levo bootloadert, akarmi legyen az.
loopback -d loop0 # nem kotelezo, torli a loop eszkozt
}

De ezt írja ki:

error: no such device: pendrive-uuid-18d6f635-757b-4974-93df-bfce216bd4f6
error: invalid filename 'loop0'

Igy ertettem: :)
search --fs-uuid --no-floppy --set=iso_root 18d6f635-757b-4974-93df-bfce216bd4f6

Ugye az uuid xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx formatumu, es hogy ertsd, hogy a pendrive-on levo particio UUID-jere gondolok, az elso ketto csoportot helyettesitettem ezzel a szoveggel.

Kijavítottam, de most ezt írja ki:

error: invalid file name 'hd0, msdos1/archlinux-2011.08.19-core-i686.iso'
error: invalid file name 'loop0'
error: device not found.

Igaz, hibasat irtam, sajnos nem tudom tesztelni.
Megprobalhatod torolni az $iso_root valtozot a loopback utan, es atirni inkabb root-nak beallitani a pendrive particiojat, tehat

search --fs-uuid --no-floppy --set=root 18d6f635-757b-4974-93df-bfce216bd4f6
loopback loop0 $isofile

Na most már csak 1 sornyi hibaüzenetet ír ki:

error: invalid file name 'loop0'

Nem lehet-e, hogy egyszerűen ez az ISO nincs felkészítve arra, hogy GRUB2-vel bootoljon? (Bocs ha hülyeséget fantaziálok...)

Elvileg:
1. Minden linux telepito ISO egyben sima lemezkep is, tehat ha csatolni tudod, akkor bootolni is rola.
2. A GRUB2-nek csak at kell tudnia adni a vezerlest a loop eszkoznek.

http://forums.hak5.org/index.php?s=7e2e24cc19f00f10d48cc65d2d99a90e&show...
Erre most talaltam ra, ezekszerint nem tudja a loop eszkoznek atadni a vezerlest. :/

Ezt hogy erted, hogy minden telepito iso egyben lemezkep is?
Jo esetben az iso kiterjesztés lemezkepet takar, ami vagy bootolhato vagy nem. Az, hogy tudod csatolni messze nem jelenti azt, hogy bootolhato is.

Tehát eszerint erről a megoldásról lemondhatok. Hát, tudni kell veszíteni is.

Vagy hasznalod az ArchWiki-n levo megoldast, vagy felosztod tobb particiora a pendriveod es azokra kerul egy-egy lemezkep.
pl.:
/dev/sda1: grub, ~20MB
/dev/sda2: extended
/dev/sda5: ubuntu iso, 700MB
/dev/sda6: arch iso, ~200MB
/dev/sda7: fedora iso, ~600MB
...

A GRUB configjaban pedig chainload-olsz a particiokra.
Az ArchWiki-s megoldas jobbnak tunik, valahogy biztos egyszerusitheto.

Erre en az unetbootin nevu alkalmazàst hasznalom, ha nem kell semmi csak egy bootolhato pendrive valami live isoval, arra tokeletes