Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#1 Le 20/04/2006, à 23:17

cep

Cdrom bootable avec Grub et menu.lst

Ayant eu besoin de faire un cdrom bootable avec grub et menu.lst j'en ai gardé une trace pour ce tuto.

Il me fallait la totalité de /boot/, mais pour faire un cdrom grub seuls menu.lst et stage2_eltorito ainsi que éventuellement device.map sont nécessaire.
Mais comme d'un autre côté ça simplifie la réalisation, et la place sur le cdrom ne manquant pas, autant avoir une copie de sauvegarde complète de /boot à l'instant T au cas ou.

Donc la procédure se limite à :

- créer le répertoire iso et le sous répertoire boot :

:~$ mkdir -p iso/boot

- copier /boot/. dans iso/boot/ :

:~$ sudo cp -a /boot/. iso/boot/

* à ce stade il semble préférable d'adapter menu.lst pour le rendre utilisable sur toutes les configurations. Il faudra donc éditer le fichier menu.lst avec nano ou autre éditeur (voir poste #8) :

sudo nano -w iso/boot/grub/menu.lst

et en  utilisant le "title" habituel de lancement du système, il faudra créer un nouveau "title",  supprimer la première ligne ainsi que la ligne savedefault inutiles, et ajouter le chemin selon la désignation grub sur les lignes kernel et initrd pour avoir au final dans le fichier menu.lst du cdrom (exemple à adapter à votre configuration) :

title          Ubuntu, depuis cdrom
kernel         (hd0,0)/boot/vmlinuz-2.6.15-20-386 root=/dev/hda1 ro
initrd         (hd0,0)/boot/initrd.img-2.6.15-20-386
boot

title           Ubuntu, kernel 2.6.15-20-386 # menu d'origine
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.15-20-386 root=/dev/hda1 ro quiet splash
initrd          /boot/initrd.img-2.6.15-20-386
savedefault
boot

Puis puis ctrl + o et ctrl + x pour enrégistrer et sortir après avoir fait les modifications.

Ensuite on poursuit la réalisation de l'iso :

- copier stage2_eltorito depuis /lib/ vers iso/boot/grub

:~$ sudo cp /lib/grub/i386-pc/stage2_eltorito iso/boot/grub

Sur les versions récentes de la distribution, les différents stage_ sont maintenant dans /usr/lib/grub/i386-pc/

La commande sera donc :
sudo cp /usr/lib/grub/i386-pc/stage2_eltorito   iso/boot/grub

- on vérifie qu'il est bien là :

:~$ ls -al iso/boot/grub/stage2_el*
-rw-r--r-- 1 root root 105428 2006-04-20 18:38 iso/boot/grub/stage2_eltorito

- générer avec mkisofs l'image bootable grubcd.iso basée sur stage2_eltorito avec boot.catalog  depuis le répertoire iso (à noter que la commande est notée sur une seule ligne) :

:~$ sudo mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grubcd.iso iso

Les commentaires générés par mkisofs se terminent dans mon cas par ces lignes :

Total translation table size: 2048
Total rockridge attributes bytes: 5180
Total directory bytes: 8192
Path table size(bytes): 34
Max brk space used 21000
30159 extents written (58 MB)

Ne pas tenir compte de la taille de 58 MB, qui vient du fait que je devais y ajouter certains éléments inutiles pour un simple cdrom grub.

Si vous voulez vérifier votre image, vous pouvez la monter :

:~$ sudo losetup -f
:~$ sudo losetup /dev/loop0 grubcd.iso
:~$ sudo mount /dev/loop0 /mnt

Puis pour la démonter :

:~$ sudo umount /dev/loop0
:~$ sudo losetup -d /dev/loop0

Il ne reste plus qu'à graver l'image grubcd.iso avec le logiciel de votre choix.

Dernière modification par cep (Le 02/05/2007, à 12:22)

Hors ligne

#2 Le 21/04/2006, à 14:03

ikki

Re : Cdrom bootable avec Grub et menu.lst

salut,

merci pour ce partage de connaissance wink

Ce tuto est interessant quand, pour une raison inconnue et inconcevable ( :d ) , on est amené à reinstaller windows, ce dernier étant bien connu pour (entre autre) s'accaparer le MBR...

Quelle a été justement la raison dans ton cas de faire ce cd de sauvegarde de /boot ?

Hors ligne

#3 Le 04/05/2006, à 15:33

winux

Re : Cdrom bootable avec Grub et menu.lst

smile smile EXCELLENT tuto cep : clair, net et précis. smile smile

J'ai tout bien suivi ta procédure en faisant des recopies des lignes de commande pour être sur de ne pas me planter. Je suis arrivé au bout de mon grubcd.iso qui fait 17.9 Mo, l'ai gravé sur un CD-RW.

Pour info je l'ai fait à partir de la partition Kubuntu qui a été montée en dernier, l'autre étant Ubuntu.

Lorsque je boote sur le CD :
si je choisis Ubuntu, j'ai error 29 Disk write error
si je choisis KUbuntu, j'ai error 25 Disk write error

As-tu une idée d'où ça peut provenir. Pourquoi veut-il écrire sur le CD (apparemment ?!?)

Question subsidiaire si je n'abuse pas : à supposer que ceci soit résolu, comment remettre en bon état de marche mon mbr qui aura été écrasé par Windows afin de ne pas rebooter à chaque fois via le CD

Merci pour ta réponse cep car ton tuto correspond exactement à ce que je veux faire big_smile lol big_smile

Dernière modification par winux (Le 04/05/2006, à 15:35)


http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 250 Mbps utiles -  Triple  boot : Ubuntu 14.04 / Ubuntu 13.10 / Windows 7 - Ecran : Samsung 23" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430 - RAM : 4 Go DDR3 - HD : 1To x 2

Hors ligne

#4 Le 04/05/2006, à 17:27

cep_

Re : Cdrom bootable avec Grub et menu.lst

ok winux.

Alors dans ce cas, tu utilises n'importe quelle touche pour revenir au menu et avec la touche e tu passes en édition pour modifier la première ligne. Tu effaces toute la lignes et la remplaces par :
rootnoverify (hd0,0)     # adapte (hd0,0) à ta configuration puis enter pour confirmer.

Tu descends à la deuxième ligne et idem tu effaces tout pour remplacer par :
chainloader +1   # un espace après le r et pas d'espace entre + et 1 puis enter

Tu effaces la troisième ligne et la remplaces par :
boot   # puis la touche enter.

Tu effaces la dernière ligne puis enter. ENfin revenu à l'affichage du menu, tu utulises la touche b (pour booter) et ça devrait fonctionner.

Pour restaurer grub, lorsque tu seras dans ton système, tu ouvres un terminal :
sudo grub --batch
find /boot/grub/stage1   # ou suivant ta config find /grub/stage1
root (hd?,?) # suivant ce qui a été répondu plus haut.
setup (hd0)
quit

Tu peux aussi le faire depuis le cdrom en utilisant la touche c pour avoir une console grub et ensuite tu démarres sans le cd .

Bonne continuation;
cep

#5 Le 05/05/2006, à 08:35

cep

Re : Cdrom bootable avec Grub et menu.lst

Après test sur plusieurs autres pc, le fonctionnement du cdrom n'est pas garanti dans tous les cas, j'édite donc le premier message pour y ajouter un avertissement avant de pouvoir faire plus de tests.

Hors ligne

#6 Le 05/05/2006, à 09:35

cep

Re : Cdrom bootable avec Grub et menu.lst

Alors, je peux booter les divers pc testés (4) avec ce menu (simplement ces 3 lignes):

kernel         (hd0,0)/vmlinuz-2.6.15-21-386 root=/dev/hda1 ro
initrd          (hd0,0)/initrd.img-2.6.15-21-386
boot

DAns le week-end je testerai d'autres pc encore.
Le kernel et l'init sont à adaptès, j'utilise la complétion. On peut utiliser aussi le générique de /

Hors ligne

#7 Le 05/05/2006, à 16:27

bruno

Re : Cdrom bootable avec Grub et menu.lst

Merci pour ce tuto wink

Pour monter une image iso cette commande me suffit :

sudo mount -o loop toto.iso /mnt

Hors ligne

#8 Le 05/05/2006, à 18:35

cep_

Re : Cdrom bootable avec Grub et menu.lst

@ bruno : de rien wink.
Et pour la commande de mount, oui, tout à fait.

#9 Le 07/05/2006, à 16:05

cep

Re : Cdrom bootable avec Grub et menu.lst

Après tests sur plusieurs machines de configurations différentes, il semble préférable d'éditer le fichier menu.lst pour y apporter quelques modifications.
En utilisant le "title" habituel de lancement du système, il faudra créer un nouveau "title", supprimer la première ligne ainsi que la ligne savedefault inutiles, et ajouter le chemin selon la désignation grub sur les lignes kernel et initrd pour avoir au final dans le fichier menu.lst du cdrom (adapté à votre configuration) :

title          Ubuntu, depuis cdrom
kernel         (hd0,0)/boot/vmlinuz-2.6.15-20-386 root=/dev/hda1 ro
initrd         (hd0,0)/boot/initrd.img-2.6.15-20-386
boot


title           Ubuntu, kernel 2.6.15-20-386
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.15-20-386 root=/dev/hda1 ro quiet splash
initrd          /boot/initrd.img-2.6.15-20-386
savedefault
boot

Donc avec nano ou autre éditeur :

sudo nano -w iso/boot/grub/menu.lst

Puis puis ctrl + o et ctrl + x pour enrégistrer et sortir après avoir fait les modifications.

Ou autre méthode :

sed -n '100,130p' iso/boot/grub/menu.lst

pour afficher uniquement l'espace interessant qui servira de modèle puis :

sudo mv iso/boot/grub/menu.lst iso/boot/grub/menu.lst_old

Et enfin créer un nouveau menu.lst contenant le stric minimum (exemple à adapter à votre configuration) :

cat > iso/boot/grub/menu.lst
timeout         10
title          Ubuntu, depuis cdrom
kernel         (hd0,0)/boot/vmlinuz-2.6.15-20-386 root=/dev/hda1 ro
initrd         (hd0,0)/boot/initrd.img-2.6.15-20-386
boot

et enfin CTRL + c pour sortir et enrégistrer.

On pourra bien sûr utiliser ce cdrom sur toute autre machine grâce à la console grub et à l'auto-complétion.

Sur une machine ayant par exemple une partition réservée pour /boot sur hdb1 et le système sur hdb2, le title ressemblera à ceci :
kernel         (hd1,0)/vmlinuz-2.6.15-20-386 root=/dev/hdb2 ro
initrd         (hd1,0)/initrd.img-2.6.15-20-386
boot

(/boot/ disparait, (hd1,0) pour la partition /boot sur hdb1 et root=/dev/hdb2 pour le chemin vers le système sur hdb2)

* Edit : j'ai ajouté cette partie dans le tuto du premier poste.

Dernière modification par cep (Le 07/05/2006, à 16:18)

Hors ligne

#10 Le 08/05/2006, à 23:08

couf

Re : Cdrom bootable avec Grub et menu.lst

bonsoir CEP,
tous d'abord merci pour ton tuto,;)
cela faisait un moment que j'essayais de comprendre cette démarche mais en vain
voila voici le problème qui me mène vers toi,
j'ai installé UBUNTU sur un disque dur usb, pas de problème cela marche à peu près partout. J'aimerai me servir de ton tuto pour booter sur les postes qui refusent le boot sur USB. pour faire le CD ROM passer la main au DD USB

Dans mon menu.lst à l'origine j'avais

title		Ubuntu, kernel 2.6.12-10-386 
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.12-10-386 root=/dev/sda1 ro quiet splash
initrd		/boot/initrd.img-2.6.12-10-386-usb
savedefault
boot

Je me suis servi de ton tuto pour réaliser ceci

title          Ubuntu, depuis cdrom
kernel         (hd0,0)/boot/vmlinuz-2.6.12.10-386 root=/dev/sda1 ro quiet splash
initrd         (hd0,0)/boot/initrd.img-2.6.12-10-386-usb
boot

mais j'ai le résultat
error 15 file not found  mad

Vois tu ou j'ai put faire l'erreur?
je t'en remercie par avance.

Hors ligne

#11 Le 08/05/2006, à 23:42

cep_

Re : Cdrom bootable avec Grub et menu.lst

Bonsoir couf,

À priori, je dirais que sda1 ne peut être (hd0,0) puisque le bios ne peut booter sur l'usb.

Donc, au cas ou il n'y aurait pas d'autre problème, voir déjà quelle pourrait être la dénomination de ce disque usb, qui de toute manière viendra après les disques internes puisque non bootable.

Une autre solution serait d'utiliser isolinux (paquet syslinux). Avec un isolinux.cfg du genre :
default linux
timeout 10
label linux
kernel vmlinuz
append initrd=ton_initrd_usb root=/dev/sda1

Je n'ai jamais testé ce genre de boot sur usb.

Bonne continuation.
cep

#12 Le 09/05/2006, à 13:51

couf

Re : Cdrom bootable avec Grub et menu.lst

Bonjour cep,

   effectivement je me suis apperçu que ce n'était pas (hd0,0) mais (hd1,0)
le cédérom à quad même un avantage
au démarrage de grub je tape [C]
puis
grub> root (hd0,(touche [tab]
réponse du système partition num:0, Filesystem type is ext2fs, partion type 0x83
                                  partition num:1, Filesystem type is ext2fs, partion type 0x83
grub> kernel /boot/vmlinuz[tab]
réponse:                   possibles files are : vmlinuz vmlinuz-26.9-386.mdk

je recommence avec hd1 puis ensuite je reboot mon système.
j'aurais une question à te poser s'il te plait, a ta connaissance est il possible de lancer un script au démmarage de GRUB? comme pour charger certains modules ou scanner les partitions

Merci d'avance:)

Hors ligne

#13 Le 09/05/2006, à 14:52

cep_

Re : Cdrom bootable avec Grub et menu.lst

Tout à fait d'accord avec l'avantage de grub grâce à sa console. Ce qui permet au cdrom d'être utilisé sur d'autres machines, et pas seulement sur celle pour laquelle il a été gravé.

Pour le shell de grub, tu trouvera une liste de certaines commandes dans le manuel :
http://www.linux-france.org/article/sys/chargeurs/ix86/grub/grub-manual-fr.html#Commandes%20de%20la%20ligne%20de%20commande%20et%20du%20menu
de même que dans :
file://localhost/usr/share/doc/grub-doc/html/grub_toc.html si tu installes grub-doc

mais au niveau de grub tu n'as pas encore un shell complet. Par contre tu peux utilser cat pour, par exemple, consulter fstab sur un pc que tu ne connais pas, ou tout simplement find sur des cibles "statégiques" smile

#14 Le 19/07/2007, à 15:48

Heiden

Re : Cdrom bootable avec Grub et menu.lst

Bonjour,

il y a quelque jour, j'ai installé Faisy sur un DD externe et depuis je cherche à créer un CD de boot comme celui-ci. J'ai suivi toute les étapes et mon CD boot (c'est déjà çà !!) mais pas le disque dur.

J'ai fait un menu.lst plutot complet afin de trouver la bonne config et je me retrouve soit avec des erreurs 15, soit avec des erreurs 17. (voir ci-dessous mon menu.lst).
J'avais utilisé auparavant un cd de boot mais pour Ubuntu 6. Mon DD bootait mais j'avais de gros problème de drivers... Et la ligne qui faisait booter mon DD est celle correspondant à "Ubuntu, depuis cdrom3.
Or maintenant, c'est ligne fait rebooter mon PC et c'est tout.

Auriez vous une idée pour résoudre mon affaire.
Bonne continuation,
Merci d'avance
Heiden

title          Ubuntu, depuis cdrom1
kernel         (hd0,0)/boot/vmlinuz-2.6.15-20-386 root=/dev/sdb1 ro
initrd         (hd0,0)/boot/initrd.img-2.6.15-20-386
boot

title          Ubuntu, depuis cdrom4
kernel         (hd1,0)/boot/vmlinuz-2.6.15-20-386 root=/dev/sdb1 ro
initrd         (hd1,0)/boot/initrd.img-2.6.15-20-386
boot

title          Ubuntu, depuis cdrom2
kernel         (cd)/boot/vmlinuz-2.6.15-20-386 root=/dev/sdb1 ro
initrd         (cd)/boot/initrd.img-2.6.15-20-386
boot

root(cd)
title          Ubuntu, depuis cdrom3
kernel         /boot/vmlinuz-2.6.15-20-386 root=/dev/sdb1 ro
initrd         /boot/initrd.img-2.6.15-20-386
boot

title           Ubuntu, kernel 2.6.15-20-386 # menu d'origine
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.15-20-386 root=/dev/sda1 ro quiet splash
initrd          /boot/initrd.img-2.6.15-20-386

title           Ubuntu, kernel 2.6.15-20-386 # menu d'origine
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.15-20-386 root=/dev/sdb1 ro quiet splash
initrd          /boot/initrd.img-2.6.15-20-386
savedefault
boot

Hors ligne

#15 Le 30/01/2008, à 03:54

Anne-So

Re : Cdrom bootable avec Grub et menu.lst

cep_ a écrit :

ok winux.

Alors dans ce cas, tu utilises n'importe quelle touche pour revenir au menu et avec la touche e tu passes en édition pour modifier la première ligne. Tu effaces toute la lignes et la remplaces par :
rootnoverify (hd0,0)     # adapte (hd0,0) à  ta configuration puis enter pour confirmer.

Tu descends à  la deuxième ligne et idem tu effaces tout pour remplacer par :
chainloader +1   # un espace après le r et pas d'espace entre + et 1 puis enter

Tu effaces la troisième ligne et la remplaces par :
boot   # puis la touche enter.

Tu effaces la dernière ligne puis enter. ENfin revenu à  l'affichage du menu, tu utulises la touche b (pour booter) et ça devrait fonctionner.

Pour restaurer grub, lorsque tu seras dans ton système, tu ouvres un terminal :
sudo grub --batch
find /boot/grub/stage1   # ou suivant ta config find /grub/stage1
root (hd?,?) # suivant ce qui a été répondu plus haut.
setup (hd0)
quit

Tu peux aussi le faire depuis le cdrom en utilisant la touche c pour avoir une console grub et ensuite tu démarres sans le cd .

Bonne continuation;
cep

Bonjour, j'ai suivi ces conseils pour tenter de réparer l'horreur que j'ai fait subir à  mon ubuntu (j'ai supprimé udev et ses dépendances pour le mettre à  jour, je voulais le réinstaller par la suite mais je n'ai pas réussi), au premier reboot il me donne un écran noir de grub avec une error 15 et quand j'applique vos conseils, j'obtiens une erreur 13, je suis perdue, j'ai des données importantes dans mes e-mails ou autre que bien sur je n'ai pas sauvegardé (maudit sois-je). Pouvez-vous m'aider s'il vous plait? Je vous remercie d'avance.

Haut de page ↑