Mes programmes


Retour sur la page principale du serveur Par Frédéric Heissler Cliquez ici pour m'envoyer un message



Table des matières

Introduction
FH_Disk - Gestion d'un disque dur
FH_BIOS - Caractéristtique du Bios et de la carte mère
FH_CMOS - Gestion des paramétrages du bios stokés dans la CMOS
FH_Int13 - Test du support des Int13h étendues
FH_DskID - Caractéristiques constructeur du disque
FH_Boot - Cacher ou activer une partition, gérer une signature NT
Killpart - Suppression de toutes les partition d'un disque
FH_INI - Permet de lire et d'écrire dans un fichier INI. Utile en VBS
Liens utiles


Retouner à la table des matières


Introduction


J'ai développé tous ces programmes en C et en assembleur sous DOS. Pourquoi sous DOS ? Et bien si votre disque dur est en panne, le seul système que vous pouvez charger sur disquette, sans écrire sur votre disque, est le DOS. Bien sur, il existe des CD de boot sous Linux tel que Knoppix ou sous Windows tel que ERD Commander. Mais la plupart des vielles machines (486, Pentium 1) ne permettaient pas de booter sur un CD, mais juste d'y accéder avec un driver.
Ceci dit, initialement il s'agissait seulement d'un exercice devant me permettre de bien assimiler :
- La structure du Master Boot Record = MBR.
- La structure de la table des partitions
- La structure des secteurs de boot
- La programmation de l'interface ATA
- L'utilisation des interruptions étendues Int13h:4xh
- La structure de la CMOS
- La structure du Bios

Tous ces programmes fonctionnent soit en ligne de commande soit à travers une interface graphique. Ils ne donnent des résultats corrects que sous DOS pur. Même si certains fonctionnent dans des fenêtres Dos comme FH_Bios ou Killpart. Pour les utiliser, il faut donc démarrer directement sous dos.


Retouner à la table des matières


FH_Disk v1.0


Cet outil permet de faire de la maintenance préventive en sauvegardant les MBR et les secteurs boot de vos disques. Cela permet de restaurer votre config si un virus de boot a abîmé votre MBR. Cela permet également de retrouver votre config lorsque vous faite des opérations dangereuses, avec Partition Magic par exemple, sur la structure de votre disque.
Vous pouvez utiliser cet outil pour obtenir les caractéristiques de votre disque. Mais vous pouvez également l'utiliser pour analyser la structure de la table des partitions afin d'éventuellement pouvoir reconstruire cette table et ainsi récupérer les données d'un disque.
Vous pouvez également l'utiliser dans le cadre de déploiement d'ordinateur, afin de nettoyer des disques à recycler ou encore pour dupliquer la structure des partitions d'un disque sur d'autres machines.

Pour bien utiliser cet outil vous pouvez consulter l'excellent cours de Jean-Claude Bellamy à l'adresse suivante : http://www.bellamyjc.org/fr/theoriemultiboot1.html

Possibilités
Images
FH_Disk v1.0 - Télécharger le programme Ecran
Afficher l'écran d'aide pour la ligne de commande Ecran
Afficher les détails de la table des partitions et de la structure du Master Boot Record Ecran
Afficher les détails de la structure du secteur de Boot Ecran
Afficher le nom du modèle de disque ainsi que la taille de son buffer Ecran
Afficher les valeurs CHS et la taille des disques. Ecran
Afficher le tableau des caractéristiques retournées par l'Int13h:01h et Int13h:48h Ecran
Afficher les secteurs en hexadécimal Ecran
Sauvegarder dans un fichier n'importe quel secteur du disque sélectionné
Restaurer un secteur du disque à partir d'un fichier contenant un secteur
Effacer le Master Boot Record. C'est à dire toutes les partitions du disque
Mettre à zero tous les secteurs du disque. C'est un nettoyage complet et irreverssible du disque. Ce que ne fait pas le formatage du disque. Pour l'instant cette opération peut être très longue (de 3 à 4 heures pour un disque de 40Go), c'est pour cela qu'elle n'est utilisable qu'en ligne de commande. Option /eff:N ou N est le numéro de disque [1,2,3,..]
Sauver tous les MBR et les secteurs de Boot d'un disque. Util pour restaurer la structure de son disque en cas de crach et de virus de boot. On peut également l'utiliser pour dupliquer la structure de son disque sur d'autre machine ( Cas du déploiment de machine identique ).
Sauver tous les secteurs systèmes signés avec AA55. Util pour analyser le disque à partir d'un autre poste afin de reconstruire la table des partitions du disque. Pour l'instant cette opération peut être très longue (de 3 à 5 heures pour un disque de 40Go), c'est pour cela qu'elle n'est utilisable qu'en ligne de commande. Option /chk:N ou N est le numéro de disque [1,2,3,..]
Afficher en mémoire un secteur lu à partir un fichier.

Retouner à la table des matières


FH_Bios v1.02


L'outil permet d'obtenir le nom du bios, sa date, le numéro de série de la carte mère et le type de chipset. Il permet également de sauvegarder ces données dans un fichier. On peut aussi sauvegarder les 64 premier kilo-octets du bios dans un fichier. Cela permet d'identifier manuellement le bios lorsque celui ci n'est pas reconnu par l'outil.

Possibilités
Images
FH_Bios v1.02 - Télécharger le programme Ecran
Afficher l'écran d'aide pour la ligne de commande Ecran

Retouner à la table des matières


FH_CMOS v1.0


Permet d'effacer, sauvegarder et de restaurer la CMOS et de donner sa taille. Vous pouvez l'utiliser pour effacer le mot de passe du Bios. Ou, si vous faite des tests d'optimisation de votre Bios, vous pouvez sauvegarder la configuration initiale de votre Bios et la restaurer après vos essais. Vous pouvez également utiliser cet outil pour sauver la configuration de votre Bios et la restaurer sur d'autre machine rigoureusement du même type. ( Cas d'un déploiement ). Pour rappel, la CMOS n'est qu'une zone mémoire contenant les paramètres du Bios.

Possibilités
Images
FH_CMOS v1.00 - Télécharger le programme Ecran
Afficher l'écran d'aide pour la ligne de commande Ecran

Retouner à la table des matières


FH_Int13 v1.0


Permet de tester si votre Bios supporte les interruptions étendues Int13h:4xh. Ces interruptions permettent de gérer des disques entre 8Go et 32Go avec un adressage CHS (translation LBA) et des disques de plus de 32 Go avec un adressage absolu.
Si "Accès étendu aux disques > 8Go = Oui", cela signifie que votre bios intègre les Int13h étendues.

Possibilités
Images
FH_Int13 v1.0 - Télécharger le programme Ecran
Afficher l'écran d'aide pour la ligne de commande Ecran
Afficher le tableau des caractéristiques retournées par l'Int13h:01h et Int13h:48h Ecran
Affiche le détail du "Device Parameter Table Extention" DPTE retourné par l'Int13h:48h Ecran
Affiche le nom du modèle de disque ainsi que la taille de son buffer Ecran
Affiche les caractéristiques CHS et la taille des disques Ecran

Retouner à la table des matières


FH_DskID v1.0


Permet, en interrogeant directement l'interface ATA, d'obtenir les caractéristiques constructeurs du disque dur. Comme par exemple le modèle de disque, son numéro de série, la taille de son buffer, le taux de transfert, version ATA intégrée par le contrôleur du disque ... L'outil prend également en compte les interfaces RAID IDE c'est à dire qu'il peut interroger 4 interfaces IDE soit 8 disques.

Possibilités
Images
FH_DskID v1.0 - Télécharger le programme Ecran
Afficher l'écran d'aide pour la ligne de commande Ecran
Affiche le détail des informations constructeur du disque Ecran

Retouner à la table des matières


FH_Boot v1.01


Permet d'activer, de désactiver, de cacher ou de rendre visible une partition. C'est à dire que l'on peut définir qu'elle partition doit être bootable.
On peut également afficher, sauvegarder ou restaurer la signature d'un disque NT.

Possibilités
Images
FH_Boot v1.01 - Télécharger le programme
Afficher l'écran d'aide pour la ligne de commande Ecran

Retouner à la table des matières


Killpart v2.0


Cet outil ne fonctionne qu'en ligne de commande. Il permet d'effacer le Master Boot Record ( MBR ) qui contient la structure des partitions. C'est à dire que l'on peut effacer toutes les partitions d'un disque, quelque soit le type de partition. (FAT, NTFS, UNIX, Novel ...). L'outil permet également de sauvegarder et de restaurer le Master Boot Record. Il est d'ailleurs préférable d'effectuer cette opération avant toutes manipulations de la structure du disque.
Si le paramètre /d:Num permettant de sélectionner le disque n'est pas spécifié, alors le disque 1 est sélectionné par défaut.
La version 1.0 ne permet pas de choisir le disque elle prend par défaut le premier disque. Elle ne permet pas non plus de sauvegarder ou de restaurer un MBR. Par contre elle ne fait que 19 octets.

Possibilités
Images
Killpart v2.0 - Télécharger le programme
Effacer toutes les partitions du disque. Num = Numéro du disque = [1,2,3,...] kilpart /D:Num /Kil
Sauvegarder dans un fichier le Master Boot Record contenant la table des partitions kilpart /D:Num /sav:F
Restaurer le Master Boot Record à partir d'un fichier kilpart /D:Num /res:F
Killpart v1.0 - Télécharger le programme

Retouner à la table des matières


FH_INI v1.00


L'outil permet de lire ou d'écrire dans un fichier INI. Cela est utile dans des fichiers de commande DOS, mais cela est surtout aujourd'hui très utile dans des scripts VBS. En effet, on ne dispose pas en VBS de fonction native, comme en KIX, permettant de gérer un fichier INI. Il faut faire soit même une fonction pour gérer un fichier INI, mais dans ce cas le traitement est long si on a des gros fichiers INI > 1000 lignes.
Je vous joins ci contre un exemple d'utilisation de l'exécutable en VBS :
   sCommandeDOS = "FH_ini.exe /r /f:D:\Fichier.ini /s:Section /nv:Variable"
   Set oWshShell = CreateObject("WScript.Shell")
   Set oExecCommande = oWshShell.Exec( sCommandeDOS )
   Do While oExecCommande.Status = 0
      WScript.Sleep 100
   Loop
   sRetour = oExecCommande.StdOut.ReadAll

La variable sRetour contient le contenu de la variable.

Possibilités
Images
FH_INI v1.00 - Télécharger le programme
Afficher l'écran d'aide pour la ligne de commande Ecran

Retouner à la table des matières


Liens utiles


Les documents 1572D, 1226DT, 1532D et 1484D sont les spécifications officielles sur les Int13h étendues, l'interface ATA et l'interface IDE et EIDE. C'est ces spécifications que j'ai étudiées pour écrire mes programmes.

Descriptif
Lien URL utilisé
La fameuse Ralf Brown's Interrupt List v6.1. C'est LA référence en programmation hard ... www-2.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html
L'excellent cours sur la structure du MBR et du secteur de boot par Jean-Claude Bellamy http://www.bellamyjc.org/fr/theoriemultiboot1.html
BIOS Enhanced Disk Drive Services - 3 - 1572D http://www.t13.org/docs2002/d1484r2a.pdf ou
http://147.145.44.154/ftp/t13/docs2004/d1572r3-EDD3.pdf
AT Attachment - 7 with Packet Interface (ATA/ATAPI - 7) - 1532D http://www.t13.org/docs2002/d1532v2r1.pdf ou
http://147.145.44.154/ftp/t13/docs2004/d1532v2r4b-ATA-ATAPI-7.pdf
Enhanced BIOS Services for Disk Drives - 1226DT http://www.t13.org/project/d1226r6.pdf ou
http://147.145.44.154/ftp/t13/project/d1226r7-Enhanced-BIOS.pdf
BIOS Enhanced Disk Drive Services - 2 - 1484D http://www.t13.org/docs2002/d1484r3.pdf ou
http://147.145.44.154/ftp/t13/project/d1484r3-EDD-2.pdf


Retouner à la table des matières
Surprise !!! c'est le nombre de personnes qui ont accédées à mon cours.