<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>qemu &amp;mdash; Cyberdyne Systems</title>
    <link>https://noblogo.org/aytin/tag:qemu</link>
    <description>&#34;Fare o non fare. Non c&#39;è provare!&#34;</description>
    <pubDate>Thu, 30 Apr 2026 11:27:57 +0000</pubDate>
    <item>
      <title>Pillole di Virtualbox</title>
      <link>https://noblogo.org/aytin/pillole-di-virtualbox</link>
      <description>&lt;![CDATA[virtualbox&#xA;VirtualBox è una buona soluzione di virtualizzazione, comoda per tirare su velocemente e con poco sforzo, piccoli laboratori di test anche relativamente articolati (cfr.  fwknop: proteggere servizi con Single Packet Authorization (SPA)).&#xA;!--more--&#xA;A differenza di kvm+qemu, VirtualBox è un hosted hypervisor (Tipo-2), meno efficiente ma con un&#39;ottima cli che viene rimappata integralmente dalla gui. È uno di quei rari casi in cui l&#39;uso di una gui non comporta perdita di funzionalità.&#xA;&#xA;La cli di VirtualBox e ben strutturata e ordinata e si basa fondamentalmente sul tool VBoxManage. VBoxManage a sua volta ha una lista infinita di sottocomandi con i quali coprono ogni aspetto della manipolazione di una vm, dalla sua creazione alla gestione di tutti i suoi dispositivi, passando per clonazion, snapshot, encrypting ecc.&#xA;&#xA;Di seguito, un elenco, assolutamente non esaustivo, dei principali comandi utilizzabili per avere informazioni sull&#39;host o per agire in maniera elementare sulle vm (stop, start, savestate ecc..)&#xA;&#xA;Host info&#xA;Elenca tutte le vm dell&#39;host:&#xA;VBoxManage list vms&#xA;Elenca le vm in esecuzione:&#xA;VBoxManage list runningvms&#xA;Elenca le extension pack installate:&#xA;VBoxManage list extpacks&#xA;Elenca le info sull&#39;host:&#xA;VBoxManage list hostinfo&#xA;Elenca le info dell&#39;hypervisor:&#xA;VBoxManage list systemproperties&#xA;Installa l&#39;extension pack scaricato sull&#39;host:&#xA;VBoxManage extpack install --accept-license=sha256 /tmp/OracleVirtualBoxExtensionPack-7.1.6.vbox-extpack&#xA;VM operations&#xA;Mostra le info della vm:&#xA;VBoxManage showvminfo &#34;debian&#34;&#xA;Restituisce lo stato della vm:&#xA;VBoxManage controlvm &#34;debian&#34; status&#xA;Pause vm:&#xA;VBoxManage controlvm &#34;debian&#34; pause&#xA;Resume vm:&#xA;VBoxManage controlvm &#34;debian&#34; resume&#xA;Restart vm:&#xA;VBoxManage controlvm &#34;debian&#34; reboot&#xA;Spegne la vm:&#xA;VBoxManage controlvm &#34;debian&#34; poweroff&#xA;Greaceful shutdown:&#xA;VBoxManage controlvm &#34;debian&#34; acpipowerbutton&#xA;Hibernate:&#xA;VBoxManage controlvm savestate &#34;debian&#34;&#xA;Avvio &#34;headless&#34; (senza finestra) della vm:&#xA;VBoxManage startvm -t headless &#34;debian&#34;&#xA;Avvio &#34;headless&#34; in modalità debug:&#xA;VBoxHeadless -s Debian&#xA;Ora vediamo qualcosa di leggermente più complesso come la creazione di una vm.&#xA;Esempio&#xA;Passo 1: Creare una vm con debian, disco da 20GB , scheda di rete nat , 1 cpu e 1 GB di ram.&#xA;Passo 2: Clonazione della vm e aggiunta di una interfaccia host-only&#xA;Creazion VM&#xA;VBoxManage createvm --name &#34;myDebian&#34; --ostype &#34;Debian1264&#34; --register&#xA;&#xA;Configurazione ram e cpu&#xA;VBoxManage modifyvm &#34;myDebian&#34; --memory 512 --cpus 1&#xA;&#xA;Creazione HD da 20GB&#xA;VBoxManage createhd --filename &#34;~/VirtualBox VMs/myDebian/myDebian.vdi&#34; --size 20000 --format VDI&#xA;&#xA;Creazione e attach del controller SATA&#xA;VBoxManage storagectl &#34;myDebian&#34; --name &#34;SATA Controller&#34; --add sata --controller IntelAhci&#xA;VBoxManage storageattach &#34;myDebian&#34; --storagectl &#34;SATA Controller&#34; --port 0 --device 0 --type hdd --medium &#34;~/VirtualBox VMs/myDebian/myDebian.vdi&#34;&#xA;&#xA;Configurazione rete (NAT)&#xA;VBoxManage modifyvm &#34;myDebian&#34; --nic1 nat&#xA;&#xA;Aggiunta di un lettore CD per l&#39;installer su iso&#xA;VBoxManage storagectl &#34;myDebian&#34; --name &#34;IDE Controller&#34; --add ide&#xA;VBoxManage storageattach &#34;myDebian&#34; --storagectl &#34;IDE Controller&#34; --port 0 --device 0 --type dvddrive --medium &#34;~/VirtualBox VMs/iso/debian-12.8.0-amd64-netinst.iso&#34;&#xA;&#xA;Start VM&#xA;VBoxManage startvm &#34;myDebian&#34; -t headless&#xA;E procedo con l&#39;installazione.&#xA;Una volta finito, posso clonarla aggiungendo la seconda interfaccia di rete.&#xA;Clona la VM in modo che gli UUID di tutti gli oggetti clonati siano diversi&#xA;VBoxManage clonevm &#34;myDebian&#34; --name &#34;myDebianclone&#34; --register --mode all&#xA;&#xA;Aggiungo una scheda di rete &#34;Solo Host&#34;&#xA;VBoxManage hostonlyif create&#xA;&#xA;Configuro la rete &#34;Solo Host&#34;&#xA;VBoxManage modifyvm &#34;myDebian_clone&#34; --nic2 hostonly --hostonlyadapter2 &#34;vboxnet0&#34;&#xA;Si può capire quanto sia facile a questo punto &#34;codificare&#34; la creazione/gestione di una o più vm.&#xA;&#xA;Talmente facile che approdare ad un paradigma di tipo IAC (Infrastructure As Code) anche con VirtualBox non sembra così irrealizzabile.&#xA;&#xA;Qualcuno ha detto vagrant?&#xA;&#xA;#virtualbox #vm #hypervisor #kvm #qemu #vagrant&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://pixelfed.uno/storage/m/_v2/489827599091373610/549719332-a3f277/mSnINGTxniY3/6Zac1G8SS9B2Wtfo8CBBcAhimiCBIRYt07iuFA8P.png" alt="virtualbox">
VirtualBox è una buona soluzione di virtualizzazione, comoda per tirare su velocemente e con poco sforzo, piccoli laboratori di test anche relativamente articolati (cfr.  <a href="https://noblogo.org/aytin/fwknop-proteggere-servizi-con-single-packet-authorization-spa" rel="nofollow">fwknop: proteggere servizi con Single Packet Authorization (SPA)</a>).

A differenza di <strong>kvm+qemu</strong>, VirtualBox è un <strong>hosted hypervisor</strong> (<strong>Tipo-2</strong>), meno efficiente ma con un&#39;ottima cli che viene rimappata integralmente dalla gui. È uno di quei rari casi in cui l&#39;uso di una gui non comporta perdita di funzionalità.</p>

<p>La cli di VirtualBox e ben strutturata e ordinata e si basa fondamentalmente sul tool <code>VBoxManage</code>. <code>VBoxManage</code> a sua volta ha una lista infinita di <strong>sottocomandi</strong> con i quali coprono ogni aspetto della manipolazione di una vm, dalla sua creazione alla gestione di tutti i suoi dispositivi, passando per clonazion, snapshot, encrypting ecc.</p>

<p>Di seguito, un elenco, assolutamente non esaustivo, dei principali comandi utilizzabili per avere informazioni sull&#39;host o per agire in maniera elementare sulle vm (stop, start, savestate ecc..)</p>

<h2 id="host-info">Host info</h2>

<p>Elenca tutte le vm dell&#39;host:</p>

<pre><code class="language-bash">VBoxManage list vms
</code></pre>

<p>Elenca le vm in esecuzione:</p>

<pre><code class="language-bash">VBoxManage list runningvms
</code></pre>

<p>Elenca le extension pack installate:</p>

<pre><code class="language-bash">VBoxManage list extpacks
</code></pre>

<p>Elenca le info sull&#39;host:</p>

<pre><code class="language-bash">VBoxManage list hostinfo
</code></pre>

<p>Elenca le info dell&#39;hypervisor:</p>

<pre><code class="language-bash">VBoxManage list systemproperties
</code></pre>

<p>Installa l&#39;extension pack scaricato sull&#39;host:</p>

<pre><code class="language-bash">VBoxManage extpack install --accept-license=sha256 /tmp/Oracle_VirtualBox_Extension_Pack-7.1.6.vbox-extpack
</code></pre>

<h2 id="vm-operations">VM operations</h2>

<p>Mostra le info della vm:</p>

<pre><code class="language-bash">VBoxManage showvminfo &#34;debian&#34;
</code></pre>

<p>Restituisce lo stato della vm:</p>

<pre><code class="language-bash">VBoxManage controlvm &#34;debian&#34; status
</code></pre>

<p>Pause vm:</p>

<pre><code class="language-bash">VBoxManage controlvm &#34;debian&#34; pause
</code></pre>

<p>Resume vm:</p>

<pre><code class="language-bash">VBoxManage controlvm &#34;debian&#34; resume
</code></pre>

<p>Restart vm:</p>

<pre><code class="language-bash">VBoxManage controlvm &#34;debian&#34; reboot
</code></pre>

<p>Spegne la vm:</p>

<pre><code class="language-bash">VBoxManage controlvm &#34;debian&#34; poweroff
</code></pre>

<p>Greaceful shutdown:</p>

<pre><code class="language-bash">VBoxManage controlvm &#34;debian&#34; acpipowerbutton
</code></pre>

<p>Hibernate:</p>

<pre><code class="language-bash">VBoxManage controlvm savestate &#34;debian&#34;
</code></pre>

<p>Avvio “headless” (senza finestra) della vm:</p>

<pre><code class="language-bash">VBoxManage startvm -t headless &#34;debian&#34;
</code></pre>

<p>Avvio “headless” in modalità debug:</p>

<pre><code class="language-bash">VBoxHeadless -s Debian
</code></pre>

<p>Ora vediamo qualcosa di leggermente più complesso come la <strong>creazione di una vm</strong>.</p>

<h2 id="esempio">Esempio</h2>

<p><strong>Passo 1:</strong> Creare una vm con debian, disco da 20GB , scheda di rete nat , 1 cpu e 1 GB di ram.
<strong>Passo 2:</strong> Clonazione della vm e aggiunta di una interfaccia host-only</p>

<pre><code class="language-bash"># Creazion VM
VBoxManage createvm --name &#34;myDebian&#34; --ostype &#34;Debian12_64&#34; --register

# Configurazione ram e cpu
VBoxManage modifyvm &#34;myDebian&#34; --memory 512 --cpus 1

# Creazione HD da 20GB
VBoxManage createhd --filename &#34;~/VirtualBox VMs/myDebian/myDebian.vdi&#34; --size 20000 --format VDI

# Creazione e attach del controller SATA
VBoxManage storagectl &#34;myDebian&#34; --name &#34;SATA Controller&#34; --add sata --controller IntelAhci
VBoxManage storageattach &#34;myDebian&#34; --storagectl &#34;SATA Controller&#34; --port 0 --device 0 --type hdd --medium &#34;~/VirtualBox VMs/myDebian/myDebian.vdi&#34;

# Configurazione rete (NAT)
VBoxManage modifyvm &#34;myDebian&#34; --nic1 nat

# Aggiunta di un lettore CD per l&#39;installer su iso
VBoxManage storagectl &#34;myDebian&#34; --name &#34;IDE Controller&#34; --add ide
VBoxManage storageattach &#34;myDebian&#34; --storagectl &#34;IDE Controller&#34; --port 0 --device 0 --type dvddrive --medium &#34;~/VirtualBox VMs/iso/debian-12.8.0-amd64-netinst.iso&#34;

# Start VM
VBoxManage startvm &#34;myDebian&#34; -t headless
</code></pre>

<p>E procedo con l&#39;installazione.
Una volta finito, posso clonarla aggiungendo la seconda interfaccia di rete.</p>

<pre><code class="language-bash"># Clona la VM in modo che gli UUID di tutti gli oggetti clonati siano diversi
VBoxManage clonevm &#34;myDebian&#34; --name &#34;myDebian_clone&#34; --register --mode all

# Aggiungo una scheda di rete &#34;Solo Host&#34;
VBoxManage hostonlyif create

# Configuro la rete &#34;Solo Host&#34;
VBoxManage modifyvm &#34;myDebian_clone&#34; --nic2 hostonly --hostonlyadapter2 &#34;vboxnet0&#34;
</code></pre>

<p>Si può capire quanto sia facile a questo punto “codificare” la creazione/gestione di una o più vm.</p>

<p>Talmente facile che approdare ad un paradigma di tipo <strong>IAC</strong> (<strong>I</strong>nfrastructure <strong>A</strong>s <strong>C</strong>ode) anche con VirtualBox non sembra così irrealizzabile.</p>

<p>Qualcuno ha detto vagrant?</p>

<p><a href="/aytin/tag:virtualbox" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">virtualbox</span></a> <a href="/aytin/tag:vm" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">vm</span></a> <a href="/aytin/tag:hypervisor" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">hypervisor</span></a> <a href="/aytin/tag:kvm" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kvm</span></a> <a href="/aytin/tag:qemu" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">qemu</span></a> <a href="/aytin/tag:vagrant" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">vagrant</span></a></p>
]]></content:encoded>
      <guid>https://noblogo.org/aytin/pillole-di-virtualbox</guid>
      <pubDate>Sat, 01 Mar 2025 17:45:03 +0000</pubDate>
    </item>
  </channel>
</rss>