|
本帖最后由 baosheng00 于 2023-3-21 08:51 编辑
楼主 UEFI最好做自动处理,应为 g4ex64.bin 不适合所有引导文件,楼主的自己用没有问题,别人用就有问题了。
AU3几年前这样写,大概先判断选择的目录中有没有 EFI\BOOT\*.efi 文件,有将自动生成IMG文件,将*.efi复制到IMG文件中
- Func _uefizz()
- Local $bios3
- If GUICtrlRead($Radio2) = $GUI_CHECKED Or GUICtrlRead($Radio3) = $GUI_CHECKED Or $Radion = 2 Or $Radion = 3 Then
- $bios3=GUICtrlRead($Input1)
- If FileExists($bios3&"\EFI\BOOT\*.efi")=1 Then
- If FileExists(@ScriptDir&"\winimage.exe")=1 Then
- $winimage=(@ScriptDir&"\winimage.exe")
- Else
- FileInstall("winimage.exe",@TempDir&"\winimage.exe", 0)
- $winimage=(@TempDir&"\winimage.exe")
- EndIf
- If FileExists(@HomeDrive&"\Temp")=1 Then DirRemove(@HomeDrive&"\Temp",1)
- $Temp=(@HomeDrive&"\Temp\2\EFI\BOOT")
- If FileExists($bios3&"\EFI\BOOT\*.efi")=1 Then
- $efi=($bios3&"\EFI\BOOT\*.efi")
- DirCreate ($Temp);@TempDir
- FileCopy ($efi,$Temp)
- $daxiao=DirGetSize ($Temp )/1024/1024
- $daxiao2=StringLeft($daxiao, 3)
- If FileExists($Temp)=1 Or $daxiao < 2.8 Then
- SplashTextOn( "" , "正在生成UEFI引导文件,请稍等..." , 468 , 55 , 241 , 615, 33 , "" , 15 )
- RunWait($winimage&" "&@HomeDrive&"\Temp\EFI.img /n2880 /f /q /h ")
- RunWait($winimage&" "&@HomeDrive&"\Temp\EFI.img "&@HomeDrive&"\Temp\2 /i /h /y /q","",@SW_HIDE)
- Sleep (1000)
- Else
- SplashOff ()
- $TS2=MsgBox(16+0, "错误","UEFI的引导文件为"&$daxiao2&",超出2.8MB不能自动生存引导文件,请选择三启模式" )
- If $TS2=-1 Or $TS2= 1 Then
- GUIDelete($Form1)
- _meiu()
- Exit
- EndIf
- EndIf
- EndIf
- EndIf
- EndIf
- EndFunc
复制代码 需要winimage文件,附件我上传了
winimage.exe
(1.07 MB, 下载次数: 74)
|
|