Forum Linux.débutant "/dev/sdx does not have any corresponding BIOS drive."

Posté par  .
Étiquettes : aucune
-1
10
déc.
2012

Bonjour,
j'ai un soucis qui traine depuis un moment, et que je n'ai toujours pas résolu.

J'ai une clef usb de 32Go qui me sert juste à avoir toujours mon GNU/Linux sur moi, en mettant de temps en temps à jour, je suis toujours synchro, et je peux donc profiter des joies d'avoir un GNU/Linux qui me suit toujours, avec les programmes qui suivent avec, mais surtout l'environement (super important).

Sauf que recement, plus de deux semaines, j'ai dû suprimer le contenu, pour le remettre par la suite, sauf qu'au moment de réinstaller, ou plutôt de copier les partitions sur la clef, lors de l'installation du grub j'ai un beau:
"/dev/sdb does not have any corresponding BIOS drive."

:S

Je ne sais pas trop depuis, mais ce message ne m'apparait pas tout le temps (pas tout le temps) mais quand j'installe un GNU/Linux sur la clef, j'ai un beau "grub-install error" - le message n'est pas celui ci, mais l'important est de noter qu'il rate aussi lors de l'installation du grub.

Donc en ce moment quand j'installe le grub:
# grub-install /dev/sdb
Il m'installe le tout sur mon sda, et modifie mon (/boot/grub/)device.map de ma partition qui ne se trouve pas sur la clef.
(pendant un moment je n'avais pas le droit à ça, j'avais : "/dev/sdx does not have any corresponding BIOS drive.")

Et quand j'indique où il faut :
# grub-install --root-directory=/mnt/usb /dev/sdb
ou même (qu'importe) :
# grub-install --root-directory=/mnt/usb/bugbios /dev/sdb
j'ai "does not have any corresponding BIOS drive."

Et quand je regarde la doc, je vois que ça me parle que certains BIOS ont des bug, je suis peut-être ceux concerné mais…

# losetup /dev/loop0 /dev/sdb1
# mount /dev/loop0 /mnt/usb/

(j'ai dû changer les arguments)
# grub-install --force-lba --recheck --root-directory=/mnt/usb /dev/sdb
Probing devices to guess BIOS drives. This may take a long time.
/dev/loop0 does not have any corresponding BIOS drive.

À ce moment je venais de voir que je n'étais pas sur grub2:
# grub --version
grub (GNU GRUB 0.97)

Donc j'installe, c'est tout de même mieux :)

et:
# grub-install [--root-directory=/mnt/usb] /dev/sdb
/usr/sbin/grub-setup: error: hd1 appears to contain a iso9660 filesystem which isn't known to reserve space for DOS-style boot. Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk).

oula…
Je refais ce que j'ai pu faire avant et:

# grub-install --boot-directory=/mnt/usb/bugbios --force --allow-floppy /dev/loop0
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partitionless disk or to a partition.  This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.

No error, super?
Bon le warn à propos de la partition, c'est ce qu'on ma toujours dis de pas faire en effet, mais dans l'exemple de la doc, c'est bien sur sdb1 qu'il le font. Je ne sais pas si ça gène réelement quelque chose, mais bon…

Je redémarre, et, ça me donne un grub lancant sda.

Comment je dois faire pour modifier pour que cela marche et que ça lance bien les partitions de ma clef? Comment faire, ça serait mieux, à partir des commandes grub? Qu'est ce qui fait qu'à un moment il refusait totalement? C'est bien de mon pc que vient le problème ou ma clef? Je n'ai pas pu tester sur un autre pc, je devrai le faire, mais cela resoudrait le problème? Une mauvaise mise à jour, et hop,… sans doute, mais voilà j'aimerai que les installations de grub soit stable et pas embétante comme ça ;p

Merci d'avance.

  • # pas la bonne methode ?

    Posté par  . Évalué à 3.

    en tout cas je ne ferais pas comme ca…

    et j'utiliserais plutot le chroot, voici comment je ferais :

    # passer en root avec `sudo su -` ou juste `su -` selon le linux
    ~$sudo su -
    
    # mounter la clef dans un dossier du systeme (/mnt/usb c'est pas mal)
    mount /dev/sdb1 /mnt/usb
    
    # activer les dossiers importants pour le bon fonctionnement du chroot
    ~$mount --bind /dev /mnt/usb/dev
    ~$mount -t proc /proc /mnt/usb/proc
    
    # entrer dans le chroot
    ~$chroot /mnt/usb
    
    # il ne te reste plus qu'à faire tes manips comme si tu etais directement sur la clef USB
    [...]
    
    # ne pas oublier de sortir du chroot avec exit ou Ctrl+d
    # et de demonter /mnt/usb/dev et /mnt/usb/proc
    # puis rebooter pour tester la clef
    
    
    • [^] # Re: pas la bonne methode ?

      Posté par  . Évalué à 1.

      j'ai suivis ce que tu m'as dis, qui est plus intelligente - que je ne connaissais pas, mais :
      BASH
      /# grub-install /dev/sdb
      /usr/sbin/grub-setup: error: hd1 appears to contain a iso9660 filesystem which isn't known to reserve space for DOS-style boot. Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk).

      je pense avoir juste besoin de faire ça, mais ça veux toujours pas :S

      j'ai même:
      BASH
      /# grub-install --force --allow-floppy --recheck /dev/sdb

      mais j'ai le même résultat. Ça doit pas venir de la méthode je pense dans ce cas :) (je suppose, mais je m'avance pas trop)

      • [^] # Re: pas la bonne methode ?

        Posté par  (site web personnel) . Évalué à 0. Dernière modification le 10 décembre 2012 à 11:39.

        The problem is between the keyboad and the chair !

        Sauf erreur de ma part ( probabilité très faible ) après le chroot ton environnement est complètement translaté dans la clé usb, donc ta clé USB est devenu /dev/sda et ton disque n'existe plus !

        Et je pense que tu as un jolie lecteur de DVD sur ta bécane, qui sera donc en /dev/sdb, au hasard, et qui a une jolie tête de iso9660 ! Tient grub refuse de s'installer sur le lecteur dvd ? :o)

        Moi à ta place je ferais :
        1) $>df pour confirmer mes propos
        2) $> grub-install /dev/sda

        Fuse : j'en Use et Abuse !

        • [^] # Re: pas la bonne methode ?

          Posté par  . Évalué à 1. Dernière modification le 10 décembre 2012 à 14:16.

          je l'ai fais "df", je l'ai pas précisé, mais ne vous inquiettez pas :)

          J'ai tout de même tenté avec sda

          root@d:~# mount /dev/sdb1 /mnt/usb/
          root@d:~# mount --bind /dev /mnt/usb/dev
          root@d:~# mount -t proc /proc /mnt/usb/proc
          root@d:~# chroot /mnt/usb/
          root@d:~/# df
          Filesystem           1K-blocks      Used Available Use% Mounted on
          /dev/sdb1              9611492   2152332   6970920  24% /
          root@d:/# grub-install /dev/sda
          Installation finished. No error reported.
          
          

          Et je ne sais pas si c'était cet manip (mais je ne pense pas trop, c'est pas logique en tout cas) ça a produit un grub vide pour ma clef (là pas de soucis), mais j'avais une erreur de grub quand je lançais à partir de mon HD (car la clef n'était pas trouvé, … mauvais grub pas beau). Et quand je mettais la clef, ça me lançais le grub permettant de lancer la clef… Pas trop mal, mais c'est pas ce que je veux.

          Donc j'ai du supprimer les device.map et bien réinstaller le grub, et là je suis à nouveau sur mon GNU/Linux se trouvant sur le HD.

      • [^] # Re: pas la bonne methode ?

        Posté par  . Évalué à 3. Dernière modification le 10 décembre 2012 à 11:52.

        grub-install /dev/sdb
        /usr/sbin/grub-setup: error: hd1 appears to contain a iso9660 filesystem which isn't known to reserve space for DOS-style boot. Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk).

        apparemment grub detecte de l'iso9660 qui serait plutot un CD ou un DVD.
        tu es sur que la clef est en sdb ?

        que donne un fdisk -l ou plus leger un fdisk -l | grep -i disk ?

        • [^] # Re: pas la bonne methode ?

          Posté par  . Évalué à 1.

          j'ai répondu au dessus.

        • [^] # Re: pas la bonne methode ?

          Posté par  . Évalué à 1.

          mais j'ajoute le "fdisk -l"

          Disk /dev/sdb: 32.0 GB, 32015679488 bytes
          255 heads, 63 sectors/track, 3892 cylinders, total 62530624 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: 0x0005b6dc

          Device Boot Start End Blocks Id System
          /dev/sdb1 2048 19531775 9764864 83 Linux
          /dev/sdb2 19533822 62529535 21497857 5 Extended
          /dev/sdb5 19533824 20971519 718848 82 Linux swap / Solaris
          /dev/sdb6 20973568 62529535 20777984 83 Linux

      • [^] # Re: pas la bonne methode ?

        Posté par  . Évalué à 2.

        hd1 appears to contain a iso9660 filesystem

        C'est une distribution qui utilise une image ISO capable également de démarrer sur une clef USB.
        Comme elle est déjà bootable, tu n'as pas besoin d'installer Grub.
        Si elle n'est pas bootable, soit tu te trompes lors de l'installation, soit tu te trompes dans le choix de ce que tu télécharges.

        • [^] # Re: pas la bonne methode ?

          Posté par  . Évalué à 1.

          Elle n'est actuelement plus bootable, elle l'était pendant un bon moment. Donc que veux dire par là je me trompe de choix lors de l'installation (quelle installation), ou dans le choix de ce que je télécharges (quel téléchargement).
          Car je n'ai rien fais de nouveau, je l'utilisais pour booter mon Gnuilo (système GNU) sur n'importe quelle machine, et aujourd'hui ce n'est plus possible… Pourquoi?

    • [^] # Re: pas la bonne methode ?

      Posté par  . Évalué à 1.

      oulah, après le chroot j'ai:

      /# df
      Filesystem           1K-blocks      Used Available Use% Mounted on
      /dev/sdb1              9611492   2156612   6966640  24% /
      sysfs                  9611492   2156612   6966640  24% /sys
      df: `/sys/fs/fuse/connections': No such file or directory
      df: `/sys/kernel/debug': No such file or directory
      df: `/sys/kernel/security': No such file or directory
      udev                   1946036         4   1946032   1% /dev
      devpts                 1946036         4   1946032   1% /dev/pts
      df: `/run/shm': Too many levels of symbolic links
      
      

      et d'installer grub sur la clef sdb, m'indique toujours la même chose:

      /usr/sbin/grub-setup: error: hd1 appears to contain a iso9660 filesystem which isn't known to reserve space for DOS-style boot. Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk).

      • [^] # Re: pas la bonne methode ?

        Posté par  . Évalué à 1.

        Si tu as ça avec le df c'est que tu n'as pas assez monté de trucs avant le chroot. Moi avant le chroot, je fais :

        mount -o bind /dev /mountpoint/dev
        mount -t proc none /mountpoint/proc
        mount -t sysfs none /mountpoint/sys
        mount -t tmpfs none /mountpoint/run
        mkdir /mountpoint/run/shm /mountpoint/run/lock
        chmod 777 /mountpoint/run/shm /mountpoint/run/lock
        
        

        Mais ça ne devrai pas résoudre ton problème.

        • [^] # Re: pas la bonne methode ?

          Posté par  . Évalué à 1.

          ha en effet, mais je ne connaissais pas chroot, et je n'ai pas pensé à tout mettre.

      • [^] # Re: pas la bonne methode ?

        Posté par  . Évalué à 1.

        Tu as testé à l'ancienne avec grub ? J'ai déjà eu des cas, où je n'ai jamais reussi à faire ce que je voulais avec grub-install, mais qu'à l'ancienne ça passe comme une lettre à la poste.

        Un petit lien dans le handbook gentoo qui explique comment faire.

        • [^] # Re: pas la bonne methode ?

          Posté par  . Évalué à 1.

          c'est stupide, mais je n'ai pas de commande "grub", je n'ai que les variantes "grub-*"…\
          Je fais comment dans ce cas :D

  • # Fichier devices.map

    Posté par  . Évalué à 1. Dernière modification le 10 décembre 2012 à 10:31.

    Salut,

    Regardes du coté du fichier /boot/grub/devices.map .
    Celui ci permet d'associer un device linux(/dev/bla) a un device grub(hd*).

    Ainsi, grub au lieu d'utiliser ce qu'il trouve sur le système, utilise le mapping qu'il trouve dans ce fichier.
    Je ne sais pas si ce sera pertinent dans ton cas, mais ce fichier m'a permis de résoudre pas mal d'installations délicates :)

    Ici la doc: https://www.gnu.org/software/grub/manual/html_node/Device-map.html

    • [^] # Re: Fichier devices.map

      Posté par  . Évalué à 1.

      ça doit se jouer là forcement, mais j'aimerai bien que ça se fasse sans soucis, et sans passage obligatoire de fichier, mais sinon tant pis, si ça marche.

    • [^] # Re: Fichier devices.map

      Posté par  . Évalué à 1.

      Oui, mais en fait, ça veut même pas s'installer sur la clef, donc j'ai même pas les fichiers qui faut.
      J'ai actuelement la possibilité de lancer ma clef directement sur le grub (ou en mode rescue), mais sinon rien.

  • # Merci pour vos réponses

    Posté par  . Évalué à 1.

    Et si je me trimbale avec un grub rescue partout sur quelque chose d'autre (autre clef), le problème est déplacé, c'est un moindre mal, mais il faut deux port usb à chaque fois :((((((.

    Mais ne serait-ce pas possible que la clef soit defectueuse? Si oui, est-ce courant?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.