#!/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