PDA

View Full Version : Creare bootloader su floppy (GRUB) help me!


Hazon
30-08-2006, 14:13
Ciao
attualmente ho due hd, sul primo ho installato windows XP e sul secondo LINUX. Attualmente ho il bootloader GRUB sul MBR del primo HD, sfortunatamente questo HD si sta danneggiando, continua a rilevarmi settori danneggiati e vorrei procedere ad una formattazione a basso livello. Il problema è che una volta formattato non mi partirà più neanche linux in quanto manca il bootloader.
Volevo sapere come poter creare un bootloader su floppy, come posso fare?

essential__60
30-08-2006, 14:41
http://yolinux.com/TUTORIALS/LinuxTutorialRecoveryAndBootDisk.html

http://www.ptlug.org/wiki/Howto_Ripristinare_Grub_cancellato_da_installazione_Windows

Hazon
30-08-2006, 15:20
Non ci riesco! Ci sto provando da un'ora ma non ci riesco!

Nella guida dice che devo seguire i seguenti comandi:

[root prompt]# fdformat /dev/fd0H1440
[root prompt]# mke2fs /dev/fd0
[root prompt]# mount -t ext2 /dev/fd0 /mnt/floppy
[root prompt]# grub-install --root-directory=/mnt/floppy '(fd0)'
[root prompt]# cp /boot/grub/grub.conf /mnt/floppy/boot/grub/grub.conf
[root prompt]# umount /mnt/floppy

1° riga: fdformat /dev/fd0H1440 Devo levare H1440 se no da errore.

Dopo aver formattato passo alla 2° riga OK

nella 3° riga eseguito il comando senza alcun risultato apparente...

la 4° riga ho provato a scriverla cosi: grub-install /mnt/fd0 e grub-install /mnt/floppy
ERRORE: Format of install_device not recognized.

dove sbaglio?

fd0
30-08-2006, 16:18
prova questo sistema

http://www.gnu.org/software/grub/grub-faq.en.html#q4

ciao

Hazon
31-08-2006, 17:18
Ho un problemone....
Non riesco a montare il floppy, ERRORE:

mount: impossibile trovare /dev/fd0 in /etc/fstab o /etc/mtab

che faccio?

fd0
31-08-2006, 17:43
Ho un problemone....
Non riesco a montare il floppy, ERRORE:

mount: impossibile trovare /dev/fd0 in /etc/fstab o /etc/mtab

che faccio?

supponendo il floppy sia stato formattato ext2

mount -t ext2 /dev/fd0 /mnt/floppy0 -o rw,uid=tuouser,gid=tuogruppo


se non hai /mnt/floppy0 puoi:
a) creare la directory
b) controllare se c'è floppy o fd o altra directory non montata e disponibile
c) controllare se hai /media/floppy e/o sue varianti.

uid e gid puoi tralasciarli se non hai intenzione di usare il floppy come utente normale.

altro:
controlla che in fstab sia presente l'istruzione per montare il floppy. solitamente con opzione noauto. in caso mancasse potrebbe essere il caso di aggiungerla

Hazon
31-08-2006, 18:09
OK sono riuscito a montare il floppy.
Ora ho provato a seguire queste istruzioni:

1. Create a filesystem in your floppy disk (e.g. mke2fs /dev/fd0).
2. Mount the floppy on somewhere, say, /mnt.
3. Copy the GRUB images to the directory /mnt/boot/grub. Only stage1, stage2 and menu.lst are necessary. You may not copy *stage1_5.
4. Unmount the floppy.
5. Run the following commands (note that the executable grub may reside in a different directory in your system, for example, /usr/sbin):

/sbin/grub --batch --device-map=/dev/null <<EOF
device (fd0) /dev/fd0
root (fd0)
setup (fd0)
quit
EOF

Cosa è quell' <<EOF alla fine della prima riga di comando in grub?
Se lo digito ed eseguo l'istruzione rimango con il simbolo > in konsole e non posso dare altri comandi, se ometto <<EOF arrivo fino all'istruzione root (fd0) dove ottengo questo errore:

root (fd0)
Unknown partition table signature
Filesystem type is ext2fs, using whole disk
grub>

possibile che non riesco proprio a creare questo bootloader su floppy?
A quanto ho capito l'errore è dato dal fatto che il floppy è stato formattato in ext2, cosa intende con "using whole disk" ? In che modo deve essere formattato il floppy? in fat32? che comando gli devo dare per formattarlo in FAT32?
Ho provato mkfs.fat32 /dev/fd0 ma non funziona

fd0
31-08-2006, 18:20
OK sono riuscito a montare il floppy.
Ora ho provato a seguire queste istruzioni:

1. Create a filesystem in your floppy disk (e.g. mke2fs /dev/fd0).
2. Mount the floppy on somewhere, say, /mnt.
3. Copy the GRUB images to the directory /mnt/boot/grub. Only stage1, stage2 and menu.lst are necessary. You may not copy *stage1_5.
4. Unmount the floppy.


fino qui tutto bene dunque.


5. Run the following commands (note that the executable grub may reside in a different directory in your system, for example, /usr/sbin):

/sbin/grub --batch --device-map=/dev/null <<EOF
device (fd0) /dev/fd0
root (fd0)
setup (fd0)
quit
EOF

Cosa è quell' <<EOF alla fine della prima riga di comando in grub?

il comando finale che devi dare per uscire dalla shell di grub

Se lo digito ed eseguo l'istruzione rimango con il simbolo > in konsole e non posso dare altri comandi, se ometto <<EOF arrivo fino all'istruzione root (fd0) dove ottengo questo errore:

root (fd0)
Unknown partition table signature
Filesystem type is ext2fs, using whole disk
grub>


controlla il disco, secondo me lo hai fatto

possibile che non ci riesco proprio a creare questo bootloader su floppy?
A quanto ho capito l'errore è dato dal fatto che il floppy è stato formattato in ext2, cosa intende con "using whole disk" ? In che modo deve essere formattato il floppy? in fat32? che comando gli devo dare per formattarlo in FAT32?
Ho provato mkfs.fat32 /dev/fd0 ma non funziona

intende dire che userà l'intero disco perché non ha trovato partizioni.
lascia la formattazione in ext2.
nel caso il dischetto non fosse stato creato riprova e segui le istruzioni come sono scritte <<EOF nel comando e EOF alla fine

c'è un metodo più semplice se vuoi, basta usare grub-floppy (in debian mi pare si scarichi in un pacchetto a parte), basta lanciare il programma e lui crea un floppy con grub ma, attento, senza menù. devi usare la shell di gurb per impostare root, kernel e initrd poi dare il comando boot.
(fantastico avere un bootloader con la shell!!)

ciao

Hazon
31-08-2006, 18:50
Allora...

tutte e due gli HD collegati con il floppy GRUB inserito appare il menu (allora il floppy funziona!) seleziono il S.O., OK.

HD linux scollegato con HD winXp collegato, GRUB parte da floppy ma mi da ERRORE 24, probabile che non veda il so linux e si blocca.

HD linux collegato con HD WinXp scollegato, GRUB non parte da floppy (boot disk failure). Stessa cosa se cerco di far partire direttamente linux da HD,

Hazon
31-08-2006, 18:53
Il mio scopo è poter utilizzare linux anche in caso che l'altro HD con il so WinXp sia mancante.
Non c'è la possibilità tramite un cd di poter far partire l'installazione di linux?

fd0
31-08-2006, 19:20
Allora...

tutte e due gli HD collegati con il floppy GRUB inserito appare il menu (allora il floppy funziona!) seleziono il S.O., OK.

HD linux scollegato con HD winXp collegato, GRUB parte da floppy ma mi da ERRORE 24, probabile che non veda il so linux e si blocca.

HD linux collegato con HD WinXp scollegato, GRUB non parte da floppy (boot disk failure). Stessa cosa se cerco di far partire direttamente linux da HD,

questa ultima cosa è strana, sei sicuro che quando avvii con entrambi i disci il floppy di grub venga letto (modifica i colori o una voce di menu così da essere certo che quello avviato è il grub del floppy)?

comunque se cambi la struttura hardware devi cambiare anche le configurazioni.
windows è su hda (master ide0) e linux su hdb (slave ide0)?
grub lo hai installato in MBR?

a questo punto pero' non so se puoi mappare hdb come fosse hdb se manca un disco altrimenti immagino andrebbero anche rifatte le configurazioni di fstab (tutto questo supponendo che hai linux sul secondo disco fisso)

ciao

fd0
31-08-2006, 19:24
Il mio scopo è poter utilizzare linux anche in caso che l'altro HD con il so WinXp sia mancante.
Non c'è la possibilità tramite un cd di poter far partire l'installazione di linux?

puoi avviarlo da dischetto, ma se hai installato linux su hdb e si ritrova su hda non troverà le partizioni da montare.
puoi fare quello che vuoi, ma devi assecondare gli schemi preimpostati.

susetto
31-08-2006, 19:37
con suse, ho provato su un CD -RW e funziona bene

(copiato dalla guida)

SUSE Documentazione LINUX

29.6. Creare il CD di avvio

Se doveste incontrare delle difficoltà durante l'esecuzione del boot del vostro sistema o il bootmanager non si lascia installare né nell' MBR del vostro disco rigido né su dischetto, sussiste la possibilità di creare un CD avviabile con tutti file di avvio per Linux richiesti. Chiaramente il vostro sistema dovrà disporre di un masterizzatore di CD.
Per creare un CD-Rom avviabile con GRUB occorre un stage2 particolare denominato stage2_eltorito e facoltativamente e quindi non necessariamente un menu.lst su misura. Non sono richiesti i classici file stage1 e stage2.
Create una directory in cui generare l'immagine ISO, per esempio con cd /tmp e mkdir iso. Create una sottodirectory per GRUB con mkdir -p iso/boot/grub. Copiate il file stage2_eltorito nella directory grub:
cp /usr/lib/grub/stage2_eltorito iso/boot/grub

Copiate anche il kernel (/boot/vmlinuz), initrd (/boot/initrd) e /boot/message sotto iso/boot/:
cp /boot/vmlinuz iso/boot/
cp /boot/initrd iso/boot/
cp /boot/message iso/boot/

Affinché GRUB possa individuare questi file, copiate menu.lst sotto iso/boot/grub e modificate l'indicazione del percorso in modo che vengono letti i file sul CD sostituendo nell'indicazione del percorso il nome di dispositivo del disco rigido (ad es. (hd*)) con il nome di dispositivo del lettore di CD ((cd)):

esempio

gfxmenu (cd)/boot/message
timeout 8
default 0

title Linux
kernel (cd)/boot/vmlinuz root=/dev/hda5 vga=794 resume=/dev/hda1
splash=verbose showopts
initrd (cd)/boot/initrd

Create quindi un immagine ISO9660 servendovi del comando riportato di seguito:
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \
-boot-load-size 4 -boot-info-table -o grub.iso iso

Infine masterizzate il file grub.iso risultante su un CD servendovi di un'applicazione di vostra preferenza.

Hazon
31-08-2006, 19:41
questa ultima cosa è strana, sei sicuro che quando avvii con entrambi i disci il floppy di grub venga letto (modifica i colori o una voce di menu così da essere certo che quello avviato è il grub del floppy)?

Innanzitutto fd0 ti ringrazio per la tua cortesia e la tua pazienza.
Come faccio a modificare i colori o le parole?

comunque se cambi la struttura hardware devi cambiare anche le configurazioni.
windows è su hda (master ide0) e linux su hdb (slave ide0)?
grub lo hai installato in MBR?

Esatto, windows hda master ide0 e linux hdb slave ide0 e grub è installato sul MBR dell'HD master contenente WinXp.

susetto
31-08-2006, 19:42
naturalmente sai che puoi fare copia-incolla dei comandi anche nella shell
basta che strisci il comando sul browser e fai ctrl+c
vai nella shell e premi la rotellina del mouse per incollare

fd0
31-08-2006, 19:58
Come faccio a modificare i colori o le parole?

monta il dischetto come hai fatto prima supponiamo in /mnt/floppy)
edita /mnt/floppy/boot/grub/menu.lst Se non hai menu.lst controlla se c'è grub.con (dipende dalle distro, tu cosa usi?)

per i colori:
# Pretty colours <----- trova questo punto e aggiungi o modifica la riga sotto

color red/black white/red

per i titoli: verso la fine del file trovi quello che appare nel menù di avvio, ti basta sostituire quello che viene dopo title
Modifica solo la riga che inizia con title, le altre per ora non toccarle

Esatto, windows hda master ide0 e linux hdb slave ide0 e grub è installato sul MBR dell'HD master contenente WinXp.

vediamo se parte il dischetto, poi al massimo proviamo a mappare (anche se non ho capito perché non parte da dischetto xp)

ciao

Hazon
01-09-2006, 11:53
Eccomi qua...
Ora GRUB da dischetto parte, mi vien fuori il menu con la scelta del so, seleziono il so ma si blocca sempre con un errore "FILE NOT FOUND" tipo:

root (hd0,0)
filesystem type unknow, partition type 0X7
savedefault
ERROR 15: file not found

Una soluzione drastica per poter creare questo dischetto sarebbe di ripristinare il MBR originale sul primo HD con il CD di winXP (così ho sentito dire, non so come si faccia), poi fare il backup di Linux (ho la versione KUBUNTU) e procedere ad una nuova reinstallazione di liux e quando mi chiede dove voglio creare il bootloader seleziono la voce "floppy".
Voi che mi consigliate di fare?

k_apo
01-09-2006, 12:00
Puoi anche reinstallare grub nell'mbr da una live ad esempio knoppix.
Se non lo e' monti la partizione di linux:
mount /dev/DEVICENAME /PUNTO/DI/MOUNTH

e reinstalli grub (devi conoscere il device name dell'harddisk)
grub-install --root-directory=/PUNTO/DI/MOUNT /dev/DEVICENAME2

N.B.
il DEVICENAME2 non e' altro che il DEVICENAME senza il numero finale
es:
DEVICENAME = /dev/hda1
DEVICENAME2= /dev/hda
Ciao

Hazon
01-09-2006, 12:25
Puoi anche reinstallare grub nell'mbr da una live ad esempio knoppix.
Se non lo e' monti la partizione di linux:
mount /dev/DEVICENAME /PUNTO/DI/MOUNTH

e reinstalli grub (devi conoscere il device name dell'harddisk)
grub-install --root-directory=/PUNTO/DI/MOUNT /dev/DEVICENAME2

N.B.
il DEVICENAME2 non e' altro che il DEVICENAME senza il numero finale
es:
DEVICENAME = /dev/hda1
DEVICENAME2= /dev/hda
Ciao

Il fatto è che non voglio avere grub nel MBR ma sul floppy...
Comunque ho fatto una ricerca per ripristinare il MBR all'avvio in modo da levare GRUB:

inserire il cd di installazione di windows,
tramite F10 accedere alla console di ripristino
digitare

fixmbr device
fixboot drive

Qualcuno mi può confermare tali operazioni?

Hazon
01-09-2006, 12:34
Molto probabilmente farò così, ripristino il mbr dell'hd master in modo che mi parta direttamente winXp, poi ripeto la procedura di installazione di linux creando il boot loader su floppy.
Comunque aspetto un vostro parere soprattutto sulla procedura di ripristino del mbr. non vorrei trovarmi con due so non funzionanti..

k_apo
01-09-2006, 12:39
dal cd di win98 io facevo fdisk /mbr nn so se e' ancora supportato dal cd di xp, anzi credo di no ...
Ciao

Hazon
01-09-2006, 12:48
dal cd di win98 io facevo fdisk /mbr nn so se e' ancora supportato dal cd di xp, anzi credo di no ...
Ciao

Confermo che il comando fdisk non funziona con win xp.
Aspetto che qualcuno con win xp mi dia conferma.

fd0
01-09-2006, 13:06
Eccomi qua...
Ora GRUB da dischetto parte, mi vien fuori il menu con la scelta del so, seleziono il so ma si blocca sempre con un errore "FILE NOT FOUND" tipo:

root (hd0,0)
filesystem type unknow, partition type 0X7
savedefault
ERROR 15: file not found

ottimo, significa che non trova il file ma la partizione c'è e la legge.
prima di darla vinta al bootloader di redmond, prova (con tutti i dischi attaccati) a specificare disco e partizione a quello che vuoi lanciare.

modifica le righe che iniziano così

kernel /boot/vmlinux-2.6.16-2 ........
initrd /boot/initrd-2.6.16..........

in

kernel (hd1,0)/boot/vmlinux-2.6.16-2 ........
initrd (hd1,0)/boot/initrd-2.6.16..........

dove: (hd1,0) sta per "hd1"=hdb "0"=prima partizione di hdb
modifica a secondo delle esigenze

per la partizione windows stessa cosa

chainloader (hd0,0)+1

Una soluzione drastica per poter creare questo dischetto sarebbe di ripristinare il MBR originale sul primo HD con il CD di winXP (così ho sentito dire, non so come si faccia),

avii il disco d'installazione di xp e scegli di andare in console
dai fixmbr e reinstalla il bootloader

poi fare il backup di Linux (ho la versione KUBUNTU) e procedere ad una nuova reinstallazione di linux e quando mi chiede dove voglio creare il bootloader seleziono la voce "floppy".
Voi che mi consigliate di fare?

il bootloader su floppy s'impallerà quando cercherai di lanciare linux avendo tolto il disco di xp
non sono un tipo ostinato, ma preferisco vie alternative ed evitare le reinstallazioni (perdo sempre un sacco di roba, io)

ciao

fd0
01-09-2006, 13:10
inserire il cd di installazione di windows,
tramite F10 accedere alla console di ripristino
digitare

fixmbr device
fixboot drive

Qualcuno mi può confermare tali operazioni?

si è ok

Hazon
01-09-2006, 15:15
modifica le righe che iniziano così

kernel /boot/vmlinux-2.6.16-2 ........
initrd /boot/initrd-2.6.16..........

in

kernel (hd1,0)/boot/vmlinux-2.6.16-2 ........
initrd (hd1,0)/boot/initrd-2.6.16..........

dove: (hd1,0) sta per "hd1"=hdb "0"=prima partizione di hdb
modifica a secondo delle esigenze

per la partizione windows stessa cosa

chainloader (hd0,0)+1

Ho provato ma...

ERROR 17: Cannot mount selected partition.

Io ora provo a ripristinare il MBR, reinstallo linux (tanto ora avevo l'installazione pulita, ci ho aggiunto solo Mozilla come browser) e creo il boot loader su floppy.
Speriamo che vada tutto liscio...
...vi farò sapere.

fd0
01-09-2006, 15:29
Ho provato ma...

ERROR 17: Cannot mount selected partition.

Io ora provo a ripristinare il MBR, reinstallo linux (tanto ora avevo l'installazione pulita, ci ho aggiunto solo Mozilla come browser) e creo il boot loader su floppy.
Speriamo che vada tutto liscio...
...vi farò sapere.

questo su windows o anche linux?
serve rootnoverify per avviare windows

ciao

Hazon
01-09-2006, 15:35
questo su windows o anche linux?
serve rootnoverify per avviare windows

ciao

Anche su linux...
Comunque non riesco a ripristinare il MBR!!!!
Dalla console di windows digito esattamente:

fixmbr device
fixboot drive

Ma quando riavvio il pc parte ancora GRUB!!!
Non capisco... perchè?!

Post edit:
RISOLTO:
non dovevo mettere ne device ne drive davanti al comando. Ora procedo all'installazione di linux.

Hazon
01-09-2006, 16:57
Ora sono al punto di prima...
...durante l'installazione credevo ci fosse l'opzione per creare il bootloader su floppy invece no.

fd0
01-09-2006, 18:17
che distro installi? all'avvio solitamente ti permette di scegliere se fare l'installazione semplice o passo passo.

se vuoi provare ancora con il floppy...

# seleziona quale sistema fare partire
default 0
# timeou prima di avviare automaticamente
timeout 7
# seleziona i colori | warning style
color red/black white/red

#########################
## con i sistemi installiti su : ###
## winxp = hda & linux = hdb ###
## entrambi in prima partizione ###
### ###
## scelta dei sistemi da avviare ###
## modifica le parti in rosso ###
## con la tua versione del kernel ###
## non puntare ai link al file ###
#########################

title Linux
root (hd1,0)
kernel (hd1,0)/boot/vmlinuz-versione root=/dev/hdb1 ro
initrd /boot/initrd.img-versione
boot

title ICSPI
rootnoverify (hd0,0)
makeactive
chainloader (hd0,0)+1
boot

title Turn Off System
halt

## fine ##

controlla le differenze con il tuo, perché a questo modo il mio parte
(ho fatto il dischetto seguendo le stesse istruzioni)

ciao