############################################################################### # Fichier cree par Severin TERRIER : http://severinterrier.free.fr/Boot/ # Vous pouvez modifier ce menu, en laissant les informations me concernant. ############################################################################### # Ce fichier permet de creer le menu de demarrage qui sera lance par # l'utilitaire CD Shell. ############################################################################### # Je vais essayer d'inclure dans ce fichier beaucoup de commentaires et de # fonctions differentes de CD Shell, pour permettre facilement de creer votre # propre menu personnalise. ############################################################################### # Les instructions sont executees sequentiellement, sauf si on fait appel a # d'autres blocs (goto ou call) ou script (script) ############################################################################### # On defini quelques variables qui serviront dans ce script set ConfirmerDemarrage = 0 # Specifie si on doit appuyer Entree pour demarrer le DVD set DureeReponse = 20 # Temps disponible pour faire un choix dans un menu set 24Heures = 1 # On gere l'heure sur 24h, plutot que sur 12 set BootToujours = 0 # Specifie de booter meme si le support ne semble pas bootable # On teste si les modes graphiques sont supportes (vesa necessaire pour images CSI) if $vga; then if $vesa; then set ModeGraphique = 1; else set ModeGraphique = 0 # On identifie le debut du script de configuration Debut: if $ConfirmerDemarrage == 1; then goto boot; else goto menu # Il faut appuyer sur Entree pour lancer le menu du DVD, sinon on boot depuis le DD boot: cls print "\n" print " Appuyez sur Entree (vous avez 5s) pour d‚marrer le DVD... \n" getkey 5 goto DisqueDur if $lastKey == key[enter]; then goto menu # On reboucle si la touche n'est pas Entree... goto boot ############################################################################### # On va definir des fonctions qui seront appelees ailleurs ############################################################################### # Fonction qui prepare la presentation de l'heure PreparerHeure: if $24Heures == 1; then set time = "$timeHour:$timeMinute"; then return if $timeHour > 12 then set hour = $timeHour - 12; then set ampm = "pm" else set hour = $timeHour; set ampm = "am" set time = "$hour:$timeMinute$ampm" return # Fin de la fonction PreparerHeure # Fonction qui prepare la presentation de la date PreparerDate: if $dateMonth == 1; then set month = "Janvier" if $dateMonth == 2; then set month = "F‚vrier" if $dateMonth == 3; then set month = "Mars" if $dateMonth == 4; then set month = "Avril" if $dateMonth == 5; then set month = "Mai" if $dateMonth == 6; then set month = "Juin" if $dateMonth == 7; then set month = "Juillet" if $dateMonth == 8; then set month = "Aout" if $dateMonth == 9; then set month = "Septembre" if $dateMonth == 10; then set month = "Octobre" if $dateMonth == 11; then set month = "Novembre" if $dateMonth == 12; then set month = "D‚cembre" set date = "$dateDay $month $dateYear" return # Fin de la fonction PreparerDate # Fonction qui permet d'afficher l'entete du menu Entete: call PreparerDate call PreparerHeure set textColor= color[grey on black] set boldColor= color[cyan on black] cls #print c "\n\cXXÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ<\c0B$date $time\cXX>Ä\n\n" print c "\n\cXXÄÄÄ< DVD Ultime Multi-Boot pour PC. V1.9 >ÄÄÄÄÄÄÄÄÄÄÄÄ<\c0B$date $time\cXX>Ä\n\n" #print c "\cXX DVD Ultime Multi-Boot pour PC. V1.9\n\n" print c "\cXX $TitreMenu \n\n" print l "\cXX Appuyez \c0BF1 \cXXpour l'aide"; print r "\c0Bhttp://severinterrier.free.fr/Boot/UltimeDVD/ \n" print c "\cXXÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n\n" return # Fin de la fonction Entete ############################################################################### # Affichage du menu principal ############################################################################### menu: #if $ModeGraphique; then show image menu.csi menu.bmp; then goto MainKey set TitreMenu = "Menu principal du DVD multiboot" call Entete print " Installer Windows : D‚marrer un OS depuis le DVD : \n\n" print " 1) XP Professionel SP1a 8) Bart PE (Base sur XP) \n" print " 2) XP Home SP1a 9) Bart XPE (XP + explorer) \n" print " 3) Server 2003 Corporate \n" print " 4) 2000 F5) Knoppix 3.3 (Linux) \n" print " 5) 98 SE F6) Slax-live (Linux) \n" print " 6) 95 F7) WOMP (Linux) \n" print " 7) NT 4.0 Server F8) MandrakeMove (Linux) \n" print "\n" print " O) Autres Options bas‚es sur des outils DOS... \n" print " C) Quitter le menu et aller … la ligne de Commande (Expert) \n" print " R) Rebooter \n" print " D) D‚marrer depuis la disquette \n" print " ESC) D‚marrer depuis le 1er disque dur \n" MainKey: getkey $DureeReponse goto DisqueDur if $lastKey == key[F1]; then goto Aide if $lastKey == key[F5]; then if file[/KNOPPIX/boot.img]; then memdisk /KNOPPIX/boot.img if $lastKey == key[F6]; then isolinux /vmlinuz max_loop=255 initrd=/initrd.gz init=linuxrc livecd_subdir=/ load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=7777 root=/dev/ram0 rw if $lastKey == key[F7]; then isolinux /womp/vmlinuz initrd=/womp/init.gz rw root=tmpfs video=vesa:ywrap,mtrr vga=788 if $lastKey == key[F8]; then isolinux /isolinux/vmlinuz initrd=/isolinux/all.rdz acpi=ht quiet automatic=method:cdrom if $lastKey == key[1]; then goto XP_Pro if $lastKey == key[2]; then goto XP_Home if $lastKey == key[3]; then goto Server2003 if $lastKey == key[4]; then goto 2000 if $lastKey == key[5]; then memdisk /WIN98SE.IMA if $lastKey == key[6]; then memdisk /WIN95B.IMA if $lastKey == key[7]; then chain /NT4S.DAT if $lastKey == key[8]; then chain /BartPE.DAT if $lastKey == key[9]; then chain /BartXPE.DAT if $lastKey == key[c]; then goto LigneDeCommande if $lastKey == key[C]; then goto LigneDeCommande if $lastKey == key[r]; then reboot if $lastKey == key[R]; then reboot if $lastKey == key[o]; then goto AutresOptions if $lastKey == key[O]; then goto AutresOptions if $lastKey == key[d]; then goto Disquette if $lastKey == key[D]; then goto Disquette if $lastKey == key[esc]; then goto DisqueDur goto menu AutresOptions: set TitreMenu = "Plus d'options" call Entete print " 1) Lire et copier des fichiers depuis des volumes NTFS vers FAT32/16 \n" print " 2) DOS avec support CD-Rom \n" print " 3) DOS avec support reseau \n" print " 4) Disquette de 5 Mo \n" print " 5) Disquette de 11 Mo \n" print " 6) Voir les num‚ros de s‚rie pour les installations. \n" print c "\n\n" print " Appuyez sur une touche pour revenir au menu principal... \n" AutresOptions_Key: getkey $DureeReponse goto menu if $lastKey == key[F1]; then goto Aide if $lastKey == key[1]; then memdisk /lfn-ntfs.img if $lastKey == key[2]; then memdisk /cdrom.img if $lastKey == key[3]; then memdisk /msnet.img if $lastKey == key[4]; then bcdw /fd005760.ima if $lastKey == key[5]; then bcdw /fd011520.ima if $lastKey == key[6]; then goto NumeroSerie goto menu NumeroSerie: set TitreMenu = "Num‚ros de s‚rie pour installation" call Entete if file[/Serial.txt]; type /Serial.txt else print " Le fichier contenant les num‚ros de s‚rie n'a pas ‚t‚ trouv‚.\n" print c "\n\n" print "Appuyez sur une touche pour revenir au menu principal... \n" getkey goto menu XP_Pro: set TitreMenu = "Installation de Microsoft Windows XP Professionel SP1a" call Entete print " 1) Normal \n" print " 2) Automatis‚ \n" print " 3) OEMPreinstall \n" print c "\n\n" print " Appuyez sur une touche pour revenir au menu principal... \n" XP_Pro_Key: getkey $DureeReponse goto menu if $lastKey == key[F1]; then goto Aide if $lastKey == key[1]; then chain /PRO1.DAT if $lastKey == key[2]; then chain /PRO2.DAT if $lastKey == key[3]; then chain /PRO3.DAT goto menu XP_Home: set TitreMenu = "Installation de Microsoft Windows XP Home SP1a" call Entete print " 1) Normal \n" print " 2) Automatis‚ \n" print c "\n\n" print " Appuyez sur une touche pour revenir au menu principal... \n" XP_Home_Key: getkey $DureeReponse goto menu if $lastKey == key[F1]; then goto Aide if $lastKey == key[1]; then chain /HOM1.DAT if $lastKey == key[2]; then chain /HOM2.DAT goto menu Server2003: set TitreMenu = "Installation de Microsoft Windows Server 2003 Corporate" call Entete print " 1) Enterprise \n" print " 2) Standard \n" print " 3) Web \n" print " 4) Datacenter \n" print c "\n\n" print " Appuyez sur une touche pour revenir au menu principal... \n" Server2003_Key: getkey $DureeReponse goto menu if $lastKey == key[F1]; then goto Aide if $lastKey == key[1]; then chain /3ENT.DAT if $lastKey == key[2]; then chain /3STD.DAT if $lastKey == key[3]; then chain /3WEB.DAT if $lastKey == key[4]; then chain /3DCT.DAT goto menu 2000: set TitreMenu = "Installation de Microsoft Windows 2000" call Entete print " 1) Professionel SP2\n" print " 2) Professionel SP4\n" print c "\n\n" print " Appuyez sur une touche pour revenir au menu principal... \n" 2000_Key: getkey $DureeReponse goto menu if $lastKey == key[F1]; then goto Aide if $lastKey == key[1]; then chain /2KP2.DAT if $lastKey == key[2]; then chain /2KP4.DAT goto menu Aide: set TitreMenu = "Aide du DVD Multi-Boot" call Entete print " Appuyez la touche de votre choix dans le menu principal -> \n" print "\n" print "\n" print " Types d'installation \n" print " ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ \n" print " Normal - Installation avec saisie d'informations par l'utilisateur. \n" print " Automatis‚ - Installation automatis‚e, sans intervention. \n" print " OEMPreinstall - Installation Windows et autres programmes, sans intervention.\n" print "\n" print "\n" print " Appuyez sur une touche pour revenir au menu principal... \n" getkey goto menu Disquette: # Permet de demarrer depuis la disquette, si elle semble bootable if bootCheck[0]; then boot 0x00 if $BootToujours == 1; then boot 0x00 cls print " La disquette ne semble pas bootable, essayer quand meme (O/N) ? \n\n" getkey if $lastKey == key[o]; then boot 0x00 if $lastKey == key[O]; then boot 0x00 goto menu DisqueDur: # Permet de demarrer depuis le disque dur if bootCheck[0x80] == 3; then boot 0x80 # Boot HDD 0 if bootCheck[0x81] == 3; then boot 0x81 # Boot HDD 1 if $BootToujours == 1; then boot 0x00 cls print " Le disque dur ne semble pas bootable, essayer quand meme (O/N) ? \n\n" getkey if $lastKey == key[o]; then boot 0x80 if $lastKey == key[O]; then boot 0x80 goto menu LigneDeCommande: # On permet d'utiliser CD Shell en ligne de commande (pour les experts) set TitreMenu = "Ligne de commande de CD Shell" call Entete print " Vous etes maintenant en mode ligne de commande de CD Shell \n\n" print " Vous pouver relancer le menu avec la commande : script cdshell.ini \n\n" print " list \n" print " permet d'avoir la liste des commandes/fonctions/cles/modules...\n" print "\n" print " Vous pouvez taper help (ou help nom-commande) pour avoir un peu d'aide \n\n" print " Quelques commandes possibles : \n\n" print " cd : change de repertoire \n" print " dir (ou ls) : affiche le contenu du repertoire \n" print " chain nom-fichier : charge et lance un secteur de boot \n" print " memdisk nom-fichier : charge et lance une image de disquette \n" print "\n" Fin: # On termine le script en passant la main a la ligne de commande de CD Shell end