FAT32-bootecteur
Un booftecteur simple et très compact, qui vous permet de charger votre chargeur de démarrage ou votre noyau à partir d'un fichier.
Construire en utilisant le script joint.
Remarque: ne lisez pas ceci, lisez le code source. Il est commenté, donc toutes les informations sont là
Que fait réellement ce bootector?
Le voici, étape par étape:
- Vérifiez si le BIOS prend en charge le fonctionnement du disque prolongé
- Recherche la première partition active fat32
- Recherche votre fichier sur cette partition (dans Root Directory)
- Le charge en mémoire
- L'exécute
État de mémoire après mon bootsctor
Votre code:
Votre code est chargé à 0x1000: 0x0000 (segment: décalage) ou 0x10000 (linéaire).
Registres
La plupart des registres ne sont pas "à zéro" et les ordures leur sont attribuées
Seuls ceux qui ont des valeurs valides:
- CS: IP - 0x1000: 0x0000 (affecté au fichier chargé)
- DS - 0x1000 (également affecté au fichier chargé)
- SS: SP - 0x0000: 0xFFFF (pile dans le premier segment)
- DL - Numéro de lecteur (pour les interruptions du BIOS)
Données utiles laissées en mémoire
Après avoir sauté dans le fichier chargé, il reste encore des données utiles en mémoire:
(Tous les décalages sont spécifiés dans le code source)
- 0x7C00 - Disque actuel (numéro de périphérique), adresse grasse, première adresse de secteur des données et informations similaires.
- 0x7e00 - secteur BPB de cette partition
Limites
- Tout est en mode réel, donc la taille maximale du fichier ne devrait pas être plus grande que quelques centaines de kilo-kilo-kilo-kilo-kilo
- Le fichier doit être dans le répertoire racine de la partition sélectionnée
- Nom de fichier - Bootecteur recherche un fichier avec 8.3 nom de fichier
Installer des méthodes
Pour installer l'utilisation:
- Sur les systèmes compatibles Ubuntu utilisent l'installation.sh script
- Sur Windows Utilisez Fat32-Bootsecteur.exe
Remarquez la version Windows n'utilise pas de lettres pour les partitions, mais les partitions phisycales (non logiques), donc: il peut être plus difficile de faire correspondre la lettre de partition, mais d'autre part, il prend en charge les lecteurs USB multi-partitions
Erreurs?
Lorsque l'erreur se produit BootEctor tire le code d'erreur à l'écran.
Voici les codes et les explications des erreurs:
0 - fonctions BIOS étendues non disponibles
1 - partition de démarrage introuvable
2 - La partition de démarrage n'est pas FAT32
3 - Fichier introuvable
4 - Impossible de charger les secteurs (erreur d'interruption du BIOS)