80 lines
2.3 KiB
Bash
80 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
#/**
|
|
# BuildToOrder
|
|
#@brief Script de ejemplo para realizar una configuracion del sistema operativo antes de generar imagen o de restaurado.
|
|
#@brief Activa el uso de los contralodres de disco más usados en windows 7.
|
|
#@brief (puede usarse como complemento para el programa de creación de imágenes o de restauración).
|
|
#@param 1 disco
|
|
#@param 2 particion
|
|
#@return
|
|
#@TODO
|
|
#@exception
|
|
#@version 1.0.4 - Discos ide + SATA.
|
|
#@author
|
|
#@date 2012-10-05
|
|
#@version 1.1.1b - Funciona para Windows8 y Windows 10. Si la clave no existe (tiene valor vacío) se crea.
|
|
#@date 2020-05-04
|
|
|
|
|
|
#Control de parametros.
|
|
PROG="$(basename $0)"
|
|
if [ $# -ne 2 ]; then
|
|
ogRaiseError $OG_ERR_FORMAT "Formato: $PROG ndisco nparticion"
|
|
exit $?
|
|
fi
|
|
|
|
|
|
MNTDIR=$(ogMount $1 $2)
|
|
|
|
# filtro Tipo de sistema operativo.
|
|
OSTYPE="$(ogGetOsType $1 $2)"
|
|
|
|
|
|
case "$OSTYPE" in
|
|
Windows)
|
|
echo "Filtro versión de sistema operativo windows."
|
|
TYPE=$(ogGetOsVersion $1 $2)
|
|
case "$TYPE" in
|
|
*Windows\ XP)
|
|
echo "Versión de sistema operativo Windows XP no soportado"
|
|
exit
|
|
;;
|
|
*Windows\ 7*)
|
|
# Claves a modificar
|
|
KEYS="intelide pciide msahci iaStorV iaStor LSI_SAS"
|
|
|
|
;;
|
|
*Windows\ *8*|*10*)
|
|
# Claves a modificar
|
|
KEYS="intelide pciide storahci iaStorV iaStorAC iaStorAVC LSI_SAS"
|
|
;;
|
|
esac
|
|
|
|
echo "$TYPE"
|
|
CONTROLSET="ControlSet001 ControlSet002"
|
|
for C in $CONTROLSET;
|
|
# Si no existe la rama de registro continuo a la siguiente.
|
|
[ "$(ogListRegistryKeys $MNTDIR SYSTEM '\'${C})" == "" ] && continue
|
|
|
|
for K in $KEYS; do
|
|
FULLK='\'$C'\Services\'$K'\Start'
|
|
VALUE=$(ogGetRegistryValue $MNTDIR SYSTEM "$FULLK")
|
|
# Si el valor está vacío la creo.
|
|
if [ "$VALUE" == "" ]; then
|
|
ogDeleteRegistryValue $MNTDIR SYSTEM "$FULLK"
|
|
ogAddRegistryValue $MNTDIR SYSTEM "$FULLK" DWORD
|
|
fi
|
|
ogSetRegistryValue $MNTDIR SYSTEM "$FULLK" '0'
|
|
echo " * $C $K enabled"
|
|
done
|
|
done
|
|
;;
|
|
Linux)
|
|
echo "Versión de Sistema Operativo GNU/Linux no soportado"
|
|
;;
|
|
*)
|
|
echo "Sistema Operativo no soportado"
|
|
;;
|
|
esac
|