Blocage aléatoire au boot

Je viens d’installer une Debian Etch 2.6.18-3-686 sur un disque dur (PATA) qui est maitre sur sa nappe IDE qui comporte également un deuxième disque dur de données en NTFS. J’ai également un disque dur SATA avec Windows XP et deux DVD-ROM sur une autre nappe IDE.
J’ai eu beaucoup de mal avec GRUB pour démarrer Linux. J’ai finalement réussi à booter avec GRUB sur une disquette, en modifiant les fichiers menu.lst, device.map dans boot/grub sur la disquette et fstab dans /etc pour qu’ils soient cohérents. Ainsi, le boot a réussi avec :
le SATA vu comme (hd0,0) par GRUB et /dev/sda1 dans fstab
le PATA Linux comme (hd1,0) par GRUB et /dev/hde1 dans fstab pour /, sachant que /dev/sde5 est pour swap et /dev/hde6 pour /home.
/dev/hda est le 1er DVD, /dev/hdb le 2èeme DVD.

Mon problème est qu’il arrive que le boot Linux coince sur le message :
Begin: Waiting for root file system… …

car il arrive que les affectations des 2 nappes IDE soient inversées :
/dev/hda -> disque dur Linux au lieu de 1er DVD-ROM qui est vu sous /dev/hde
/dev/hdb-> disque dur data NTFS au lieu de 2eme DVD-ROM qui est vu sous /dev/hdf

Cela peut se produire plusieurs fois de suite.
Généralement, si je boote avec une knoppix, elle fait les affectations
/dev/hda : 1er DVD, /dev/hdb : 2eme DVD,
/dev/hde: HD Linux, /dev/hdf : HD data ntfs
qui brisent le cercle vicieux précédent et le boot suivant que je fais avec ma disquette GRUB réussit.

N’y aurait-il pas quelques paramètres à renseigner quelque part (setup de la carte mère ?) pour éviter ces fonctionnement aléatoires ?

Salut,

Avec une disposition aussi “exotique” et partant du principe que tu dois avoir un Windows (dixit ntfs) je me servirais du bootloader de Windows comme loader principal.

Effectivement, le premier disque dur énuméré par GRUB est le SATA formatté en NTFS sur lequel j’ai windows XP. Dans un premier temps, j’avais installé GRUB sur le MBR de ce disque, mais plus rien ne marchait car GRUB ne trouvait pas les données sur les fichiers du répertoire /boot/grub, car les désignations (hdx,x) étaient fausses. J’ai dû restaurer le MBR de windows en bootant sur le CD_rom de XP, puis en choisissant réparation ® et en exécutant fixboot et fixmbr.

J’ai lu je ne sais plus où qu’on pouvait utiliser windows XP pour faire du multi-boot. Pourquoi pas essayer ? Mais il me faudrait un tutorial pour débutant.

Cordialement, Michel…

Re,

Sers toi de la fonction rechercher car c’est un grand classique. Si tu ne trouves pas et que ton problème n’est pas résolu je te ferais un tuto demain matin :smiley:

Le multiboot marche depuis le disque dur. pour y arriver j’ai appliqué la
2ème procédure de multiboot décrite ici :
linux.jpvweb.com/multibootwinxp.html
Elle utilse le loader NTLDR de windows de grubinstall.exe pour windows.

Mais le boot de Linux ne réussit pas à tous les coups. Je pense que c’estun
problème d’affectation des périphériques IDE. De temps en temps Linux fait
le montage suivant :

  • les 2 DVDROM de la nappe dite PRI_IDE sont montés en hda et hdb
  • les 2 HD PATA de la nappe dite PRI_EIDE sont montés en hde et hdf
    et là le boot réussit, et de temps en temps Linux fait le montage inverse :
  • les 2 HD PATA sont montés en hda et hdb,
  • les deux DVDROM en hde et hdf
    et là le boot échoue après les messages suivants (après plusieurs écrans de
    messages) :
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Done
Begin: Waiting for root file system ... ..

et puis, plus rien.

Pour le boot depuis NTLDR, à titre d’info contenu du fichier c:\boot.ini

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP dition familiale" /noexecute=optin /fastdetect
c:\boot\stage1="Linux"

Contenu du fichier c:\boot\menu.lst

default		0
timeout		5
color cyan/blue white/blue

title		Debian GNU/Linux, kernel 2.6.18-3-686
root		(hd1,0)
kernel		/boot/vmlinuz-2.6.18-3-686 root=/dev/hde1 ro 
initrd		/boot/initrd.img-2.6.18-3-686
savedefault

title		Debian GNU/Linux, kernel 2.6.18-3-686 (single-user mode)
root		(hd1,0)
kernel		/boot/vmlinuz-2.6.18-3-686 root=/dev/hde1 ro single
initrd		/boot/initrd.img-2.6.18-3-686
savedefault

title		Other operating systems:
root

title		Windows NT/2000/XP
root		(hd0,0)
savedefault
chainloader	+1

Le setup/bios de ma carte mère (ASUS P5LD2) n’est pas très clair. Sur le 1er écran il affiche
Primary IDE Master : nom du 1er DVDROM
Primary IDE Slave : nom du 2ème DVDROM
third IDE Master : nom du HD SATA (celui sur lequel il y a XP)
third IDE Slace : not detected
fourth IDE Master : not detected
fourth IDE Slave : not detected

Il y a égalemnt une ligne pour le choix : Configure SATA As :
avec 3 choix : Standart IDE (par défaut, et choix actuel), AHCI et RAID.

Il n’est jamais question de 2ème IDE Master ou slave (ni sur les écrans, ni dans le manuel).
Mes deux HD PATA n’apparaissent pas sur cet écran. Ils ne sont signalés que
dans le 4ème écran (boot) qui comporte les items suivants (de mémoire) :
Boot Device Priority :
Hard Disk Sequence :
CDROM Sequence :
et en cliquant sur ces 3 items on accède à 3 écrans. Dans le 1er j’ai choisi la séquence
Floppy, puis CD, puis HD,
Dans le deuxième, les TROIS disques dur sont listés et on peut modifier leur ordre
pour le boot. L’odre actuel étant 1) le SATA, 2) le PATA1, 3) le PATA2,
et dans le troisième on peut ordonner les deux DVDROM.
Finalement, dans le bios/setup, il n’y a que sur ce 2ème sous-écran du menu boot que mes
disques PATA apparaissent.

Je rappelle que XP est sur le SATA et que son boot réussit à chaque fois et que
Linux est sur le PATA1 et que son boot réussit en gros une fois sur deux.

Si quelqu’un a une idée améliorer ce fonctionnement, elle sera la bienvenue.

Cordialement, Michel.

Salut,

c:\boot\stage1=“Linux”

Ce fichier représente bien les 512 premiers caractères du SATA ?

Je ne crois pas car le SATA n’est pas directement modifié par cette installation, en dehors des fichiers normalement crées sous windows. Ce fichier se trouve dans les 5 ou 6 fichiers qui arrivent avec grubinstall.exe dont voici les README.TXT

grubinstall

-----------



Purpose:  allow GRUB to be booted from NT/2K/XP

-------



	This tool modifies the GRUB stage1 and stage2 image files

	located on an NTFS or FAT volume, to make them bootable 

	by NTLDR.





Author:

-------

	lode_leroy@hotmail.com





Acknowledgements:

-----------------

	* The AUTHORS of GNU GRUB 0.93 for creating GRUB

	* Samuel Leo for writing fsys_ntfs.c

	* Leonid Lisovskiy for writing fsys_iso9660.c

	* Gary Ng for updating the GRUB makefiles for NTFS+ISO9660

	* Chris Semler and Tobias Svensson for testing





Limitations:

------------

     booting OS'es from NTLDR requires stage1 to be on the same partition

     as NTLDR itself.



     Make sure that stage1 and stage2 are NOT on a compressed volume, 

     and that the files are NOT compressed by Windows.





Usage:

------

		let's say C: is the first partition on the first harddisk

		hence (hd0,0) is the GRUB name of this partition

		and C:\boot\stage1 is the NT name of the boot file



		* To make the files stage1 and stage2 bootable from NTLDR:



		C:\> grubinstall -d (hd0,0) -1 C:\boot\stage1 -2 C:\boot\stage2



		  When stage1, stage2, menu.lst are in C:\, use the following



		C:\> grubinstall -d C:



		* To make the installer detect the install location itself:



		C:\> grubinstall -a -1 C:\boot\stage1 -2 C:\boot\stage2



		* To make a boot floppy in A: (B: is not supported)



		C:\> grubinstall -b -1 C:\boot\stage1 -2 C:\boot\stage2





Changes:

--------

0.3: 

	 - first released version 

0.4: 

	 - added experimental FAT support (not released)

     - added support for DOS partition names 

           (ie. "C:" instead of "(hd0,0)")

           this works only on windows XP

0.5: 

	 - fixed bug with NTFS: hardcoded partition offset and clustersize

	replaced by information exposed by fsys_ntfs.c

     - fixed FAT support

     - added support for DOS path names 

       (ie. C:\boot\stage1 instead of "C:/boot/stage1");

     - code cleanup

0.6:

	 - removal of quotes from command line

	 - support for writing to a diskette	

0.7:

	 - bugfixes for win32_filepos and current_pos

	 - corrected debug info: use format %I64u (MSVCRT.DLL) instead of %llu (glibc)

	 - added option to write to a bootdisk image to a file



0.8:

	 - added autodetect '-a' command line option to probe disks+partitions



0.9:

	 - renamed ntfsinstall to grubinstall

	 - improved support for DOS names

	        grubinstall -d C:

         - somewhat improved (?) error messages 

	 - added an alternate grub name option



0.9b:

	 - corrected GRUB names (use PartitionNumber instead of entry number)

	 - added '-B' option, so now it can be installed on any drive

	 - -m '' now works to install without menu



0.9c:

	 - fix bug in using PartitionNumber (of OBI1 type :-)



0.9d:

	 - no changes. 9c contained a debug-version of stage2

Cordialement, Michel.

Salut,

Désolé mais cette méthode m’est inconnue. Pour moi le fichier désigné doit être obtenu par :
dd if=(partition_racine) of=(un_support) bs=512 count=1