Je fais suite à hier et le souhait d'automatiser l'effacement sécuriser et l'installation.
Je suis parti du constat que le script erase.sh efface le disque puis demande si on veut installer, en semi-auto, ou automatique.
Je l'ai copié, renommé en erase_clone.sh, modifié et placé dans la partition IMAGES avec les autres scripts.
J'ai modifié ventoy_remploi_grub.cfg pour ajouté une entrée dans le grub qui démarre le script erase_close.sh à mettre dans le dossier ventoy de la partition ventoy.
Valider l'entrée " [BETA]Effacement+install auto" dans le grub démarre l'effacement sécurisé, vérifie l'absence de données restantes (j'ai mis le choix 1 car le plus rapide), met le log d'effacement dans /IMAGES/Erase_log et lance l'installation automatique. (clone.ini doit être configuré). La seule action demander est le dégèle du disque.
La modification du script n'est probablement pas la plus propre vu mes connaissances mais ça marche sur un uefi ssd. Pas encore tester sur legacy hdd. Toutes les lignes modifiées ou ajoutées des scripts sont commentées par ### BETA pour plus de lisibilité.
A tester. Dites moi comment le rendre plus propre et si il y a des erreurs.
Pour erase_clone.sh à ajouter aux autres script dans la partition IMAGES
Code : Tout sélectionner
#!/bin/bash
# erase_clone.sh --
## Modification de erase.sh pour un effacement, une vérification des données et une installation tout automatisé.
# Les modification ont été faite par wardidi
# L'écrasement sécurisé, la vérification des données et l'installation propose plusieurs modes. 
# Pour les automatiser, les variables correspondantes doivent être fixées en fonction aux lignes 124-126-128
#
#
#
#   This file allows to erasing target hard disk of a computer :
#     - magnetic disk by Nwipe utility : https://en.wikipedia.org/wiki/Nwipe
#     - Solid-State Drive by HDparm : https://en.wikipedia.org/wiki/Hdparm
#     - NVMe by nvme-cli : https://github.com/linux-nvme/nvme-cli
#
#   Created on 2010-23 by collectif Emmabuntüs (contact@emmabuntus.org).
#
#   It was tested and validated on Clonezilla live 3.0.1-8 i686/amd64
#
#   Home web site : https://emmabuntus.org/
#
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
################################################################################
#DEBUG="true"
#BEEP_OFF="true"
#AUTOMATIC_HALT_MAGNETIC_OFF="true"
AUTOMATIC_HALT_SSD_OFF="true"
DIR_ERASE_LOG=Erase_log
NWIPE_LOG=nwipe_log
HDPARM_LOG=hdparm_log
NVME_LOG=nvme_cli_log
TESTDISK_LOG=testdisk.log
KEY_DRIVE=$(sudo blkid | grep LABEL=\"IMAGES\" | cut  -d ':' -f1)
UEFI_ON=0
SECUREBOOT_ON=0
DATE=`date -u +"%Y-%m-%d-%H-%M"`
LANGUE=$(echo ${LANG} | cut -d _ -f1)
# Configuration de l'effacement le plus rapide
# Configuration of default erasing
NWIPE_METHOD[1]="zero      "
NWIPE_VERIFY[1]="off"
NWIPE_OPTIONS[1]="--autopoweroff --nousb --noblank"
# Configuration de l'effacement par défaut de Nwipe
# Configuring advanced Wipe
NWIPE_METHOD[2]="dodshort  "
NWIPE_VERIFY[2]="last"
NWIPE_OPTIONS[2]="--autopoweroff --nousb"
# Configuration de l'effacement avancé recommendé par la DoD
# Configuring advanced Wipe
NWIPE_METHOD[3]="dod522022m"
NWIPE_VERIFY[3]="last"
NWIPE_OPTIONS[3]="--autopoweroff --nousb"
NUMBER_ERASE_ID=3
ENHANCED_SECURITY_ERASE=""
# Mode d'analyse de Testdisk
TESTDISK_OPTION[1]="analyze"
TESTDISK_OPTION[2]="analyze,list"
TESTDISK_OPTION[3]="analyze,search"
NUMBER_ANALYSE_ID=3
CONFIG_FILE=clone.ini
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
ORANGE='\033[0;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# Lecture des options de la ligne de commande
# Read command line options
LINE_OPTION=$1
if [ -z ${DEBUG} ] ; then
    # Efface l'affichage précédant
    clear
fi
if [[ ${LINE_OPTION} == "-a" ]] ; then
    AUTOMATIC="true"
fi
# Test Secureboot
if test -d /sys/firmware/efi/ ; then
    if [ "$(which mokutil)" != "" ] ; then
        if [ "$(mokutil --sb-state | grep "SecureBoot enabled")" != "" ] ; then
            SECUREBOOT_ON=1
        fi
    fi
fi
if [ ${LANGUE} = fr ]
then
#####Préconfiguration de l'écrasement sécurisé ET vérification ET installation par clonage
##### BETA Demande de confirmation de l'effacement oui=o non=n
    read_1=o ##### BETA
    read_2=o ##### BETA
##### BETA Voulez-vous lancer une analyse de recherche de données sur le disque cible, oui=o non=n
    read_analyse=o ##### BETA
##### BETA Veuillez sélectionner le mode d'analyse désiré ?.analyse=1 analyse_test=2 analyse_search=3
    analyse_id_number=1   #### BETA
#### BETA Determination du mode de clonage  pour lancer le clonage en mode semi-automatique=s ou  pour le mode automatique =a 
    mode_clonage=a  ####### BETA
#### BETA Veuillez sélectionner le mode d'effacement désiré (hdd)méthode zéro=1 dodshot=2 dod522022m=3
    erase_id_number=1
#### BETA Voulez-vous arrêter automatiquement l'ordinateur à la fin de l'opération d'effacement
    read_arret=n
    message_info_emmabuntus="Clé USB de réemploi par Emmabuntüs (https://emmabuntus.org)"
    message_info_sources="Les sources sont disponibles sur http://usb-reemploi.emmabuntus.org"
    message_identification_usb_ko="Attention : La clé USB avec l'étiquette \"IMAGES\" n'a pas été indentifiée. Taper sur une touche quelconque pour sortir du script"
    message_trouve_usb_avant="Clé USB trouvée sur"
    message_trouve_usb_apres=", mais ce n'est pas son emplacement habituel, ce qui signifie que vous avez plusieurs disques durs sur ce système."
    message_selection_usb="Veuillez entrer le numéro correspondant au disque cible de l'installation :"
    message_mauvais_nombre_disque_dur="Attention : Vous n'avez pas entré un nombre pour selectionner le disque. Taper sur une touche quelconque pour sortir du script"
    message_mauvais_selection_disque_dur="Attention : Vous n'avez pas entré un nombre correspondant à un disque. Taper sur une touche quelconque pour sortir du script"
    message_usb_disque_dur_avant="Clé USB trouvée sur"
    message_usb_disque_dur_apres="et disque sélectionné sur "
    message_type_disque_dur="Magnétique"
    message_mode_effacement="Modes d'effacement prédéfinis pour la clé de réemploi du plus rapide au plus lent :"
    message_methode_effacement="méthode"
    message_verification_effacement="vérification"
    message_options_effacement="options"
    message_utilisateur_effacement="Choix du mode réalisé par l'utilisateur dans l'interface de Nwipe pour avoir accès à l'ensemble des modes"
    message_choix_effacement="Veuillez sélectionner le mode d'effacement désiré ?"
    message_info_operation="L'effacement va être effectué et à la fin de celui-ci l'ordinateur va s'arrêter."
    message_demande_arret="Voulez-vous arrêter automatiquement l'ordinateur à la fin de l'opération d'effacement ? [o/N] : "
    message_info_log_avant="Vous pourrez trouver le résultat de l'opération d'effacement dans le fichier de log :"
    message_info_log_apres="présent sur la partition \"IMAGES\" de la clé de réemploi."
    message_info_effacement_avant="/!\ Attention : voulez vous effacer le disque /dev/"
    message_info_effacement_apres=", toutes les données seront détruites ? [o/N] : "
    message_start_effacement_avance="Lancement de l'effacement mode amélioré"
    message_start_effacement="Lancement de l'effacement mode standard"
    message_stop_effacement="Abandon de l'effacement sécurisé !!!"
    message_effacement_ssd_ok="Disque dur SSD effacé"
    message_effacement_ssd_ko="Disque dur SSD non effacé !!!"
    message_effacement_ssd_ko_frozen="Disque dur SSD non effacé, car dans un état gelé !!!"
    message_disque_gele="Disque SSD dans un état gelé."
    message_mise_veille="Voulez-vous essayer de le débloquer ? Alors appuyez sur la touche \"Entrée\".\nSuite à cela l'ordinateur va se mettre en veille. Au bout de 10 secondes appuyez sur le bouton marche pour le réveiller."
    message_fichier_config_automatique_non_trouve="Fichier de configuration du clonage en mode automatique (${CONFIG_FILE}) non trouvé !!!"
    message_nombre="Saisissez un nombre ci-dessus, puis validez : "
    message_info_disque_ssd="Affiche les informations sur le disque dur SSD"
    message_stop_effacement_nvme_avant="Disque SSD NVMe "
    message_stop_effacement_nvme_apres=" ne supporte pas le formatage !!!"
    message_analyse_disque_avant="Voulez-vous lancer une analyse de recherche de données sur le disque cible ?"
    message_analyse_disque_apres="/!\ Attention : cela peut prendre beaucoup du temps. [o/N] : "
    message_mode_analyse="Modes d'analyse prédéfinis pour la clé de réemploi du plus rapide au plus lent :"
    message_utilisateur_analyse="Choix du mode réalisé par l'utilisateur dans l'interface de TestDisk pour avoir accès à l'ensemble des modes"
    message_choix_analyse="Veuillez sélectionner le mode d'analyse désiré ?"
    message_resultat_analyse_disque="Résultat de l'analyse du disque cible :"
    message_pause_continue_script="Appuyez sur la touche \"Entrée\" pour continuer le script"
    message_pause_script="Appuyez sur la touche \"Entrée\" pour terminer du script"
    message_stop_computer="Appuyez sur la touche \"Entrée\" pour arrêter l'ordinateur"
    message_start_clonage="Ou appuyer sur la touche \"S\" pour lancer le clonage en mode semi-automatique ou sur \"A\" pour le mode automatique : "
    CODE_OK_MINUSCULE="o"
    CODE_OK_MAJUSCULE="O"
else
    message_info_emmabuntus="Emmabuntüs reusable USB key (https://emmabuntus.org)"
    message_info_sources="Sources are avbailable on http://usb-reemploi.emmabuntus.org"
    message_identification_usb_ko="Warning : The USB key with the \"IMAGES\" label was not found. Press any key to exit the script"
    message_trouve_usb_avant="USB Key found on"
    message_trouve_usb_apres=", but this is not it's usual location, which means that there is several hard drives on your computer."
    message_selection_usb="Please enter the number corresponding to the target disk of this install."
    message_mauvais_nombre_disque_dur="Warning : You did not enter a number to select the disk. Press any key to exit the script"
    message_mauvais_selection_disque_dur="Warning : You did not enter a number corresponding to a disk. Press any key to exit the script"
    message_usb_disque_dur_avant="USB Key found on"
    message_usb_disque_dur_apres="and selected hard drive on "
    message_type_disque_dur="Magnetic"
    message_mode_effacement="Erase modes available from slowest to fastest :"
    message_methode_effacement="method"
    message_verification_effacement="check"
    message_options_effacement="options"
    message_utilisateur_effacement="Choice of mode made by the user in the Nwipe interface to have access to all modes"
    message_choix_effacement="Please select the desired erase mode ?"
    message_info_operation="The erasing will be started and at the end the computer will stop."
    message_demande_arret="Do you want to automatically shut down the computer at the end of the erase operation? [y/N]: "
    message_info_log_avant="You can find the result of the erasing operation in the log file :"
    message_info_log_apres="present on the \"IMAGES\" partition of the key of reuse."
    message_info_effacement_avant="/!\ Warning : Do you want to erase the disk /dev/"
    message_info_effacement_apres=", all data will be destroyed ? [y/N]: "
    message_start_effacement_avance="Start of enhanced mode erasure"
    message_start_effacement="Start of standard mode erasure"
    message_stop_effacement="Erasing aborted !!!"
    message_effacement_ssd_ok="SSD hard drive erased"
    message_effacement_ssd_ko="SSD hard drive not erased  !!!"
    message_effacement_ssd_ko_frozen="SSD hard disk not erased, because in a frozen state !!!"
    message_disque_gele="SSD drive in a frozen state."
    message_mise_veille="Do you want to try to unlock it ? Then press the \"Enter\" key.\nAfter that the computer will go to sleep. After 10 seconds press the power button to wake it up."
    message_fichier_config_automatique_non_trouve="Automatic mode cloning configuration file (${CONFIG_FILE}) not found  !!!"
    message_nombre="Enter a number above, then validate: "
    message_info_disque_ssd="Displays SSD hard drive information"
    message_stop_effacement_nvme_avant="NVMe SSD "
    message_stop_effacement_nvme_apres=" does not support formatting !!!"
    message_analyse_disque_avant="Do you want to run a data search scan on the target disk?"
    message_analyse_disque_apres="/!\ Warning : This operation can take a long time. [y/N]: "
    message_mode_analyse="Predefined analysis modes for the reuse key from fastest to slowest: "
    message_utilisateur_analyse="Choice of mode made by the user in the TestDisk interface to have access to all modes"
    message_choix_analyse="Please select the desired scan mode?"
    message_resultat_analyse_disque="Target Disk scan result:"
    message_pause_continue_script="Press the \"Enter\" key to continue the script"
    message_pause_script="Press the \"Enter\" key to exit"
    message_stop_computer="Appuyez sur la touche \"Entrée\" pour arrêter l'ordinateur"
    message_start_clonage="Or press the \"S\" key to start cloning in semi-automatic mode or \"A\" for automatic mode: "
    CODE_OK_MINUSCULE="y"
    CODE_OK_MAJUSCULE="Y"
fi
function analyse_disque()
{
    file_log=${1}
    echo -e ""
       
    echo -e -n "${NC}"
    if [ "$read_analyse" = ${CODE_OK_MINUSCULE} ] || [ "$read_analyse" = ${CODE_OK_MAJUSCULE} ] ; then
        if test -f ${TESTDISK_LOG} ; then
            rm ${TESTDISK_LOG}
        fi
        echo -e ""
        echo -e "${message_mode_analyse}"
        for (( analyse_id = 1 ; analyse_id <= ${NUMBER_ANALYSE_ID} ; analyse_id++ ))
        do
            echo -e "${YELLOW}${analyse_id}${NC} - ${GREEN}Mode = ${TESTDISK_OPTION[${analyse_id}]}${NC}"
        done
        erase_id=$((${NUMBER_ANALYSE_ID}+1))
        echo -e "${YELLOW}${analyse_id}${NC} - ${ORANGE}${message_utilisateur_analyse}${NC}"
        echo ""
        echo -e -n "${YELLOW}${message_choix_analyse}${NC} "
        echo -e -n "${ORANGE}"
 	 
        echo -e -n "${NC}"
        if [ ${analyse_id_number} -le ${NUMBER_ANALYSE_ID} ] ; then
            TESTDISK_OPTION=${TESTDISK_OPTION[${analyse_id_number}]}
            TESTDISK_CMD="/cmd"
        else
            TESTDISK_OPTION=""
            TESTDISK_CMD=""
        fi
        sudo testdisk /log ${TESTDISK_CMD} /dev/${HARD_DRIVE} ${TESTDISK_OPTION}
        if test -f ${TESTDISK_LOG} ; then
            echo -e "${GREEN}${message_resultat_analyse_disque}${NC}"
            echo -e ""
            cat ${TESTDISK_LOG}
            echo "" | sudo tee -a ${file_log} >/dev/null
            echo "# TestDisk analyse ################################################################" | sudo tee -a ${file_log} >/dev/null
            echo "" | sudo tee -a ${file_log} >/dev/null
            echo "TESTDISK_CMD=${TESTDISK_CMD}" | sudo tee -a ${file_log} >/dev/null
            echo "TESTDISK_OPTION=${TESTDISK_OPTION}" | sudo tee -a ${file_log} >/dev/null
            echo "" | sudo tee -a ${file_log} >/dev/null
            cat ${TESTDISK_LOG} | sudo tee -a ${file_log} >/dev/null
            rm ${TESTDISK_LOG}
            echo -e ""
            
        fi
    fi
}
echo ""
echo ${message_info_emmabuntus}
echo ${message_info_sources}
echo ""
# Verrouillage du pavé numérique
setleds -D +num
# Positionnement sur la clé USB au niveau des scripts
# Go to scripts top dir
cd /home/partimag
# Identification de la clé USB
# Finding out the USB Key
if [ -z ${KEY_DRIVE} ] ; then
   echo -e -n "${RED}${message_identification_usb_ko}${NC}"
   echo -e "\a"
   read read_no_correct_label_key
   exit 1
elif [ $(echo ${KEY_DRIVE} | grep sdb) ] ; then
    KEY_DRIVE_FOUND="/dev/sdb"
elif [ $(echo ${KEY_DRIVE} | grep sda) ] ; then
    KEY_DRIVE_FOUND="/dev/sda"
fi
# Identification du disque dur
# Finding the hard drive
find_disk=$(sudo fdisk -l | grep 'Disk /dev/sd\|Disk /dev/hd\|Disk /dev/mmcblk\|Disk /dev/hd\|Disk /dev/nvme' | cut -d : -f1 | cut -d " " -f2)
nb_find_disk=$(echo ${find_disk} | wc -w)
if [ ! -z ${DEBUG} ] ; then
    echo -e "KEY_DRIVE_FOUND=${KEY_DRIVE_FOUND}"
    echo -e "find_disk=${find_disk}"
    echo -e "nb_find_disk=${nb_find_disk}"
fi
if [ ${nb_find_disk} -eq 2 ] && [ -n ${KEY_DRIVE_FOUND}  ] ; then # Si 2 disques trouvés et que la clé USB a été identifiée
    for disk_name in ${find_disk}
    do
        if [ "${disk_name}" != ${KEY_DRIVE_FOUND} ] ; then
            HARD_DRIVE=$(echo ${disk_name} | cut -d / -f3)
        fi
    done
elif [ -n "${KEY_DRIVE}" ] ; then
    echo -e "${message_trouve_usb_avant} ${GREEN}${KEY_DRIVE}${NC}${message_trouve_usb_apres}"
    echo ""
    echo "${message_selection_usb}"
    i=0
    for disk_name in ${find_disk}
    do
        if [ ! $(echo ${KEY_DRIVE} | grep ${disk_name}) ] ; then
            disk_model=$(sudo fdisk -l ${disk_name} | grep "Disk model" | cut -d : -f2)
            disk_size=$(sudo fdisk -l ${disk_name} | grep "Disk " | grep sector | cut -d : -f2 | cut -d B -f1)
            i=$(($i+1))
            echo -e "${YELLOW}${i}${NC} - ${GREEN}${disk_name} - model: ${disk_model} - size: ${disk_size}B${NC}"
        fi
    done
    echo ""
    echo -e -n "${YELLOW}${message_nombre}${NC}"
    echo -e -n "${ORANGE}"
    read read_disk_number
    echo -e -n "${NC}"
    # Test si c'est un nombre
    # Check if the entry is a number
    if echo ${read_disk_number} | grep -qE '^[0-9]+$'; then
        echo ""
    else
        echo -e -n "${RED}${message_mauvais_nombre_disque_dur}${NC}"
        echo -e "\a"
        read read_no_correct_number
        exit 2
    fi
    i=0
    macth_number=0
    for disk_name in ${find_disk}
    do
        if [ ! $(echo ${KEY_DRIVE} | grep ${disk_name}) ] ; then
            i=$(($i+1))
            if [ ${read_disk_number} -eq $i ] ; then
                HARD_DRIVE=${disk_name}
                macth_number=1
            fi
        fi
    done
    if [  ${macth_number} -eq 1 ] ; then
        HARD_DRIVE=$(echo ${HARD_DRIVE} | cut -d / -f3)
    else
        echo -e -n "${RED}${message_mauvais_selection_disque_dur}${NC}"
        echo -e "\a"
        read read_no_correct_number
        exit 3
    fi
fi
# Identification du type de disque dur : Classique ou SSD
TYPE_HARD_DRIVE=$(cat /sys/block/${HARD_DRIVE}/queue/rotational)
if [ ${TYPE_HARD_DRIVE} -eq 0 ] ; then
    # Test si le SSD est NVMe
    HARD_DRIVE_NVME=$(sudo nvme list | grep "/dev/" | cut -d " " -f1 )
    if [ "${HARD_DRIVE_NVME}" != "" ] ; then
        # Test support formatage NVMe
        support_formatage_nvme=$(sudo nvme id-ctrl -H ${HARD_DRIVE_NVME} | grep "Format NVM Support")
        # Formatage NVMe non supportée
        if [ "${support_formatage_nvme}" == "" ] ; then
            echo ""
            echo -e -n "${RED}${message_stop_effacement_nvme_avant}${HARD_DRIVE_NVME}${message_stop_effacement_nvme_apres}${NC}"
            echo -e "\a"
            read read_no_support_formatage_nvme
            exit 4
        fi
        NAME_TYPE_HARD_DRIVE="MVMe"
        ERASE_LOG=${NVME_LOG}
    else
        NAME_TYPE_HARD_DRIVE="SSD"
        ERASE_LOG=${HDPARM_LOG}
    fi
else
    # Disque magnétique
    NAME_TYPE_HARD_DRIVE=${message_type_disque_dur}
    ERASE_LOG=${NWIPE_LOG}
fi
echo -e "${message_usb_disque_dur_avant} ${GREEN}${KEY_DRIVE}${NC} ${message_usb_disque_dur_apres}${GREEN}/dev/${HARD_DRIVE}${NC} (Type : ${GREEN}${NAME_TYPE_HARD_DRIVE}${NC})${NC}"
echo ""
# Changement du nom du fichier de log pour savoir si le PC est en UFEI, SecureBoot
if test -d /sys/firmware/efi/ ; then
    if [ "$(mokutil --sb-state | grep "SecureBoot enabled")" != "" ] ; then
        ERASE_LOG=${ERASE_LOG}_UEFI_SB
    else
        ERASE_LOG=${ERASE_LOG}_UEFI
    fi
else
    ERASE_LOG=${ERASE_LOG}_LEGACY
fi
# Détermination du type de CPU
if [ $(uname -m) = "x86_64" ] ; then
    ERASE_LOG=${ERASE_LOG}_X64
else
    ERASE_LOG=${ERASE_LOG}_X32
fi
# Verification si le répetoire de log n'existe pas et création
if ! test -d ${DIR_ERASE_LOG} ; then
    sudo mkdir ${DIR_ERASE_LOG}
fi
# Ajout du répertoire, de la date et de l'extension au fichier de log
ERASE_LOG=${DIR_ERASE_LOG}/${DATE}-${ERASE_LOG}.log
# Effacement pour un disque dur magnétique utilisant Nwipe
if ! [ ${TYPE_HARD_DRIVE} -eq 0 ] ; then
    # Choix du type d'effacement
    echo -e "${message_mode_effacement}"
    for (( erase_id = 1 ; erase_id <= ${NUMBER_ERASE_ID} ; erase_id++ ))
    do
        echo -e "${YELLOW}${erase_id}${NC} - ${GREEN}${message_methode_effacement} = ${NWIPE_METHOD[${erase_id}]},\t ${message_verification_effacement} = ${NWIPE_VERIFY[${erase_id}]},\t ${message_options_effacement} = ${NWIPE_OPTIONS[${erase_id}]}${NC}"
    done
    erase_id=$((${NUMBER_ERASE_ID}+1))
    echo -e "${YELLOW}${erase_id}${NC} - ${ORANGE}${message_utilisateur_effacement}"
    echo ""
    echo -e -n "${YELLOW}${message_choix_effacement}${NC} "
    echo -e -n "${ORANGE}"
    
    echo -e -n "${NC}"
    if [ ${erase_id_number} -le ${NUMBER_ERASE_ID} ] ; then
        NWIPE_METHOD=${NWIPE_METHOD[${erase_id_number}]}
        NWIPE_VERIFY=${NWIPE_VERIFY[${erase_id_number}]}
        NWIPE_OPTIONS=${NWIPE_OPTIONS[${erase_id_number}]}
    else
        NWIPE_METHOD=""
        NWIPE_VERIFY=""
        NWIPE_OPTIONS=""
    fi
    # Affiche information fichier de log
    echo ""
    echo -e "${message_info_log_avant}"
    echo -e "\"${GREEN}${ERASE_LOG}${NC}\" ${message_info_log_apres}"
    echo ""
    if [ -z ${AUTOMATIC_HALT_MAGNETIC_OFF} ] ; then
         
        echo -e -n "${NC}"
        if [ "$read_arret" = ${CODE_OK_MINUSCULE} ] || [ "$read_arret" =  ${CODE_OK_MAJUSCULE} ] ;  then
            AUTOMATIC_HALT_MAGNETIC_OFF=""
            echo ""
            echo -e  "${message_info_operation}"
        else
            AUTOMATIC_HALT_MAGNETIC_OFF="true"
        fi
    fi
    # Partie active du script
    # The active part of the script
    # Demande de confirmation de l'effacement
    echo ""
    
    echo -e -n "${NC}"
    if [ "$read_1" = ${CODE_OK_MINUSCULE} ] || [ "$read_1" = ${CODE_OK_MAJUSCULE} ] ; then
        
	
        echo -e -n "${NC}"
        if [ "$read_2" = ${CODE_OK_MINUSCULE} ] || [ "$read_2" =  ${CODE_OK_MAJUSCULE} ] ;  then
            if [ "$?" -eq 0 ]; then
                if [[ ${NWIPE_METHOD} != "" ]] ; then
                    sudo nwipe --method=${NWIPE_METHOD} --verify=${NWIPE_VERIFY} ${NWIPE_OPTIONS} --logfile=${ERASE_LOG} --autonuke /dev/${HARD_DRIVE}
                else
                    # Choix réalisé pour l'utilisateur dans l'interface de Nwipe
                    sudo nwipe --logfile=${ERASE_LOG} /dev/${HARD_DRIVE}
                fi
                if [ -z ${BEEP_OFF} ] ; then
                    echo -e -n "\a"
                fi
                if [ ! -z ${AUTOMATIC_HALT_MAGNETIC_OFF} ] ; then
                    shutdown -c
                    analyse_disque ${ERASE_LOG}
                    echo ""
               
		
                    echo -e -n "${NC}"
                    if [ "$mode_clonage" = "s" ] || [ "$mode_clonage" = "S" ] ; then
                        /home/partimag/clone.sh
                    elif [ "$mode_clonage" = "a" ] || [ "$mode_clonage" = "A" ] ; then
                        /home/partimag/clone.sh -a
                    else
                        shutdown --poweroff now
                    fi
                else
                    shutdown --poweroff now
                fi
                exit 0
            fi
        fi
    fi
    echo -e "${RED}${message_stop_effacement}${NC}"
    echo -e -n "\a"
else # Effacement pour un disque dur SSD
    # Disque SSD non NVMe
    if [ "${HARD_DRIVE_NVME}" == "" ] ; then
        # Test si le disque n'est pas gelé
        frozen=$(sudo hdparm -I /dev/${HARD_DRIVE} | grep --perl-regex "not\tfrozen")
    else
        # Pour un disque SSD NVMe forcage du frozen par défaut car impossible de savoir si le disque SSD NVMe est frozen ou pas
        frozen=""
    fi
    # SSD not frozen ####################################################
    if [ "${frozen}" != "" ] ; then
        # Affiche information fichier de log
        echo ""
        if [ -z ${AUTOMATIC_HALT_SSD_OFF} ] ; then
            echo -e    "${message_info_operation}"
        fi
        echo -e "${message_info_log_avant}"
        echo -e "\"${GREEN}${ERASE_LOG}${NC}\" ${message_info_log_apres}"
        echo ""
        # Demande de confirmation de l'effacement
        echo ""
      
	
        echo -e -n "${NC}"
        if [ "$read_1" = ${CODE_OK_MINUSCULE} ] || [ "$read_1" = ${CODE_OK_MAJUSCULE} ] ; then
           
	
            echo -e -n "${NC}"
            if [ "$read_2" = ${CODE_OK_MINUSCULE} ] || [ "$read_2" =  ${CODE_OK_MAJUSCULE} ] ;  then
                if [ "$?" -eq 0 ]; then
                    # Création du fichier de log
                    echo "# Initial state before erasing ########################################################################" > ${ERASE_LOG} >/dev/null
                    sudo hdparm -I /dev/${HARD_DRIVE} | sudo tee -a ${ERASE_LOG} >/dev/null
                    # Utilisation d'un mot de passe pour pouvoir effacer le disque dur
                    sudo hdparm --user-master u --security-set-pass avenir /dev/${HARD_DRIVE}
                    # Test du support du mode Enhanced
                    test_mode_enhanced=$(sudo hdparm -I /dev/${HARD_DRIVE} | grep "supported: enhanced erase")
                    if [ "${test_mode_enhanced}" != "" ] ; then
                        ENHANCED_SECURITY_ERASE="-enhanced"
                        echo "# Erasing mode enhanced ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                        echo ""
                        echo -e "${GREEN}${message_start_effacement_avance}${NC}"
                    else
                        echo "# Erasing mode simple   ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                        echo ""
                        echo -e "${GREEN}${message_start_effacement}${NC}"
                    fi
                    # Effacement du disque dur avec affichage du temps de l'opération
                    time sudo hdparm --user-master u --security-erase${ENHANCED_SECURITY_ERASE} avenir /dev/${HARD_DRIVE}
                    # Création du fichier de log
                    echo "# Actual state after erasing ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                    sudo hdparm -I /dev/${HARD_DRIVE} | sudo tee -a ${ERASE_LOG} >/dev/null
                    echo ""
                    # Test si le disque SSD ne contient pas données
                    # test_disk_ssd=$(sudo dd if=/dev/${HARD_DRIVE} bs=1M count=5 2> /dev/null)
                    read -r test_disk_ssd < <(sudo dd if=/dev/${HARD_DRIVE} bs=1M count=5 2> /dev/null)
                    echo ""
                    if [ "${test_disk_ssd}" == "" ] ; then
                        echo -e "${GREEN}${message_effacement_ssd_ok}${NC}"
                        echo "# Disk SSD erased ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                        echo "test_disk_ssd=${test_disk_ssd}" | sudo tee -a ${ERASE_LOG} >/dev/null
                    else
                        echo -e "${RED}${message_effacement_ssd_ko}${NC}"
                        echo "# Disk SSD not erased !!! ################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                        echo "test_disk_ssd=${test_disk_ssd}" | sudo tee -a ${ERASE_LOG} >/dev/null
                    fi
                    analyse_disque ${ERASE_LOG}
                    if [ -z ${BEEP_OFF} ] ; then
                        echo -e -n "\a"
                    fi
                    if [ ! -z ${AUTOMATIC_HALT_SSD_OFF} ] ; then
                        echo ""
                         			
                        echo -e -n "${NC}"
                        if [ "$mode_clonage" = "s" ] || [ "$mode_clonage" = "S" ] ; then
                            /home/partimag/clone.sh
                        elif [ "$mode_clonage" = "a" ] || [ "$mode_clonage" = "A" ] ; then
                            /home/partimag/clone.sh -a
                        else
                            shutdown --poweroff now
                        fi
                    else
                        shutdown --poweroff now
                    fi
                    exit 0
                fi
            fi
        fi
        echo "# Script aborted by user ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
        echo -e "${RED}${message_stop_effacement}${NC}"
        echo -e -n "\a"
        echo ""
        echo -e "${ORANGE}${message_pause_script}${NC}"
        read pause
    else
    # SSD frozen ####################################################
        # Création du fichier de log
        echo "# Frozen disk ########################################################################" > ${ERASE_LOG}
        # Disque SSD non NVMe
        if [ "${HARD_DRIVE_NVME}" == "" ] ; then
            sudo hdparm -I /dev/${HARD_DRIVE} | sudo tee -a ${ERASE_LOG} >/dev/null
        else
            echo "" | sudo tee -a ${ERASE_LOG} >/dev/null
            sudo nvme list | sudo tee -a ${ERASE_LOG} >/dev/null
            echo "" | sudo tee -a ${ERASE_LOG} >/dev/null
            sudo nvme id-ctrl -H ${HARD_DRIVE_NVME} | sudo tee -a ${ERASE_LOG} >/dev/null
            echo "" | sudo tee -a ${ERASE_LOG} >/dev/null
        fi
        echo -e "${RED}${message_disque_gele}${NC}"
        echo ""
        echo -e "${ORANGE}${message_mise_veille}${NC}"
        echo -e -n "\a"
        read pause
        # Mise en veille de l'ordinateur pour tenter de débloquer le disque SSD
        echo -n mem | sudo tee /sys/power/state >/dev/null
        # Disque SSD non NVMe
        if [ "${HARD_DRIVE_NVME}" == "" ] ; then
            # Test si le disque n'est pas gelé
            frozen=$(sudo hdparm -I /dev/${HARD_DRIVE} | grep --perl-regex "not\tfrozen")
        else
            # Pour un disque SSD NVMe forcage de not frozen par défaut car impossible de savoir si le disque SSD NVMe est frozen ou pas
            frozen="not frozen"
        fi
        # SSD not frozen  ###############################
        if [ "${frozen}" != "" ] ; then
            # Affiche information fichier de log
            echo ""
            if [ -z ${AUTOMATIC_HALT_SSD_OFF} ] ; then
                echo -e    "${message_info_operation}"
            fi
            echo -e "${message_info_log_avant}"
            echo -e "\"${GREEN}${ERASE_LOG}${NC}\" ${message_info_log_apres}"
            echo ""
            # Demande de confirmation de l'effacement
            echo ""
            
		
            echo -e -n "${NC}"
            if [ "$read_1" = ${CODE_OK_MINUSCULE} ] || [ "$read_1" = ${CODE_OK_MAJUSCULE} ] ; then
               
		
                echo -e -n "${NC}"
                if [ "$read_2" = ${CODE_OK_MINUSCULE} ] || [ "$read_2" =  ${CODE_OK_MAJUSCULE} ] ;  then
                    if [ "$?" -eq 0 ]; then
                        # Création du fichier de log
                        echo "# Disk restarted before erasing ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                        # Disque SSD non NVMe
                        if [ "${HARD_DRIVE_NVME}" == "" ] ; then
                            sudo hdparm -I /dev/${HARD_DRIVE} | sudo tee -a ${ERASE_LOG} >/dev/null
                            # Utilisation d'un mot de passe pour pouvoir effacer le disque dur
                            sudo hdparm --user-master u --security-set-pass avenir /dev/${HARD_DRIVE}
                            # Test du support du mode Enhanced
                            test_mode_enhanced=$(sudo hdparm -I /dev/${HARD_DRIVE} | grep "supported: enhanced erase")
                        else
                            # Test support formatage NVMe sécurisé
                            test_mode_enhanced=$(sudo nvme id-ctrl -H ${HARD_DRIVE_NVME} | grep "Crypto Erase Support")
                        fi
                        if [ "${test_mode_enhanced}" != "" ] ; then
                            ENHANCED_SECURITY_ERASE="-enhanced"
                            echo "# Erasing mode enhanced ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                            echo ""
                            echo -e "${GREEN}${message_start_effacement_avance}${NC}"
                        else
                            echo "# Erasing mode simple   ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                            echo ""
                            echo -e "${GREEN}${message_start_effacement}${NC}"
                        fi
                        # Disque SSD non NVMe
                        if [ "${HARD_DRIVE_NVME}" == "" ] ; then
                            # Effacement du disque SSD avec affichage du temps de l'opération
                            time sudo hdparm --user-master u --security-erase${ENHANCED_SECURITY_ERASE} avenir /dev/${HARD_DRIVE}
                            # Création du fichier de log
                            echo "# Actual state after erasing ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                            sudo hdparm -I /dev/${HARD_DRIVE} | sudo tee -a ${ERASE_LOG} >/dev/null
                        else
                            # Effacement du disque SSD NVMe avec affichage du temps de l'opération
                            if [ "${test_mode_enhanced}" == "" ] ; then
                                time sudo nvme format ${HARD_DRIVE_NVME}
                            else
                                time sudo nvme format ${HARD_DRIVE_NVME} --ses=1
                            fi
                            # Création du fichier de log
                            echo "# Actual state after erasing ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                            echo "" | sudo tee -a ${ERASE_LOG} >/dev/null
                            sudo nvme list | sudo tee -a ${ERASE_LOG} >/dev/null
                            echo "" | sudo tee -a ${ERASE_LOG} >/dev/null
                        fi
                        # Test si le disque SSD ne contient pas données
                        # test_disk_ssd=$(sudo dd if=/dev/${HARD_DRIVE} bs=1M count=5 2> /dev/null)
                        read -r test_disk_ssd < <(sudo dd if=/dev/${HARD_DRIVE} bs=1M count=5 2> /dev/null)
                        echo ""
                        if [ "${test_disk_ssd}" == "" ] ; then
                            echo -e "${GREEN}${message_effacement_ssd_ok}${NC}"
                            echo "# Disk SSD erased ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                            echo "test_disk_ssd=${test_disk_ssd}" | sudo tee -a ${ERASE_LOG} >/dev/null
                        else
                            echo -e "${RED}${message_effacement_ssd_ko}${NC}"
                            echo "# Disk SSD not erased !!! ################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
                            echo "test_disk_ssd=${test_disk_ssd}" | sudo tee -a ${ERASE_LOG} >/dev/null
                        fi
                        analyse_disque ${ERASE_LOG}
                        if [ -z ${BEEP_OFF} ] ; then
                            echo -e -n "\a"
                        fi
                        if [ ! -z ${AUTOMATIC_HALT_SSD_OFF} ] ; then
                            echo ""
                          
                           
                            echo -e -n "${NC}"
                            if [ "$mode_clonage" = "s" ] || [ "$mode_clonage" = "S" ] ; then
                                /home/partimag/clone.sh
                            elif [ "$mode_clonage" = "a" ] || [ "$mode_clonage" = "A" ] ; then
                                /home/partimag/clone.sh -a
                            else
                                shutdown --poweroff now
                            fi
                        else
                            shutdown --poweroff now
                        fi
                        exit 0
                    fi
                fi
            fi
            echo "# Script aborted by user ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
            echo -e "${RED}${message_stop_effacement}${NC}"
            echo -e -n "\a"
            echo ""
            echo -e "${ORANGE}${message_pause_script}${NC}"
            read pause
        else
            echo "# Disk restarted but frozen ########################################################################" | sudo tee -a ${ERASE_LOG} >/dev/null
            echo -e "${RED}${message_effacement_ssd_ko_frozen}${NC}"
            echo -e -n "\a"
            echo ""
            echo -e "${ORANGE}${message_info_disque_ssd}${NC}"
            echo -e "${ORANGE}${message_pause_continue_script}${NC}"
            read pause
            cat ${ERASE_LOG} | more -d
            echo ""
            echo -e "${ORANGE}${message_pause_script}${NC}"
            read pause
        fi
    fi
fi
Code : Tout sélectionner
default vesamenu.c32
timeout 0
prompt 0
MENU COLOR SCREEN      0  #80ffffff #00000000 std
MENU MARGIN 5
 MENU BACKGROUND ocswp.png
# Set the color for unselected menu item and timout message
 MENU COLOR SEL 37;44 #E0FF0000 #00000000 none
 MENU COLOR UNSEL 37;44 #C0FFFFFF #00000000 none
 MENU COLOR HOTKEY 1;37;44 #E0FF0000 #00000000 none
 MENU COLOR HOTSEL 1;7;37;40 #FFFFFF00 #00000000 none
 MENU COLOR TITLE 37;44 #FFFF0000 #00000000 none
 MENU COLOR TIMEOUT_MSG 1;37;40 #c0000090 #00000000 none
 MENU COLOR TIMEOUT 7;32;40 #c0000090 #00000000 none
 MENU COLOR HELP 37;40 #c0FFFFFF #00000000 none
# MENU COLOR SEL 37;44 #E00000FF #00000000 none
# MENU COLOR UNSEL 37;44 #C0000000 #00000000 none
# MENU COLOR HOTKEY 1;37;44 #E0FF0000 #00000000 none
# MENU COLOR HOTSEL 1;7;37;40 #FFFF0000 #00000000 none
# MENU COLOR TITLE 37;44 #FF0000FF #00000000 none
# MENU COLOR TIMEOUT_MSG 1;37;40 #c0000090 #00000000 none
# MENU COLOR TIMEOUT 7;32;40 #c0000090 #00000000 none
# MENU COLOR HELP 37;40 #c0000090 #00000000 none
# Allow client to edit the parameters
ALLOWOPTIONS 1
# simple menu title
MENU TITLE Emmabuntus refurbishing key for cloning
label effacement_DD
  MENU DEFAULT
  MENU LABEL ^BETA Effacement securise, verification de donnees ET installation automatique
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live username=user config components quiet locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount $(blkid | grep IMAGES | cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/erase_clone.sh" ocs_live_extra_param="" ocs_live_batch="no"
  TEXT HELP
  * L'effacement securise du disque, la verification de l'abscence de donnees restantes
  *                   et installation sont entierement automatique
  *ATTENTION Aucune question ne sera posee apres le degel de l'eventuel SSD
  ENDTEXT
label Clonezilla live  
  MENU LABEL Clonezilla live en VGA 800x600
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  TEXT HELP
  * Clonezilla en mode classique est utile si vous voulez realiser
    votre propre clone
  * Clonezilla in classic mode is useful if you want to make your own clone
  ENDTEXT
label reemploi_USB_semiautomatique
  MENU LABEL Installation ^Semi-automatique par clonage
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount $(blkid | grep IMAGES | cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/clone.sh" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  TEXT HELP
  * Le mode semi-automatique vous permet de selectionner un clone lors de
    l'execution du script
  * Remarque : il est pratique pour l'utilisation d'une seule cle de reemploi
    par utilisateur. Si vous voulez utiliser plusieurs cles par utilisateur
    nous vous conseillons le mode automatique pour le reemploi en masse
  ENDTEXT
label reemploi_USB_automatique
  MENU LABEL ^Installation automatique par clonage
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount $(blkid | grep IMAGES | cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/clone.sh -a" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  TEXT HELP
  * Le mode automatique a besoin du fichier clone.ini pour definir les clones
    a utiliser par defaut dans ce mode
  * Attention : il n'y a aucune confirmation lors du lancement de cette ligne
  ENDTEXT
label sauvegarde_clone_USB
  MENU LABEL Sauvegarde du clone sur la cle de reemploi
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount $(blkid | grep IMAGES | cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/save_clone.sh" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  TEXT HELP
  * Sauvegarde le disque selectionne vers la cle de reemploi
  * Le clone aura le nom date-img_clone
  ENDTEXT
label effacement_DD
  MENU LABEL ^Effacement securise du disque dur cible
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live username=user config components quiet locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount $(blkid | grep IMAGES | cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/erase.sh" ocs_live_extra_param="" ocs_live_batch="no"
  TEXT HELP
  * Effacement securise du disque selectionne grace Nwipe, HDparm ou NVMe-cli
  * L'utilisateur devra choisir le mode d'effacement adapte
  ENDTEXT
label boite_outils
  MENU LABEL ^Boite a outils de l'installateur
  kernel /live/vmlinuz
  append initrd=/live/initrd.img boot=live username=user config components quiet locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount $(blkid | grep IMAGES | cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/toolbox.sh" ocs_live_extra_param="" ocs_live_batch="no"
  TEXT HELP
  * Ensemble d'outils permettant a l'installateur de tester differents
  * composants de l'ordinateur : memoire, disque, etc
  ENDTEXT
Code : Tout sélectionner
#
set pref=/boot/grub
set default="0"
# Load graphics (only corresponding ones will be found)
# (U)EFI
insmod efi_gop
insmod efi_uga
# legacy BIOS
# insmod vbe
if loadfont $pref/unicode.pf2; then
  set gfxmode=auto
  insmod gfxterm
  terminal_output gfxterm
fi
set timeout="-1"
set hidden_timeout_quiet=false
insmod png
if background_image $pref/ocswp-grub2.png; then
  set color_normal=white/black
  set color_highlight=red/black
else
  set color_normal=cyan/blue
  set color_highlight=white/blue
fi
title-text: "Emmabuntüs refurbishing key for cloning"
title-color: "white"
title-font: "DejaVu Sans Bold 14"
terminal-font:  "Unifont Regular 16"
# Decide if the commands: linux/initrd (default) or linuxefi/initrdefi
set linux_cmd=linux
set initrd_cmd=initrd
export linux_cmd initrd_cmd
if [ "${grub_platform}" = "efi" -a -e "/amd64-release.txt" ]; then
  # Only amd64 release we switch to linuxefi/initrdefi since it works better with security boot (shim)
  set linux_cmd=linuxefi
  set initrd_cmd=initrdefi
fi
insmod play
#play 960 440 1 0 4 440 1
# Since no network setting in the squashfs image, therefore if ip=, the network is disabled.
menuentry "[BETA]Effacement des donnees+installation auto " {
  search --set -f /live/vmlinuz
  $linux_cmd /live/vmlinuz boot=live username=user config components quiet locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount \$(blkid \| grep IMAGES \| cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/erase_clone.sh" ocs_live_extra_param="" ocs_live_batch="no"
  $initrd_cmd /live/initrd.img
}
menuentry "Clonezilla live en VGA 800x600" --id live-default {
  search --set -f /live/vmlinuz
  $linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  $initrd_cmd /live/initrd.img
}
menuentry --hotkey=s "Installation Semi-automatique par clonage (Raccourci=S)" {
  search --set -f /live/vmlinuz
  $linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet splash noswap edd=on nomodeset enforcing=0 locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount \$(blkid \| grep IMAGES \| cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/clone.sh" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  $initrd_cmd /live/initrd.img
}
menuentry --hotkey=i "Installation automatique par clonage (Raccourci=I)" {
  search --set -f /live/vmlinuz
  $linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet splash noswap edd=on nomodeset enforcing=0 locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount \$(blkid \| grep IMAGES \| cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/clone.sh -a" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  $initrd_cmd /live/initrd.img
}
menuentry "[BETA]Effacement+install auto " {
  search --set -f /live/vmlinuz
  $linux_cmd /live/vmlinuz boot=live username=user config components quiet locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount \$(blkid \| grep IMAGES \| cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/erase_clone.sh" ocs_live_extra_param="" ocs_live_batch="no"
  $initrd_cmd /live/initrd.img
}
menuentry "Effacement sécurisé du disque dur cible " {
  search --set -f /live/vmlinuz
  $linux_cmd /live/vmlinuz boot=live username=user config components quiet locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount \$(blkid \| grep IMAGES \| cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/erase.sh" ocs_live_extra_param="" ocs_live_batch="no"
  $initrd_cmd /live/initrd.img
}
menuentry "Sauvegarde du clone sur la clé de réemploi" {
  search --set -f /live/vmlinuz
  $linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet splash noswap edd=on nomodeset enforcing=0 locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount \$(blkid \| grep IMAGES \| cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/save_clone.sh" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0  splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
  $initrd_cmd /live/initrd.img
}
menuentry --hotkey=b "Boîte à outils de l’installateur (Raccourci=B)" {
  search --set -f /live/vmlinuz
  $linux_cmd /live/vmlinuz boot=live username=user config components quiet locales=fr_FR.UTF-8 keyboard-layouts=fr ocs_prerun=\"mount \$(blkid \| grep IMAGES \| cut -d : -f1) /home/partimag/\"  ocs_live_run="/home/partimag/toolbox.sh" ocs_live_extra_param="" ocs_live_batch="no"
  $initrd_cmd /live/initrd.img
}
menuentry "Information sur la clé de réemploi d’Emmabuntüs" {
  echo
  echo Clé USB de réemploi par Emmabuntüs (https://emmabuntus.org)
  echo Les sources sont disponibles sur http://usb-reemploi.emmabuntus.org
  echo
  echo Mode d’utilisation :
  echo \* Le mode Effacement des donnees+installation auto procède à l'effacement des données, 
  echo \ \ la vérification de l'absence de données et à l'installation.
  echo \ \ ATTENTION aucune question n'est posée après le dégel dans le cas du SSD
  echo
  echo \* Clonezilla live vous permet d’utiliser Clonezilla en mode classique, afin que vous puissiez réaliser votre propre clone
  echo
  echo \* Le mode semi-automatique vous permet de sélectionner un clone lors de l’exécution du script
  echo \ \ Remarque : il est pratique pour l’utilisation d’une seule clé de réemploi par utilisateur.
  echo \ \ Si vous voulez utiliser plusieurs clés par utilisateur nous vous conseillons le mode automatique pour le réemploi en masse
  echo
  echo \* Le mode automatique a besoin du fichier clone.ini pour définir les clones utilisés par défaut.
  echo \ \ Attention : il n’y a aucune confirmation lors du lancement de cette ligne
  echo
  echo \* Le mode sauvegarde vous permet de copier en automatique le contenu du disque dur de référence sur la clé de réemploi
  echo \ \ Remarque : dans le fichier save_clone.sh vous pouvez personnaliser certaines options pour la copie, voir l’entête.
  echo \ \ Le clone se nommera DATE-img_clone_UEFI ou DATE-img_clone_UEFI_SB en fonction si l’ordinateur est en mode
  echo \ \ UEFI ou UEFI avec Secureboot
  echo
  echo \* Le mode d’effacement vous permet d’effacer de façon sûre le disque dur cible
  echo \ \ Remarque : L’utilisateur devra choisir le mode d’effacement adapté à son niveau de protection des données
  echo \ \ En fonction des modes choisis l’effacement des données sera plus ou moins long
  echo
  echo \* La boîte à outils est un ensemble d’outils permettant à l’installateur de tester
  echo \ \ différents composants de l’ordinateur : mémoire, disque, etc
  echo
  echo Des touches de raccourcis sont disponibles :
  echo \ S : Lancement du clonage en mode semi-automatique en français
  echo \ I : Lancement du clonage en mode automatique en français
  echo \ K : Lancement du clonage en mode semi-automatique en anglais
  echo \ R : Lancement du clonage en mode automatique en anglais
  echo
  echo Appuyez sur la touche \"Échappement\" pour revenir au menu précédant
  echo
  sleep --verbose --interruptible 30
}
menuentry "Information about the Emmabuntüs refurbishing key "{
  echo
  echo USB stick for refurbishing by Emmabuntüs (https://emmabuntus.org)
  echo Sources are available at http://usb-reemploi.emmabuntus.org
  echo
  echo How to use it:
  echo \* Clonezilla live allows you to use Clonezilla in classic mode, so that you can make your own clone
  echo
  echo \* Semi-automatic mode allows you to select a clone when running the script
  echo \ \ Note: It is convenient when using only one refurbishing key per user.
  echo \ \ If you want to use several keys per user, we recommend you use the automatic mode which is tailored for mass refurbishing.
  echo
  echo \* Automatic mode needs the clone.ini file to define the clones to be used by the default.
  echo \ \ Warning: there is no confirmation when launching this line
  echo
  echo \* The save mode allows you to automatically copy the contents of the reference hard disk to the refurbishing key
  echo \ \ Note: in the save_clone.sh file you can customize some options for the copy, see the header.
  echo \ \ The clone will be named DATE-img_clone_UEFI or DATE-img_clone_UEFI_SB depending on whether the computer is in UEFI or UEFI with Secureboot mode
  echo
  echo \* Erase mode allows you to securely erase the target hard drive
  echo \ \ Note: the user must choose the erasing mode adapted to his level of data protection
  echo \ \ Depending on the modes chosen, the erasing of data will take longer or shorter
  echo
  echo \* Tool box is a set of tools allowing the installer to test various computer components: RAM, disk, etc
  echo
  echo Shortcut keys are available:
  echo \ S : Launch the cloning in semi-automatic mode, in French language
  echo \ I : Launch the cloning in automatic mode, in French language
  echo \ K : Launch the cloning in semi-automatic mode, in English language
  echo \ R : Launch the cloning in automatic mode, in English language
  echo
  echo Press the \"Escape\" key to return to the previous menu
  echo
  sleep --verbose --interruptible 30
}

 )
 )
 (et si ça passe pas y a toujours moyen de contourner comme on en avait parlé avec un reboot)
 (et si ça passe pas y a toujours moyen de contourner comme on en avait parlé avec un reboot) ) pour éventuellement touché patrick d'emmabuntu
  ) pour éventuellement touché patrick d'emmabuntu
