Perché i sistemi generalmente disabilitano la virtualizzazione per impostazione predefinita nelle impostazioni del BIOS?


81

Devo ancora vedere un sistema la cui configurazione predefinita abilita MMU e virtualizzazione I / O diretta. Spesso ciò richiede il riavvio e l'accesso al BIOS per abilitarlo, se lo si desidera, ad esempio il supporto a 64 bit sulle VM.

Esiste una sorta di sostanziale sovraccarico del processore che si verifica se questo è attivato e non stai utilizzando la virtualizzazione? In caso contrario, qual è la ragione per cui è disattivato per impostazione predefinita?

Risposte:


52

Qualche tempo fa c'erano alcuni rootkit di prova come Blue Pill che potevano possedere un sistema con VT acceso. Dopo questa scoperta, la maggior parte dei fornitori ha iniziato a spedire le proprie unità con VT disabilitato come precauzione di sicurezza generale.


7
+1 Le persone che usano VT su un desktop / laptop sono l'eccezione. Quella macchina è suscettibile a virii è la regola.
Chris S,

Improvvisamente sto ripensando a questa nuova potente e potente macchina di sviluppo che ho creato che esegue un sacco di macchine virtuali con la virtualizzazione dell'hardware abilitata. Non ho bisogno della virtualizzazione, ma immagino che mi farebbe risparmiare tempo a lungo termine senza doverlo salvare di nuovo ogni paio di mesi. Quanto è grande questo problema?
Paperjam,

2
Praticamente inesistente (a partire da questo commento). Blue Pill è stata una prova del concetto. Non sono a conoscenza di nulla di simile in natura.
MDMarra,

1
Qui è la valutazione di Microsoft del problema della sicurezza, compresa la raccomandazione di passare VT off di default sui sistemi client di ruolo: msdn.microsoft.com/en-us/windows/hardware/gg463498.aspx
Jpsy

3
Il documento di Microsoft non è più disponibile sul loro sito Web, ma è possibile leggerlo su Internet Archive se lo si desidera.
Josh Kelley,

5

Tutti i server blade che acquistiamo hanno la virtualizzazione abilitata per impostazione predefinita. Potrebbe essere perché il nostro fornitore ha preso una decisione commerciale per farlo risparmiando così tante chiamate di supporto.

Non è disabilitato a causa di un errore del processore, ma a seconda di cosa viene utilizzato. Potrebbe essere disattivato per impostazione predefinita, poiché l'abilitazione di queste funzionalità potrebbe influire sull'accesso alle periferiche.


4
Quale accesso periferico può avere questo impatto? Non l'ho mai sentito prima.
MDMarra,

Stai parlando di VT-d quando hai menzionato l'accesso periferico?
Zoredache,

No, è stato MMU ... Ricordo che qualcuno ci ha parlato di recente. Qualcosa a che fare con Rasberry Pi.
Sirch,

2

Si noti che secondo questo altro thread, sembra anche avere un impatto sulle prestazioni https://superuser.com/questions/545101/why-does-hp-recommend-that-i-keep-hardware-virtualization-off

Mi sembra pertinente, poiché un insieme ridotto di istruzioni è più efficiente. Non avrei mai pensato che cambiare un'opzione del BIOS potesse influenzare direttamente questo.

Non ho idea se l'impatto sia significativo o meno, ma considerando questo e il potenziale difetto di sicurezza, avere una funzionalità così raramente disabilitata per impostazione predefinita mi sembra una buona scelta.


2
L'angolo di efficienza dalla risposta collegata non ha senso. La cache delle istruzioni contiene le istruzioni di un programma software. Se il programma non utilizza le istruzioni di virtualizzazione, la cache non ha alcun effetto. Inoltre, non è stato riferito che esiste un'unità di esecuzione separata che gestisce la virtualizzazione né una parte del decodificatore di istruzione che può essere aggirata, quindi non ci dovrebbero essere differenze di efficienza in entrambi i modi.
Nimrod,

1

un altro motivo è che la maggior parte delle funzioni del kernel dell'utente (come gettimeofday) vengono spostate in VDSO.

a volte sotto virtualizzazione questo percorso rapido non può essere abilitato.

quindi il sistema non può:

ottenere la rapida esecuzione di queste funzioni

evitare costosi passaggi da userland a kernel e ritorno



0

Oltre ai problemi di sicurezza sollevati nella risposta di @MDMarra, dovresti considerare due punti aggiuntivi:

  1. qualsiasi funzionalità abilitata e opzionale ha una piccola probabilità di avere interazioni brutte e inaspettate con altre funzionalità, che richiedono una convalida aggiuntiva. I produttori di PC odiano spendere risorse per funzionalità utilizzate raramente e la virtualizzazione lato client è una di queste.

  2. Sospetto fortemente che, a causa del numero 1, il BLOB firmware / BIOS client Intel di base abbia VT disabilitato. Pertanto, qualsiasi fornitore che spedisce un client abilitato per VT deve personalizzare tale opzione durante la preparazione del proprio firmware.

Detto questo, siamo ora nel 2019; Vedo più client con VT abilitato per impostazione predefinita. I server sono una questione completamente diversa: non solo ho sempre trovato VT abilitato, ma anche VT-d è spesso attivo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.