È possibile eseguire il dual boot * e * virtualizzare la stessa unità fisica contenente Windows 10?


11

Uso Linux come driver quotidiano e ho appena installato Windows 10 su un nuovo disco fisico nel mio PC per il doppio avvio. Per un po ', ho usato Windows 7 attraverso un'immagine VirtualBox che ho montato su iSCSI 1 .

Ora ho due diversi ambienti Windows ed è molto frustrante. Mi piacerebbe abbandonare la VM di Windows 7 e accedere all'installazione di Windows 10 direttamente tramite VirtualBox per comodità, ma senza perdere la possibilità di scendere al doppio avvio quando ho bisogno di prestazioni raw-metal.

È possibile avviare un'installazione esistente di Windows 10 su supporti fisici dedicati (SSD SATA3 interno) tramite VirtualBox senza perdere anche la possibilità di eseguire il dual boot?

Se rende le cose più complicate (o impossibili), vale la pena notare che l'SSD di Windows 10 è protetto con FDE tramite VeraCrypt.


1
Mi piacerebbe se fosse possibile, ma non ho ancora trovato un modo. A parte il problema di eseguire una VM con un disco fisico, ci sono due aspetti del passaggio tra avvio rigido e virtuale. (1) Ci sarà una grande riconfigurazione del driver ogni volta che cambi ambiente di esecuzione. (2) Come corollario, Windows probabilmente avrà bisogno di riattivare la licenza su ogni switch: se ciò è possibile, la licenza quasi sicuramente si lamenterà dopo un paio di riattivazioni. Quello che puoi fare è creare un disco virtuale da un'installazione fisica, ma la licenza sarà di nuovo un problema probabile.
AFH,

Puoi fare meglio a considerare di eseguire l'installazione di Linux in una macchina virtuale Windows: almeno eviterà difficoltà di licenza.
AFH,

@AFH Il problema della licenza può essere risolto clonando l'uuid hardware host e gli ID seriali del controller del disco nella VM. Consente di eseguire Windows una volta dalla VM e una volta direttamente (anche se la licenza m $ non consente ancora di utilizzare più installazioni contemporaneamente con lo stesso codice prodotto, quindi può essere eseguito esclusivamente nella configurazione richiesta).
Peter - Ripristina Monica il

@peterh - Grazie: non sapevo che la clonazione UUID fosse sufficiente per le licenze di Windows. Rimane il problema di riconfigurazione del driver al passaggio. Sperimenterò la tua risposta quando avrò tempo.
AFH,

Risposte:


7

Sì, è possibile.

  1. Configura la virtualbox per utilizzare il tuo disco fisico. È un po 'rischioso, perché il guest VM vedrà direttamente il tuo disco host. Dettagli qui .
  2. Dai accesso diretto a te / scrittura a te stesso sul tuo disco fisico ( setfacl -m u:yourusername:rw /dev/sda)
  3. Aggiorna la tua virtualbox VM per utilizzare lo stesso uuid di sistema del tuo host ( dmidecode -s system-uuidmostra il tuo uuid di sistema vboxmanage modifyvm your-vm-name --hardwareuuid <your-hardware-uuid>). Potrebbe essere necessario clonare anche gli uuidi del controller di unità ( lsblk --nodeps --no name,serialmostra gli ID seriali del tuo host. Non ho avuto bisogno di clonarli nella mia virtualbox, ma potrebbe essere necessario. Probabilmente qualche vboxmanage modifyvmcomando complicato lo fa, o devi modificare il vm config xml manualmente.
  4. Prova a configurare gli stessi tipi di controller disco e dvd nella VM dell'host (se l'host è basato su SATA, usa controller virtuali SATA, se è basato su IDE, usa quelli IDE, ecc.).

Esiste un altro pericolo: se si avvia direttamente in una macchina virtuale l'unità host, è possibile avviare due volte lo stesso sistema operativo. Oppure apri la stessa partizione due volte. Questo ucciderà i tuoi dati, quindi non montare mai più partizioni contemporaneamente. Inoltre, non montare le tue partizioni NTFS mentre sono utilizzate da Windows (ma puoi comunque condividere i dati tra le tue partizioni, ad esempio con Samba).

Se si è verificato per errore, riavviare con sysrq (alt + printcreen + b) e confermare tutto. Potrebbero essere necessari anche alcuni trucchi di grub (Ho riconfigurato grub per avviare Windows per impostazione predefinita, quindi evito il problema di riavviare accidentalmente il mio Linux all'interno della VM di Windows - e sicuramente accadrà, perché Windows Update riavvia spesso Windows alle tue spalle).

Attenzione: Win10 utilizza il tuo uuid di sistema e il tuo controller dell'unità per identificare il tuo PC. Se manchi (3), il tuo win10 penserà che è stato clonato su una nuova macchina e non sarà più attivato. Sebbene se riavvii il tuo hw originale, verrà nuovamente attivato.


Ho fatto tutto ciò che hai scritto nella tua risposta, ma ricevo un errore di accesso negato. Sono un po 'confuso, sembra che setfaclnon regge dopo il riavvio. Suggerimenti? Nota: non sto montando l'unità, perché non desidero il danneggiamento dei dati. La documentazione ACL dice che dovrebbero essere inclusi i dischi che richiedono ACL fstab, che lo monteranno ...
Kartik

1
@Kartik Giusto, non regge. La soluzione più semplice, ma un po 'sporca, è inserire il comando setfacl in /etc/rc.local. La soluzione abbastanza buona sarebbe quella di modificarlo in / etc / udev. Personalmente non riavvio abbastanza spesso per rendere fastidiosa la digitazione di questo comando.
Peter - Ripristina Monica il

Ho usato udev per impostare le autorizzazioni corrette, ma la macchina virtuale è bloccata sul logo di Windows. Qualche idea?
Kartik,

@Kartik Se almeno può iniziare ad avviarsi, le autorizzazioni sono a posto. Probabilmente non ha nulla a che fare con questa soluzione, il probabile motivo è che Windows non si avvierà nell'ambiente emulato (la vittoria può vedere come se fosse stata spostata in un hardware completamente nuovo, quindi deve ricollegare un sacco di autisti). Prova ad avviare la macchina in modo più degradato o simile. Oppure prova ad attivare alcuni moduli di debug o simili. È possibile gestirlo come un problema "Windows non si avvia sul nuovo hardware". E prova a configurare nella vbox il possibile ambiente hw più simile a quello che avevi nella macchina fisica.
Peter - Ripristina Monica il

1
L'errore di avvio è stato causato dall'aggiornamento 1703 o dall'aggiornamento Creator come Microsoft lo chiama. Il rollback di questo aggiornamento ha risolto il problema. Le macchine virtuali non sono compatibili con questo aggiornamento. Se Windows si aggiorna durante l'esecuzione su metal, quindi il rollback ripara l'avvio bloccato nella VM.
Kartik,

1

Sono riuscito con Windows 10 come guest e Linux come Host.

Per prima cosa devi disinstallare tutti gli aggiornamenti di Windows 10 (per ogni evenienza, forse inutili), quindi: Sotto Linux apri una console e riga per riga:

 sudo su

 fdisk -l # looking for EFI et Microsoft basic data for me 1 and 3 of sdb 

 VBoxManage internalcommands createrawvmdk -filename /home/borto/ww10.vmdk -rawdisk /dev/sdb -partitions 1,3 -relative

Aggiungi la macchina nella scatola virtuale (sempre con "sudo virtualbox" come root) e abilita EFI nella scheda di sistema e scegli Windows XP 64 invece di Windows 10 altrimenti hai solo un bellissimo flag di Windows 10 congelato. Questo è tutto.

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.