PDA

Visualizza versione completa : File comandi in Linux


retalv
18-01-2017, 04.25.53
Prima di andare a chiedere da altre parti, provo qui...

Vorrei usare un file comandi in Linux che mi permetta di effettuare le operazioni che seguono, ma non sapendone mezza sui comandi Linux ci metterei mesi prima di imparare, quindi se ci fosse un'anima Pia che ne sa più di me...

Configurare la tabella SLIC in VirtualBox sotto Linux per attivare un sistema Windows OEM (Win7)

Per rendere automaticamente attive le installazioni virtuali di Windows 7 su host Linux, dovrà essere usata l'immagine ISO di Win7 per i sistemi ASUS e la relativa SLICTable: copiare quindi la cartella SLIC e il suo contenuto alla locazione [/home/<nomeutente>/VirtualBox VMs] (se la cartella di default [VirtualBox VMs] non esiste significa che o non è stata mai creata una macchina virtuale (ma la si può tranquillamente creare manualmente) o che è stata arbitrariamente cambiata la locazione di default delle macchine virtuali in VirtualBox) ottenendo [/home/<nomeutente>/VirtualBox VMs/SLIC] contenente “ASUS21.BIN”.

Terminata la configurazione generica della macchina virtuale e prima dell’installazione del sistema operativo, è conveniente configurare la SLICTable: è necessario usare la procedura manuale (non sono abbastanza pratico per creare un file di comandi funzionante in Linux che mi permetta di selezionare il file della slictable pre posizionato nella cartella delle VM nella cartella SLIC, quindi fare l'analisi delle macchine virtuali presenti nella cartella [VirtualBox VMs] e dopo averne selezionata una eseguire... ) secondo la seguente maschera di comando da digitare in una console…

VBoxManage setextradata "nome VM" "VBoxInternal/Devices/acpi/0/Config/SLICTable" "/home/<nomeutente>/VirtualBox VMs/SLIC/ASUS21.BIN"

…dove "nome VM" sarà il nome esatto (maiuscole-minuscole comprese) della macchina virtuale che deve essere configurata e <nomeutente> l’identificativo dell’utenza corrente.

Il percorso "/home/<nomeutente>/VirtualBox VMs/SLIC/ASUS21.BIN" è esattamente quello creato in precedenza: prima della configurazione della prima macchina virtuale assicurarsi che contenga il file “ASUS21.BIN”.


Dalla rete ho scopiazzato snellendolo il file comandi che segue e mi accontenterei pure, ma ha due problemi: non funziona (va in errore) e non so come inserire dinamicamente l'identificativo utente...

#!/bin/sh

SLIC_LOCATION="/home/anonymous/VirtualBox VMs/SLIC"

VM_NAME="$1"

if ([ -n "$VM_NAME" ]);then
VM_IN_LIST=`VBoxManage list vms |grep "$VM_NAME"`
if ([ -n "$VM_IN_LIST" ]);then
VM_BASE_DIR=`VBoxManage showvminfo "$VM_NAME" |grep "Config file:"|sed 's/Config file://'|sed 's/^[ \t]*//'| grep -o '.*/'`
SLIC_LOCAL_LOCATION="${VM_BASE_DIR%/}/ASUS21.BIN"

if [ ! -e "$SLIC_LOCATION" ];then
echo "No SLIC table found"
else
if [ -f "$SLIC_LOCATION" ];then
echo "SLIC exist, copy to $SLIC_LOCAL_LOCATION"
sudo dd if="$SLIC_LOCATION" of="$SLIC_LOCAL_LOCATION"
sudo chown $USER: "$SLIC_LOCAL_LOCATION"
VBoxManage setextradata "$VM_NAME" "VBoxInternal/Devices/acpi/0/Config/SLICTable" "$SLIC_LOCAL_LOCATION"
fi
fi

else

echo "VM not found"
fi
else
echo "Use VM_ACPI.sh \"VM to modify\""
VBoxManage list vms
fi