Forum Astuces.divers [Terminal] Lilo à partir d'une disquette de boot

Posté par  .
Étiquettes : aucune
0
12
juil.
2001
Vous êtes coincés, votre MBR est tout cassé et donc vous n'avez plus de lilo pour démarrer ?
Procurez-vous une disquette de démarrage de Linux (ou un des micro-Linux), ou bien tout simplement demolinux ou encore le cd d'install des dernières distrib et dès que vous pouvez vous logger, montez votre partion root:
mnt /dev/hda1 /mnt/disk/ -t ext2 (ou hda1 est la partion root)
puis tapez: lilo -t -v -C /mnt/disk/etc/lilo.conf

si tout va bien tapez la meme chose sans le "-t":
lilo -v -C /mnt/disk/etc/lilo.conf

C'est réparé !
  • # pivot_root

    Posté par  . Évalué à 1.

    En fait, cette astuce ne fonctionnera pas 'out of the box' car les chemins qui sont indiques dans lilo.conf referent a la partition situee dans /mnt. Il y a deux solutions dans ce cas : - editer lilo.conf (avec vi ;o)et ajouter /mnt a tous les chemins - utiliser pivot_root pour rendre /mnt comme nouvelle racine : /mnt/sbin/pivot_root /mnt /newmnt Avec ca, la racine est maintenant le disque principal, et le disque de secours est dans /newmnt. Ensuite, lilo -v suffit (il cherche par defaut /etc/lilo.conf)
    • [^] # Re: pivot_root

      Posté par  . Évalué à 1.

      Pour ma part, j'utilise le mode "Rescue" des dernières Redhat/Mandrake ou assimilées qui lancent un Linux tout à fait honorable depuis le CD.

      Ensuite, je monte ma partition, et je fais un "chroot" dessus.

      A ce moment-là, seul le noyau en mémoire est différent de ma configuration habituelle. J'ai donc toute latitude pour saisir "lilo" dans les conditions normales.
      • [^] # Re: pivot_root

        Posté par  (site web personnel) . Évalué à 1.

        Pareil pour la Gentoo, quand on démarre sur le CD, un coup de chroot, et hop, on se retrouve sur le disque dur. J'ai même pu changer mon mot de passe root... De telles failles laissent rêveur...
        • [^] # Re: pivot_root

          Posté par  . Évalué à 1.

          ce n'est pas une faille, si tu en es au point de pouvoir démarrer une machine sur ton CD, tu pourrais tout aussi bien lui installer un Linux complet sans formater de partition et "te retrouver sur le disque dur".

          seul un filesystem crypté pourrait te sauver ici.
        • [^] # Re: pivot_root

          Posté par  . Évalué à 1.

          des que qq1 a acces physiquement a la machine, tu peux considerer qu'il est root (si t'as un pass bios et un cadenas, il pete le cadenas et emporte le disque dur).
          sauf avec un filesystem crypte (dont la clef n'est pas sur la machine bien sur...)
      • [^] # Re: pivot_root

        Posté par  (site web personnel) . Évalué à 1.

        Avec Debian, prendre le CD d'install (cd1, netinst, etc.). Au lieu de taper ENTREE pour lancer l'installation, taper (sans # ni les commentaires ...) :
        # rescue root=/dev/hda1 (noyau 2.2)
        ou
        # rescbf24 root=/dev/hda1 (noyau 2.4)

        Sinon, taper F4, tout est expliqué.

        Une fois votre Linux relancé, ne pas oublier de corriger votre MBR.

        @+ Haypo
        • [^] # Re: pivot_root

          Posté par  . Évalué à 2.

          Avec débian, tu peut aussi commencer une install classique, puis une fois que le clavier est configuré, tu fais CTRL-ALT-F2 (changement de TTY) et t'as une console avec ton clavier en azerty (ou autre) !

          reste à monter, chrooter et liloter.
    • [^] # Re: pivot_root

      Posté par  . Évalué à 1.

      Ou beaucoup plus simplement avec l'option '-r'

      lilo -r /mnt

      Voila.
  • # Re: Lilo à partir d'une disquette de boot

    Posté par  . Évalué à 1.

    Pour ceux qui ont RedHat >= 7.2, ou tout autre distribe qui utilise GRUB je leur conseille de plonger de façon sérieuse dans la doc.

    Grub est au moins 10 fois mieux que lilo.

    Exemple :
    - MBR est tout cassé
    - tu as une disquette avec grub (même pas obligé d'avoir un kernel dessus !).
    - tu bootes sous grub
    - depuis le mini-shell de grub tu tapes un truc style : kernel (hd0,0)/2.4/bzImage root=/dev/hda1
    Et pas de problème pour trouver le noyau car grub comprend les systèmes de fichier (ext2/3, reiserfr, fat, etc...) et il y a même l'autocomplétion.
    - tu bootes et tout est normal ! Enfin, il reste à réparer le MBR.

    il y a des fonctionnalités qui permettent d'installer grub sur le second disque dur, d'utiliser un noyau qui est sur un autre disque dur, de protéger le boot grub par mot de passe.

    Si tu mets à jour ton noyau il n'est pas nécessaire de réécrire le MBR. Il suffit d'éditer un fichier (/boot/grub/grub.conf sur RH). Et si t'oublies d'éditer le fichier et fait un reboot, ben toujours pas de problème, tu changes les paramètres de boot manuellement dans le mini-shell de GRUB.

    Enfin, contrairement à lilo, grub détecte correctement la quatité de mémoire (y a des problèmes avec certaines bécanes et avec lilo), et n'est pas emmerdé avec un noyau au-delà du 1024ième secteur.

    Pour ceux qu'il n'ont pas grub en standard sur leur distrib il peuvent l'installer après coup (mais lisez bien la doc !). Je l'ai fait dans problème sur une RH 6.2.

    Même si c'est un peu compliqué, c'est que du bonheur.
    • [^] # Re: Lilo à partir d'une disquette de boot

      Posté par  . Évalué à 1.

      Je confirme, le potentiel de grub est sans commune mesure... La conf est largement plus cohérente...

      et on peut meme éditer les commandes qu'ils s'apprete à lancer en direct, lors de son lancement normal.
      • [^] # Re: Lilo à partir d'une disquette de boot

        Posté par  . Évalué à 1.

        ... genre rajouter 'S' a la ligne kernel /boot/vmlinuz-2.4.18 ro root=/dev/hda1, par exemple...

        Donc toujours penser à mettre un mot de passe dans le fichier de conf !

        --> info grub
      • [^] # Re: Lilo à partir d'une disquette de boot

        Posté par  . Évalué à 1.

        Je confirme, le potentiel de grub est sans commune mesure... La conf est largement plus cohérente...

        et on peut meme éditer les commandes qu'ils s'apprete à lancer en direct, lors de son lancement normal.


        Ca a l'air pas mal en effet, ça fait penser à l'open boot des stations unix et des power mac. Mais je me pose une question, puisqu'on n'a pas besoin de réécrire le mbr au changement de noyau, est ce que grub est capable comme lilo de gérer un disque que le bios ne sait pas gérer (trop grande capacité) ?
        J'ai deux de mes collègues qui étaient dans ce cas et la souplesse de lilo leur a permis d'exploiter un disque qu'aucun os de MicroMou ne savait gérer !
    • [^] # Re: Lilo à partir d'une disquette de boot

      Posté par  . Évalué à 1.

      Je sais pas ce que vous avez tous contre lilo. Pour moi lilo c'est la simplicité même contrairement à grub. Ca marche sans pb et la limite du 1024ème secteur a été abolie depuis longtemps.
  • # Re: Lilo à partir d'une disquette de boot

    Posté par  (site web personnel) . Évalué à 1.

    qqu'un aurait la commande pour copier le mbr d'un disque à l'autre (genre du hda au hdc) ?
    g trouvé ca mais ca marche pas :
    dd if=/dev/hda1 of=/dev/hdc1 bs=512 count=1
    merci...
    • [^] # Re: Lilo à partir d'une disquette de boot

      Posté par  . Évalué à 1.

      qqu'un aurait la commande pour copier le mbr d'un disque à l'autre (genre du hda au hdc) ?
      g trouvé ca mais ca marche pas :
      dd if=/dev/hda1 of=/dev/hdc1 bs=512 count=1


      dd if=/dev/hda of=/dev/hdc bs=512 count=1
      Tout simplement, la réponse était dans ta question...
      (sinon, mais tu l'as compris, tu copies le début de la 1ere partition)
      • [^] # Re: Lilo à partir d'une disquette de boot

        Posté par  . Évalué à 1.

        ne faites surtout pas ca malheureux!
        dans le mbr il y a aussi la table de partition.

        (sauf bien sur si hda et hdc sont identiques et partitionnes de la meme facon, mais bon... c'est pas vraiment courant)

        avant de donner un conseil, verifiez un peu que ca marche (au moins ca petera votre conf, pas celle des autres)
        • [^] # Re: Lilo à partir d'une disquette de boot

          Posté par  . Évalué à 1.

          Y'a pas de raison de vérifier, si on peut plus rigoler à expliquer comment tout casser...

          Sérieusement, j'ose espérer que ceux qui essayent les conseils donnés ici le font pas sur une machine importante.

          ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

        • [^] # Re: Lilo à partir d'une disquette de boot

          Posté par  . Évalué à 1.

          C'est vrai que ça m'est arrivé de restaurer des anciens MBR, ça aurait pu me peter à la tete. J'étais persuadé que la table des partitions était située plus loin.

          le MBR est constitué ainsi (cf http://home.teleport.com/~brainy/fat32.htm(...) pour plus de détails )

          Offset Description Size
          000h Executable Code 446 Bytes
          1BEh 1st Partition Entry 16 Bytes
          1CEh 2nd Partition Entry 16 Bytes
          1DEh 3rd Partition Entry 16 Bytes
          1EEh 4th Partition Entry 16 Bytes
          1FEh Boot Record Signature 2 Bytes

          Donc un dd if=/dev/hda of=/dev/hdc bs=446 count=1 devrait marcher non ?

          J'ai pas de Linux sous la main don je peux pas tester, mais dans tous les cas mieux vaut faire un backup du MBR sur une disquette avant d'essayer des trucs comme ça ! ( dd if=/dev/hda of=/dev/fd0 bs=512 count=1 devrait faire l'affaire )

          <nostalgie - rien à voir>
          Ah les MBR, ça me rappelle l'époque des boot virus...
          L'époque ou ces petites betes étaient faites avec amour et assembleur et non pas en jscript et autres cochonneries comme les mass mailing worm d'aujourd'hui ;o)
          </nostalgie>
          • [^] # Re: Lilo à partir d'une disquette de boot

            Posté par  . Évalué à 1.

            et les 2 bytes de la signature ?

            il va pas crier au meurtre si la signature coïncide pas?
          • [^] # Re: Lilo à partir d'une disquette de boot

            Posté par  . Évalué à 1.

            <nostalgie moi aussi>
            C'est vrai que c'etait une belle epoque.
            Pourquoi les petites betes d'aujourd'hui sont elles ecrites dans des langages de script cochons? Il doit bien exister quelques failles de securite dans outlook qui permettent de s'eclater en assembleur, non?
            Peut etre que les createurs de petites betes ont perdu la main?
            Peut etre que les experts en securite d'aujourd'hui seraient incapables de comprendre le fonctionnement d'un worm (bien) ecrit en assembleur?
  • # Re: Lilo à partir d'une disquette de boot

    Posté par  . Évalué à 1.

    Encore mieux, car cela marche aussi si le noyeau est HS:
    Sur une autre machine:
    On format la disquette:
    #fdformat /dev/fd0u1440
    Sans la monter, on copi un noyeau dessus:
    #cp /boot/vmlinuz /dev/fd0
    #rdev /dev/fd0 /dev/hda1 # <-- mettre la partition racine de la machine sur laquelle on veut booter
    #rdev -R /dev/fd0 1 # Pour rendre read-only
  • # Re: Lilo à partir d'une disquette de boot

    Posté par  . Évalué à 0.

    Encore mieux, car cela marche aussi si le noyeau est HS:
    Sur une autre machine:
    On format la disquette:
    #fdformat /dev/fd0u1440
    Sans la monter, on copies un noyeau dessus:
    #cp /boot/vmlinuz /dev/fd0
    #rdev /dev/fd0 /dev/hda1 # <-- mettre la partition racine de la machine sur laquelle on veut booter
    #rdev -R /dev/fd0 1 # Pour rendre read-only

Suivre le flux des commentaires

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