-
Notifications
You must be signed in to change notification settings - Fork 0
/
rEFInd64.bat
87 lines (69 loc) · 2.4 KB
/
rEFInd64.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
@echo off
setlocal
echo Buscando tu Particion EFI
rem Estas palabras pueden Variar por Idioma, en caso de que no encuentre Agrega la variante de Sistema en tu Idioma. Esto ejecuta diskpart list volume y busca el efi encontrando la palabra Sistema.
set "keywords=Sistema System"
set "EFI_VOLUME="
for %%k in (%keywords%) do (
for /f "tokens=2 delims= " %%i in ('echo list volume ^| diskpart ^| findstr /i "%%k"') do (
set "EFI_VOLUME=%%i"
goto :found
)
)
:found
if "%EFI_VOLUME%"=="" (
echo Lamentablemente no encontre la Particion.
pause
exit /b 1
)
echo Volumen encontrado: %EFI_VOLUME%
(
echo select volume %EFI_VOLUME%
echo assign letter=S
) | diskpart > nul 2>&1
if %errorlevel% neq 0 (
echo Error. Al parecer la letra S ya esta en uso en alguna unidad. Desactiva la unidad S y vuelve a ejecutar este script.
pause
exit /b %errorlevel%
)
if exist "S:\EFI\refind" (
rd /s /q "S:\EFI\refind"
)
echo Instalando rEFInd...
xcopy /E /I /Y /R "%~dp0refind" "S:\EFI\refind\" > nul 2>&1
if %errorlevel% neq 0 (
echo Error en la copia. Es probable que la carpeta " refind" no exista.
goto :hide_partition
)
echo Ajustando para iniciar rEFInd al encender la PC...
rem Usa la ruta completa para bcdedit.exe
C:\Windows\System32\bcdedit.exe /set {bootmgr} path \EFI\refind\refind_x64.efi
if %errorlevel% neq 0 (
echo Error al ejecutar bcdedit. Intentando con PowerShell...
powershell -Command "C:\Windows\System32\bcdedit.exe /set '{bootmgr}' path '\EFI\refind\refind_x64.efi'"
if %errorlevel% neq 0 (
echo Error al ejecutar bcdedit a través de PowerShell.
goto :hide_partition
)
)
:hide_partition
(
echo select volume %EFI_VOLUME%
echo remove letter=S
) | diskpart > nul 2>&1
if %errorlevel% neq 0 (
echo Error ocultando particion EFI.
pause
exit /b %errorlevel%
)
echo.
echo ##############################################################
echo # Instalacion Completa \:D/ #
echo # Reiniciar la PC para Probarlo. #
echo # Debes tener SecureBoot Desactivado #
echo # Pulsa ENTER para Salir #
echo ##############################################################
echo.
timeout /t 5 /nobreak >nul
endlocal
exit /b 0