IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

lancer bios sur disque amovible


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Homme Profil pro
    sans
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut lancer bios sur disque amovible
    Bonjour, je voudrais installer mon bios sur une une carte sd pour obtenir ça :
    j'allume, la rom bios du pc lance le bios sur une carte sd, puis mbr etc...

    Mais dans un premier temps pour ne pas prendre de risque, je récupère le bios de la rom, je la mets sur une carte sd et me boot dessus, le bios se lance 2 fois en fait, pour voir si ça marche.
    Une idée ?

  2. #2
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Bien... Le BIOS est utilisé pour la gestion des disques, donc c'est lui
    qui permet de booter sur une carte SD, une clé USB, un disque dur..etc...

    Tu veux faire quoi avec ton BIOS sur support amovible ?

  3. #3
    Candidat au Club
    Homme Profil pro
    sans
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Forthman Voir le message
    Bien... Le BIOS est utilisé pour la gestion des disques, donc c'est lui
    qui permet de booter sur une carte SD, une clé USB, un disque dur..etc...

    Tu veux faire quoi avec ton BIOS sur support amovible ?
    oui voilà, merci pour la réponse, si le bios lance la carte SD, il peut lancer à nouveau le bios non ?
    j'ai récupérer le bios de mon portable sur internet, est-ce que je peux le désasembler avec nasm pour en voir le contenu sous forme compréhensible puis modifier certaines parties, assembler le bios modifié le mettre sur une carte SD et me booter dessus ?
    Dans un premier temps
    Et est-ce que le bios est en binaire x86 16 bits ?
    Est-ce que je peux récupérer le bios 512 kos, je sais que des softs sous windows le permettent, mais sous ubuntu avec la commande DD ?

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Le BIOS est un micro-système d'exploitation qui se trouve en mémoire morte ou dans une mémoire Flash. Il est donc « pré-chargé » puisque, par définition, c'est lui qui contient le minimum vital pour pouvoir lire un disque.

    Si tu veux récupérer le BIOS de ta machine, il faut aller lire directement la mémoire au bon endroit (et disposer des privilèges nécessaires sur ton système d'exploitation pour pouvoir le faire).

    Si tu as récupéré le BIOS de ta machine via Internet, c'est en fait une mise à jour. Ça veut dire que ce que tu as récupéré contient bien le code du BIOS entier, mais encapsulé dans un exécutable qui va aller modifier la mémoire Flash de ta carte-mère. Tu peux effectivement essayer de le désassembler, mais il faudra faire le tri des deux.

    Ensuite, « booter » sur un BIOS, c'est possible dans l'absolu mais il est fort probable que le code soit dépendant de sa position. Ça veut dire qu'il faudrait charger ton BIOS à l'endroit exact où se trouve l'original, donc en mémoire morte. Enfin, si tu veux embrayer sur un BIOS pour que ton système d'exploitation en tire bénéfice, ça ne fonctionnera pas car il sera écrasé par le chargement de ce dernier. Et l'O.S. est de toutes façons conçu pour continuer à appeler le BIOS original.

    Tout ça pour dire que, dans l'absolu, si tu veux utiliser un BIOS maison, c'est possible, mais à condition de flasher ta carte-mère avec ta propre version, ce qui est très risqué.

  5. #5
    Candidat au Club
    Homme Profil pro
    sans
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    oui je comprends bien tout ça, le bios que j'ai télécharger fait 512 kos et doit être flash avec un logiciel, je pense donc qu'il est complet. Pour ce qui est de le mettre dans le mbr, je pensais faire quelques modif pour justement éviter les bugs de mauvaises directions et autres (avec un debugger c'est ça ? ), le but étant qu'une fois décompilé, m'approprié petit à petit le code en le modifiant.

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Explorer le BIOS de son PC est un très bon exercice, mais c'est très difficile ! Et très long. À titre d'exemple, j'avais désassemblé 32 Ko des ROMs de mon TO8D (un huit bit de 1987) et obtenu 20.000 lignes d'assembleur bien tassé. Même s'il y a de fortes chances pour que les BIOS d'aujourd'hui soient écrits en C, il n'en reste pas moins que leur désassemblage est une tâche considérable, surtout si tu débutes.

    En outre, reloger le code ne se fait pas avec un simple débogueur. Il faut modifier le code à la main et c'est quasi-infaisable si tu ne disposes pas des sources et si le code n'est pas fait pour. Heureusement, la plupart du code est fait pour être relogeable par défaut.

    Sache également, si tu veux vraiment refaire un BIOS maison, que celui-ci n'a pas seulement pour fonction de proposer un micro-système d'exploitation pour démarrer dans de bonnes conditions, mais que c'est aussi lui qui est chargé de mener à bien tous les test à l'allumage et d'initialiser les principaux périphériques. Si tu bootes sur ton BIOS après avoir fait un premier passage, tu risques d'avoir des comportements inattendus.

    Ensuite, une fois que ton BIOS aura pris la main, il va la passer au programme qu'il doit charger… et celui-ci va ensuite appeler les fonctions du BIOS original. Et bien sûr, il faut faire attention à l'endroit où tu charges ton BIOS, pour qu'il ne soit pas ensuite écrasé par le logiciel qu'il charge.

  7. #7
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    il est possible de lancer un autre "BIOS" avec le bootloader du mbr.

    le vrai bios est dans une rom figée, le cpu pointe sur cette rom au reset dont les premières instructions copient la rom en ram puis debranche la rom avant de plonger dans la ram (comme le mbr qui doit se relocaliser avant de pouvoir exploiter les partitions), le bootloader peut charger des données d'un disque et lancer l'execution des données. si tu mets un bios en guise de données, tu auras un nouveau bios, et si tu execute ton nouveau bios, ça fera comme si la machine faisait un reset, elle reinitialisera le materiel, et chargera un mbr sur un disque, si le mbr est le meme à chaque fois, tu auras une boucle sans fin de demarrage du pc. ça peut etre fun.
    tu peux aussi très bien faire une surcouche du bios, ou meme une extension de bios avec une carte sur bus isa ou pci comme ici http://board.flatassembler.net/topic...=124922#124922

  8. #8
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par edfed Voir le message
    il est possible de lancer un autre "BIOS" avec le bootloader du mbr.
    le vrai bios est dans une rom figée, le cpu pointe sur cette rom au reset dont les premières instructions copient la rom en ram puis debranche la rom avant de plonger dans la ram (comme le mbr qui doit se relocaliser avant de pouvoir exploiter les partitions), le bootloader peut charger des données d'un disque et lancer l'execution des données. si tu mets un bios en guise de données, tu auras un nouveau bios,
    Oui mais justement : le MBR ne se charge pas au même endroit que le BIOS et le fait de le déplacer peut suffire le faire planter. Bon, a priori, un simple changement de segment devrait suffire à arranger les choses mais, après, il faut penser à d'autres subtilités : par exemple la possibilité pour le BIOS de passer en mode protégé au moins pour un temps, ou le fait de faire un test mémoire : s'il se croit en ROM et qu'il fait des tests de lecture-écriture sur la mémoire vive, il peut s'écraser lui-même sans le savoir.

    et si tu execute ton nouveau bios, ça fera comme si la machine faisait un reset, elle reinitialisera le materiel, et chargera un mbr sur un disque, si le mbr est le meme à chaque fois, tu auras une boucle sans fin de demarrage du pc. ça peut etre fun.
    Ça fait longtemps que je n'ai plus mis le nez dedans mais il y a des petites nuances comme le démarrage à froid et à chaud qu'il faut prendre en compte également.

  9. #9
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    ces nuances sont là parce qu'à froid, rien n'est initialisé. mais à chaud, on peut réinitialiser, ça ne pose pas de problème de faire un reset en appuyant sur le bouton reset

    après, c'est sur que rien ne garanti qu'un bios rechargé depuis la ram fonctionne sur tout les pc. et tout les bios ne permettent peut etre pas de jouer avec, à cause du materiel sur la carte mère. ça c'est sur.

    http://stanislavs.org/helppc/cold_boot.html

    faut tester de toutes façon pour être sur que ça fonctionne comme voulu sur la machine de destination.

    le boot se relocalise pour pouvoir recharger un secteur de boot.

    relocaliser le bios serait en fait une copie du fichier bios depuis la ram, dans la zone de bios, et un saut dans cette zone, en désactivant les interruptions of course. la ram ici ferait comme la rom, et serait chargée de la copie.

    pour l'initialisation, on peut toujours sauter par dessus si on ne veux pas l'exécuter et se contenter de booter avec int19h.

Discussions similaires

  1. Application : Lancer chkdsk sur disque sélectionné
    Par matdefrance dans le forum C#
    Réponses: 1
    Dernier message: 27/06/2013, 21h46
  2. [Batch] Copie sur disque amovible
    Par Nono075 dans le forum Scripts/Batch
    Réponses: 14
    Dernier message: 08/01/2010, 13h58
  3. Autorun sur un disque amovible ?
    Par Matt2094 dans le forum Delphi
    Réponses: 3
    Dernier message: 06/12/2006, 13h38
  4. autorun sur un disque amovible
    Par spyop3 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 01/05/2006, 21h42
  5. lancer xp sur un cd (comme sur un disque dur)
    Par fab44 dans le forum Windows XP
    Réponses: 6
    Dernier message: 04/11/2004, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo