|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 37
|
Disperazione Grub
Buongiorno! Ho un problema: ho dovuto formattare la partizione win e con questo non ho potuto accedere al menu di grub che mi permetteva di scegliere con quale SO partire... ho messo il dvd di suse 9,1 e ho tentato di ripristinare il grub ma non c'è niente da fare: quello che genera il tool per l'installazione del bootrecord è
GNU GRUB version 0.94 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> root (hd0,1) Filesystem type is reiserfs, partition type 0x83 grub> install --stage2=/boot/grub/stage2 / d (hd0) / 0x8000 (hd0,1)/grub/stage2 Error 15: File not found grub> quit ho provato a mettere (hd0,1)/boot/grub/menu.lst al posto di (hd0,1)/grub/stage2 perchè in effetti questo non esiste. anche /boot/grub/stage2 ma niente... qualcuno sa aiutarmi? non mi va di formattare pure linux ogni volta che devo farlo su win (significherebbe almeno una volta al mese) |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2003
Città: Roma
Messaggi: 95
|
è successo anche a me, ma io avevo solo creato una piccola partizione fat32....
da quello che mi hanno spiegato windows quando viene reinstallato scrive sul mbr dell'hard disk e cacella il boot loader (win non pensa di dover convivere con qualcun'altro!)...potresti, se non l'hai già fatto, partire col cd in rescue mode e ripristinare il boot... all'epoca mi avevano accennato che era possibile creare una mini partizione solo per grub, per evitare il problema. io non saprei farlo, forse qualcuno più esperto ti potrebbe rispondere. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2001
Messaggi: 1205
|
Quote:
Formattando la partizione di Windows (ma sopratutto reinstallandolo) hai anche cancellato quella parte del MBR (i suoi primi 448 byte) in cui era presente il codice preposto all'esecuzione di Grub durante il boot... Per leliuccio Mi è sembrato di capire che, attraverso il cd di boot della SuSE sei riuscito ad entrare in una shell di "recupero" dalla quale hai lanciato Grub. Bene... procurati un floppy disk, e rilancia il cd della SuSE in modalità "recupero". Allora, una volta giunto al prompt della shell, NON lanciare grub ma: 1. Metti il floppy nel drive; 2. formattalo: # fdformat /dev/fd0; 3. crea un filesystem fat12: # mkdosfs /dev/fd0 4. crea una directory temporanea in cui montare il floppy, es: # mkdir ./floppy 5. monta il floppy: # mount -t auto /dev/fd0 ./floppy 6. crea le due dir boot/grub: # mkdir -p ./floppy/boot/grub/ Ora si tratta di copiare i due file di sistema stage1 e stage2 in ./floppy/boot/grub/ Dove si trovano 'sti file nel filesystem temporaneo (in RAM) di SuSE? Boh! Bisogna cercarli... per esempio: # find / -iname "stage*" L'output di find ti darà il percorso ricercato. 7. copia dei due file di sistema stage1 e stage2 in ./floppy/boot/grub/: # cp /percorso/degli_stage/.../stage* ./floppy/boot/grub/ Non è necessario, ma è meglio: puoi copiarti anche il tuo vecchio file menu.lst, previo mount (in un altra dir temporanea) della partizione Linux ancora presente nell'hard disk: # cp /.../.../boot/grub/menu.lst ./floppy/boot/grub/menu.lst 8. ora puoi lanciare grub: # grub e dare questi tre comandi: 9. grub> root (fd0) 10. grub> setup (fd0) 11. grub> quit Fatto questo, avrai grub installato nel floppy. Lascialo inserito e riavvia il pc in modo che il boot venga eseguito prima dal floppy. Se tutto è andato a buon fine, come dovrebbe se la partizione Linux non è stata danneggiata e/o spostata, ti ritroverai nel menu dei sistemi operativi oppure, alla peggio, nel prompt di grub, dal quale però è sempre possibile lanciare Linux con gli opportuni comandi. Intanto prova a fare così... Se riuscirai col floppy a rilanciare Linux, poi dovrai reinstallare Grub nel MBR, e così potrai fare a meno del floppy (ma non buttarlo, come vedi un floppy di boot con Grub è sempre molto comodo...). |
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 37
|
Gibbus sei stato gentilissimo e molto esauriente.
Purtroppo il tutto sta su un portatile in cui non è presente il floppy drive. Me ne scuso perchè non l'avevo specificato. Sono riuscito tuttavia tramite dvd di suse ad avviare il mio sistema: faccio partire l'installazione, si accorge che c'è un sistema linux già installato e mi da delle opzioni di ripristino tra le quali quella di installazione di grub ed il problema è uguale a quello di cui parlavo nel primo post. Tra le altre opzioni c'è "avvia il sistema precedentemente installato" ed effettivamente viene avviato tranquillamente (con il vecchio kernel però... non so come ma è così). Da li tento nuovamente l'installazione di grub ma niente da fare... |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Apr 2003
Città: Roma
Messaggi: 95
|
hai provato con la funzione "ripristina sistema operativo" o "ripara", qualocosa del genere. a me, come ti dicevo, il problema del boot load me lo risolse...
eventualmente trova qualche anima pia che ti spieghi come creare grub in una partizione tutta per sè |
|
|
|
|
|
#6 | ||
|
Senior Member
Iscritto dal: Nov 2001
Messaggi: 1205
|
Quote:
settore di avvio verrebbe sovrascritto ed anche in questo caso non si sarebbe in grado di avviare Linux. Grub, quando si installa, provvede a mettere una parte del suo codice nel MBR (per esempio) ed una altra parte sotto forma di file di sistema (i file stage*). Installando grub in un altra partizione, sono i file stage* che vengono messi lì, ma non la parte "avviabile" di grub, a meno che non si installi grub integralmente in una piccola partizione primaria. In tal caso sarebbe possibile alloggiare là tutti i file di sistema di grub (stage*) ed i vari vmlinuz*, initrd* etc, nonché il codice eseguibile di grub (nel settore di avvio della suddetta partizione). Però, poiché quel rombiballe di Win vuole solo partizioni primarie per installarsi (o meglio, i suoi file di sistema devono essere messi in una partizione primaria), prima di installare Win occorrerebbe nascondere la piccola partizione primaria in cui risiede grub, altrimenti Windows vi ci si fionderebbe sovrascrivendo... Quote:
In genere le distribuzioni tipo SuSE, Mandrake e Red Hat vogliono che si usino i loro strumenti specifici per manipolare il boot loader, anche se grub in queste distro dovrebbe instalarsi correttamente bypassandoli attraverso la shell (io uso sempre la shell, però tieni conto che ho la Slackware...). Strumenti grafici Credo che con la SuSE i tools di supporto siano in Yast (yast control-center, o qualcosa di simile): cerca avvio o boot loader, scegli come boot loader grub e come punto di installazione il MBR dell'hard disk (presumibilmente sarà /dev/hda, ma questo lo sai solo tu). Segui i vari wizard etc. shell Se invece vuoi provare direttamente con la shell, beh, il tutto risulta moolto più semplice, perché è sufficiente lanciare lo script grub-install seguito dall'unità in cui vuoi installare grub, cioé: # grub-install /dev/hdx Come già detto, /dev/hdx è l'identitificativo del tuo hard disk, scegli bene cosa mettere al posto di x... ripeto, è molto probabile che il tuo disco rigido sia identificato da /dev/hda. Per quanto riguarda il fatto che ti carichi un "vecchio" kernel (diciamo uno di versione 2.4.xy), significa che quella voce di menu che hai scelto va a pescare come immagine del kernel un file di tipo vmlinuz-version-2.4.xy (oppure bzImage-), situato in /boot/. In questa stessa directory (/boot/) deve esserci anche un file vmlinuz* corrispondente all'immagine del kernel della famiglia 2.6.x. Ebbene, con un editor devi aprire il file /boot/grub/menu.lst (che punta a /boot/grub/grub.conf), e crearti una nuova sezione che sarà simile a questa: title SuSE-post-recupero root (hd0,1) kernel (hd0,1)/boot/vmlinuz-versione_kernel ro root=/dev/hda2 [altre opzioni] initrd (hd0,1)/boot/initrd-versione_kernel.img In questa sezione ho ipotizzato che Linux si trovi nella seconda partizione primaria (cioè (hd0,1)) e che quindi la partizione di root si trovi in /dev/hda2. Altro esempio: se invece Linux ce l'hai nella prima unità logica, avresti (hd0,4) e /dev/hda5. Nota lo sfasamento di un'unità tra grub e Linux circa il modo di identificare le periferiche e partzioni: grub parte da 0, Linux da 1... Correggi questi dati all'uopo, secondo la reale organizzazione del tuo hard disk. Per quanto riguarda i file vmlinuz* ed initrd*, devono essere coerenti con la versione del kernel che vuoi utilizzare, cioè (prendo spunto dalla MDK): se voglio utilizzare un kernel 2.6.x allora scelgo (per esempio) l'immagine vmlinuz-2.6.8.1-10mdk, di conseguenza devo sceglere come "disco ram" il file initrd-2.6.8.1-10mdk.img Nota finale. Quando si installa grub, è sempre meglio provarlo PRIMA su un floppy soprattutto per testarne il corretto funzionamento delle relative voci di menu. Nel caso in cui si faccia qualche pasticcio, il danno risiederebbe solo nel floppy e non nel MBR... Buona fortuna |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:22.



















