Ajout d’une image de démarrage
Cet exemple s’appuie sur l’exemple Burning a Disc Image en ajoutant du code pour inclure une image de démarrage dans la section de démarrage du disque. L’image de démarrage se connecte à l’objet de système de fichiers écrit sur le disque. Une fois attaché, le reste du processus de gravure est identique à la procédure de gravure de base. L’image de démarrage fournit le démarrage du système à l’aide du lecteur de disque CD ou DVD.
L’exemple code en dur le chemin d’accès à l’image de démarrage. Veillez à modifier le chemin d’accès ainsi que d’autres valeurs codées en dur le cas échéant.
' This script burns a boot image and data files to disc in a
' single session using files from a single directory tree.
'Copyright (C) Microsoft Corp. 2006
Option Explicit
' *** CD/DVD disc file system types
Const FsiFileSystemISO9660 = 1
Const FsiFileSystemJoliet = 2
Const FsiFileSystemUDF = 4
WScript.Quit(Main)
Function Main
Dim index ' Index to recording drive.
Dim recorder ' Recorder object
Dim path ' Directory of files to burn
Dim stream ' Data stream for burning device
Dim bootFile ' Path and filename of boot image
index = 1 ' Second drive on the system
path = "g:\BurnDir"
bootFile = "g:\BootImg\etfsboot.com"
' Create a DiscMaster2 object to connect to CD/DVD drives.
Dim g_DiscMaster
Set g_DiscMaster = WScript.CreateObject("IMAPI2.MsftDiscMaster2")
' Create a DiscRecorder object for the specified burning device.
Dim uniqueId
set recorder = WScript.CreateObject("IMAPI2.MsftDiscRecorder2")
uniqueId = g_DiscMaster.Item(index)
recorder.InitializeDiscRecorder( uniqueId )
' -------- Adding Boot Image Code -----
Dim bootOptions
WScript.Echo "Creating BootOptions"
SET bootOptions = WScript.CreateObject("IMAPI2FS.BootOptions")
bootOptions.Manufacturer = "Microsoft"
bootOptions.PlatformId = 0 ' x86 processor
bootOptions.Emulation = 0 ' EmulationType.EmulationNone
' Need a stream for the boot image file
Const adFileTypeBinary = 1
DIM bootStream
Set bootStream = CreateObject("ADODB.Stream")
WScript.Echo "Creating IStream for file " + bootFile
bootStream.Open
bootStream.Type = adFileTypeBinary
bootStream.LoadFromFile bootFile
bootOptions.AssignBootImage(bootStream)
' Create disc file system image (ISO9660 in this example)
Dim FSI
SET FSI = WScript.CreateObject("IMAPI2FS.MsftFileSystemImage")
FSI.ChooseImageDefaults(Recorder)
' Add the boot directory and its contents to the file system
FSI.BootImageOptions = bootOptions
' Add the content directory and files to the file system
FSI.root.AddTree path, FALSE
Dim result
Set result = FSI.CreateResultImage()
stream = result.ImageStream
' Create and write stream to disc using the specified recorder.
Dim dataWriter
Set dataWriter = CreateObject("IMAPI2.MsftDiscFormat2Data")
dataWriter.recorder = Recorder
dataWriter.ClientName = "IMAPIv2 TEST"
dataWriter.write(stream)
WScript.Echo "----- Finished writing content -----"
Main = 0
End Function
Rubriques connexes