Booter son OS par USB

Booter son OS par USB - Installation - Linux et OS Alternatifs

Marsh Posté le 15-03-2014 à 22:53:30    

Bonjour,
 
La CM de mon laptop est mort. J'ai récupérer mon HDD que j'ai mis dans adaptateur pour pouvoir l'utiliser en USB.
Bref, je le branche à un autre laptop (qui a que windows sur son propre HDD), je change dans le bios pour démarrer sur l'USB et la, j'ai l'erreur 17 de grub.
 
Configuration du HDD problématique :
windows vista et archlinux et dual boot avec grub.
Dans le menu.lst, j'avais hd(0,0) pour vista et hd(0,1) pour archlinux.
 
Les hd(X,Y) étant réliés au montage dans le /dev, ils changent donc vu qu'il y déjà quelque chose.  
 
Mon problème est : j'ai beau essayer de changer dans le menu.lst les hd(X,Y) pour qu'ils soient en accord avec le montage dans /dev, grâce à un livecd, ca ne marche pas ...
 
Je rate un truc ?
Merci

Reply

Marsh Posté le 15-03-2014 à 22:53:30   

Reply

Marsh Posté le 16-03-2014 à 12:44:48    

Tu peux poster le résultat d'un "fdisk -l", et le contenu de ton fichier menu.lst ?
 
Et t'es sûr que ton fichier de conf est menu.lst et pas grub.cfg (grub2) ? :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 16-03-2014 à 21:40:18    

$ sudo fdisk -l

 

Disk /dev/sda: 40.0 GB, 40007761920 bytes
240 heads, 63 sectors/track, 5168 cylinders, total 78140160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x95aa95aa

 

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63    78140159    39070048+   7  HPFS/NTFS/exFAT

 

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1145acfe

 

  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63   976773167   488386552+   c  W95 FAT32 (LBA)

 

Disk /dev/sdc: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders, total 390721968 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x28000000

 

  Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *        2048   181825535    90911744    7  HPFS/NTFS/exFAT
/dev/sdc2       332132913   390721967    29294527+  83  Linux
/dev/sdc3       273543858   332132912    29294527+  83  Linux
/dev/sdc4       181825536   273543857    45859161    5  Extended
/dev/sdc5       181825599   267680132    42927267    7  HPFS/NTFS/exFAT
/dev/sdc6       267680196   273543857     2931831   82  Linux swap / Solaris

 

Partition table entries are not in disk order

 

sda : le HDD du laptop de rechange
sdb : le HDD live cd usb
sdc : mon ancien HDD en usb aussi sur lequel je veux booter (sc1 est win vista et sdc2 est le / de archlinux)

 

# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

 

# DEVICE NAME CONVERSIONS
#  Linux           Grub
# -------------------------
#  /dev/sda        (hd0)
#  /dev/sda3       (hd0,2)
#  /dev/sdb2       (hd1,1)

 

# general configuration:
timeout   5
default   0
color light-blue/black light-cyan/blue

 

# Boot entries follow.
# Each is implicitly numbered from 0 in the order of appearance below.

 

# You can use the commented entry to boot another system; copy and adjust
# it as many times as you want for all of your other installed systems.
#-*

 

# (0) Arch Linux
title  Arch Linux
root   (hd2,1)
kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/53f287ac-905e-49aa-b3ee-6b2887cfb68a ro quiet resume=/dev/disk/by-uuid/1df69040-b1b5-44ff-99e5-9226ad302bb1  
initrd /boot/kernel26.img

 

# (1) Arch Linux fallback (utile pour changement de disque/carte mère)
title  Arch Linux Fallback
root   (hd2,1)
kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/53f287ac-905e-49aa-b3ee-6b2887cfb68a ro
initrd /boot/kernel26-fallback.img

 

title Arch Linux LTS
root (hd2,1)
kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/53f287ac-905e-49aa-b3ee-6b2887cfb68a ro
initrd /boot/initramfs-linux-lts-fallback.img

 

# (2) Entrée facultative pour le système sur sda1
title Vista
rootnoverify (hd2,0)
makeactive
chainloader +1

 

Du coup, si je laisse tout brancher comme ca, le menu.lst est correct non?

 


Merci!


Message édité par toutsec le 16-03-2014 à 21:46:38
Reply

Marsh Posté le 17-03-2014 à 12:40:34    

Bonjour,
il ne suffit pas de modifier menu.lst: il faut aussi réinstaller GRUB.
En effet, bien qu'installé dans le MBR de sdc, il continue à chercher menu.lst dans sda: il ne le trouve pas: erreur 17.
 
http://www.linux-france.org/articl [...] al-fr.html
 
http://phollow.fr/2008/11/un-exemp [...] ller-grub/

Reply

Marsh Posté le 17-03-2014 à 18:19:24    

Plusieurs choses à faire (ou vérifier) :
1. BIOS : booter sur le bon HDD, celui qui contient grub, même si tu vas ensuite chercher un autre HDD pour le /
2. Le noyau que tu démarres doit avoir les modules pour l'usb. Sous Arch, c'est un HOOK à rajouter dans le mkinitcpio.conf.
HOOKS="...... usb ....."
Régénérer l'initrd (qui doit se trouver sur le /boot trouvé par Grub au démarrage... copie le si nécessaire)
3. configuration de Grub : ne t'embêtes pas, utilises les UUID ! (éventuellement les LABEL). La commande blkid devrait t'aider pour les trouver. Avec les UUID, grub retrouve ses petits sans soucis, quel que soit l'ordre de détection des HDD par le BIOS.

 

J'ai configuré une clé système pour mon fils, et ça marche partout ! :sol:

Message cité 1 fois
Message édité par cactus le 17-03-2014 à 18:21:33
Reply

Marsh Posté le 17-03-2014 à 22:13:12    

cactus a écrit :

Plusieurs choses à faire (ou vérifier) :
1. BIOS : booter sur le bon HDD, celui qui contient grub, même si tu vas ensuite chercher un autre HDD pour le /
2. Le noyau que tu démarres doit avoir les modules pour l'usb. Sous Arch, c'est un HOOK à rajouter dans le mkinitcpio.conf.  
HOOKS="...... usb ....."
Régénérer l'initrd (qui doit se trouver sur le /boot trouvé par Grub au démarrage... copie le si nécessaire)
3. configuration de Grub : ne t'embêtes pas, utilises les UUID ! (éventuellement les LABEL). La commande blkid devrait t'aider pour les trouver. Avec les UUID, grub retrouve ses petits sans soucis, quel que soit l'ordre de détection des HDD par le BIOS.
 
J'ai configuré une clé système pour mon fils, et ça marche partout ! :sol:


j'ai rajouté le hooks usb. Comment fait-on pour régénérer le initrd?
 
Je ne comprends pas la dernière remarque : je peux remplacer les hd(x,y) par les UUID?

Reply

Marsh Posté le 17-03-2014 à 22:49:31    

Régénérer l'initrd :
a) mode élégant : utiliser la commande mkinitcpio (recherche wiki pour la syntaxe)
b) mode goret : réinstaller le kernel avec pacman.
 
Grub/UUID : au lieu de mettre root=/dev/sdxy, tu mets root=UUID=xxxxxxxxxxx (ou sinon root=/dev/disk/by-uuid/xxxxxxxxxx)

Reply

Marsh Posté le 18-03-2014 à 21:04:30    

Ok, je présume que je dois chroot là vu que je ne peux pas booter sur ma arch.
Sinon, mon menu.lst est déja avec les UUID en fait, d'ou mon étonnement quand j'ai lu ton message :jap:

Reply

Marsh Posté le 18-03-2014 à 22:04:15    

Possible que tu aies plusieurs /boot et voire même plusieurs Grub installés, et que le Grub qui est  démarré va pointer sur le mauvais /boot ?

 

Sinon, oui, pour régénérer l'initrd, il faut chrooter. :)


Message édité par cactus le 18-03-2014 à 22:04:44
Reply

Marsh Posté le 18-03-2014 à 22:07:36    

J'ai un doute sur l'ID du HDD en USB.
Essaie le modifier ton grub pour qu'il soit défini comme 1er disque (sda ou hd0).
Je ne peux pas vérifier ce soir, je regarderai demain matin (clé de mon fils, qui dort).

 

EDIT : oui, c'est bien ça, sur la clé de mon fils, tout est en hd0 / sda.


Message édité par cactus le 19-03-2014 à 09:09:30
Reply

Marsh Posté le 18-03-2014 à 22:07:36   

Reply

Marsh Posté le 19-03-2014 à 18:21:43    

Ok. Je n'ai qu'un seul boot.
Tu peux mettre le menu.lst de ta clef ici?

Reply

Marsh Posté le 19-03-2014 à 18:29:42    

Voilà :

title linux
kernel (hd0,1)/boot/vmlinuz BOOT_IMAGE=linux root=LABEL=MAGEIA splash quiet vga=788
root (hd0,1)
initrd /boot/initrd.img


Pour une fois, je n'utilise pas les UUID... :whistle:

 

A noter que j'ai bien un HDD dans son portable.

 


Message édité par cactus le 19-03-2014 à 18:30:23
Reply

Marsh Posté le 19-03-2014 à 18:36:51    

Ok. Donc le error 17 de grub vient seulement parce que j'essaye de booter par usb et que je n'avais pas passer l'option usb dans le hook du fichier mkinitcpio.conf?
 
Donc l'option root hd(x,y) sert à quoi du coup? A assigner le "sdxy" à un disque (par l'uuid ou son label) dès grub?

Reply

Marsh Posté le 19-03-2014 à 18:48:33    

Faudrait reprendre la doc de Grub... (la flemme... :o )
De mémoire :
- root = dire où se trouve /boot (peut être séparé de / )
- error 17 : voir avec moteur de recherche, mais je mettrais bien un jeton sur une partoche non trouvée.

 

EDIT : perdu un jeton... :o

17 : Cannot mount selected partition
    Cette erreur est retournée si la partition demandée existe, mais le type du système de fichiers n'est pas reconnu par GRUB.

 

Au passage, le manuel de Grub : http://www.linux-france.org/articl [...] al-fr.html


Message édité par cactus le 19-03-2014 à 18:52:03
Reply

Marsh Posté le 24-03-2014 à 22:08:03    

Bon, bah ca n'a pas marché ton truc là : de passer usb au hook et de regénérer le grub. Toujours error 17.
Du coup, j'ai réinstallé le grub et hop j'ai une nouvelle erreur maintenant : "wrong file system" il me semlbe.
Va savoir.

Reply

Marsh Posté le 24-03-2014 à 22:23:01    

Hook usb : oui, normal que ça ne marche pas, puisque c'est un pb de système de fichiers, pas de détection de partition. J'aurais du réagir avant, désolé, je n'y ai plus pensé.
 
Wrong file system : c'est pas loin de l'erreur 17, ça...
 
Je mise sur un énorme mélange des sda/sdb vs hd0/hd1... faut reprendre à zéro (je suis occupé, donc je m'y pencherai plus tard, ou sinon demain)

Reply

Marsh Posté le 24-03-2014 à 22:38:00    

Bon alors dans l'ordre :
1. ta carte mère trouve le 1er disque bootable en sda/hd0, j'en déduis que tu y as installé grub
2. sauf que quand tu installes grub sur sda, il doit aller chercher la partition /boot quelque part, sur sdc/hd2.
Je ne sais pas comment tu installes grub (grub-install en commande ou GUI ?), mais tu dois bien faire attention à aller pointer au bon endroit.
Je pense que ça bloque à cet endroit, il ne trouve pas /boot, il trouve un système de fichier inconnu (NTFS ?)
3. sinon, pour la forme, la suite, c'est root (hdx,y) pour aller chercher un initrd (qui pourrait être ailleurs que hd2 si tu le voulais)
etc...

 

J'espère que je ne me suis pas trop trompé... et que j'ai été assez clair pour que tu puisses rectifier l'erreur. ;)


Message édité par cactus le 24-03-2014 à 22:40:46
Reply

Marsh Posté le 24-03-2014 à 22:47:50    

J'ai fait grub-install en passant l'option sdc. sdc étant le disque avec mon arch.

 

Et ce fut wrong filesystem. Je n'ai pas touché le menu.lst du coup. Ca doit toujours être hd2.0 pour sdc1.

 

edit : je verrai demain, lá je n'ai pas le courge.


Message édité par toutsec le 24-03-2014 à 22:48:12
Reply

Marsh Posté le 24-03-2014 à 22:55:04    

à quel moment "wrong filesystem" ? pendant l'install de grub ou au boot ?

Reply

Marsh Posté le 24-03-2014 à 23:07:17    

plutôt que grub-install (pas très intuitive, l'erreur est facile), utilise plutôt la commande grub.

 

cf. lien : http://www.linux-france.org/articl [...] ation.html
chapitre 5

 

ou sinon : http://lea-linux.org/documentations/Grub


Message édité par cactus le 24-03-2014 à 23:07:40
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed