URL: https://linuxfr.org/users/danou/journaux/disque-durs-usb-et-anciens-bios Title: Disque durs USB et anciens bios Authors: Dan Date: 2007年08月26日T15:33:35+02:00 Tags: debian Score: 0 J'ai récemment installé linux sur un disque dur externe, et ayant vu beaucoup de forum là-dessus sans réponses, j'ai décidé de faire un journal qui servira bien à quelqu'un un jour. Dans la foulée, je pense que je continuerai de faire des journaux sur tous les trucs comme ça que je ferai en mode ma_vie. Pour l'installation, tout se passe normalement. Personnellement, ma solution préférée est le CD NetInstall de Debian de 150Mo qui est à la fois rapide à chargé et qui contient tout ce qu'il faut pour un système qui marche (en même temps on met ce qu'on veut). Ensuite, quand tout est installé, on reboot et on obtient souvent un : GRUB et ça bloque là-dessus. **La solution** : on boot sous un linux, on monte le linux du disque usb qui est par exemple dans /dev/sdb dans /mnt/mon_linux_usb (on peut choisir un autre nom...) grub-install --root-directory=/mnt/mon_linux_usb /dev/sdb **Remarque** : c'est sdb et pas sdb1 ou sdb2. **Pour les vieux ordi n'acceptant pas de booter en USB**, voici la solution : [https://linuxfr.org//forums/34/16462.html](https://linuxfr.org//forums/34/16462.html) Là, on remarque que le chemin du fichier de configuration de mkinitramfs a changé : c'est /etc/modules et pas /etc/mkinitramfs/modules Sinon, c'est le même fichier. À part ce petit changement de chemin du fichier, Thomas Debay est très clair sur son message "J'ai réussi" mais j'apporterai quelques précisions. Tout d'abord, l'utilisation d'un CD Live est inutile. En revanche, il faut savoir que le kernel utilisé par la machine qui fait mkinitramfs (et qui fournit donc le vmlinuz et le fichier image) sera en conséquence le kernel utilisé par le disque USB. Donc si le linux du disque USB n'a pas le même kernel, on a droit à un "/lib/machin/kernel_2.6.21.machin introuvable" et plein de trucs ne marcheront pas. Donc, pour résumer, on est sur un système qui marche, on remplit le fichier /etc/modules comme il faut. uname -a retourne par exemple Linux debian 2.6.21-2-686 #1 SMP Alors le disque dur USB doit aussi avoir ce noyau (si c'est sur un Debian-like c'est apt-get install linux-image-2.6.21-2-686 ou un truc du genre pour l'installer) après le reste est identique que dans le lien : copier le vmlinuz puis créer l'image avec mkinitramfs et indiquer leur chemin dans /boot/grub/menu.lst ---- Pour les feignants je vais mettre les commandes à la suite dans un exemple possible de mise en forme : [sur le PC sous linux] **ajouter dans /etc/modules ehci-hcd uhci-mod ohci-mod usb-storage scsi-mod sd-mod cd /boot mkdir outils_boot_usb cd outils_boot_usb** (j'aime bien mettre des noms longs et débiles, ça me fait encore plus apprécier l'auto-completion après la première lettre écrite. Aussi, cette commande a son importance puisque les chemins suivants sont relatifs (à partir de ce dossier) et non pas absolus (à partir du dossier racine)) ** uname -a Linux debian 2.6.21-2-686 ** (je suis sous ce noyau, je récupère donc le vmlinuz de ce noyau) ** cp ../vmlinuz-2.6.21-2-686 vmlinuz ** (maintenant on construit l'image avec mkinitramfs) ** mkinitramfs -o initrd.img ** (On attend.... On attend.... On attend... Et... On attend... Et c'est bon !) Maintenant il faut remplir **le fichier /boot/grub/menu.lst** avec l'entrée qu'il faut **title booter sur USB root (hd0,0) kernel /boot/outils_usb_boot/vmlinuz root=/dev/sda2 ro initrd /boot/outils_usb_boot/initrd-usb.img savedefault** ((hd0,0) correspond au disque dur à l'intérieur de votre ordi, où vous venez de lancer tout ça, puisque c'est lui qui démarre tout, le disque dur USB n'étant toujours pas géré par votre PC ensuite, /dev/sda2 correspond à la partition racine du disque USB. En général, c'est sda1, mais moi j'ai une partition de sauvegarde dans sda1 Si vous avez un problème là dessus, vous obtiendrez sûrement un "Waiting for root file system" alors plutôt qu'éditer 100 fois le fichier à chercher la bonne partition si vous galérez, penser à éditer directement depuis le menu de GRUB au démarrage, en appuyant sur 'e' sur l'entrée, puis 'b' pour booter -attention au clavier qwerty- et ensuite, une fois qu'on a trouvé, de modifier le /dev/sda2 avec l'entrée qu'il faut) Votre entrée devrait marcher maintenant, alors n'oubliez pas, si ce n'est pas déjà fait de booter sur le disque USB et de faire : **apt-get install linux-image-2.6.21-2-686 Maintenant, votre disque USB branché, bootez sur cette entrée GRUB, et.... C'EST GAAAAAGNÉÉÉÉÉÉÉÉ !!!!!** Prochain journal en mode mavie : testdisk & photorec (pour la récupération de fichiers/partition)