Discussione: File comandi in Linux
Visualizza messaggio singolo
Vecchio 18-01-2017, 04.25.53   #1
retalv
Forum supporter
WT Expert
 
L'avatar di retalv
 
Registrato: 13-03-2005
Loc.: Ultima stella a destra
Messaggi: 2.790
retalv è un gioiello raroretalv è un gioiello raroretalv è un gioiello raroretalv è un gioiello raro
File comandi in Linux

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...

Codice:
#!/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
retalv non è collegato   Rispondi citando