Um hipervisor como o VirtualBox pode ser usado para iniciar um sistema operacional virtualizado que também é diretamente inicializável?


60

Esta questão é bastante teórica:

Suponha que eu tenha um PC com dois sistemas operacionais diferentes em duas partições diferentes: OS1 no sda1 e OS2 no sda2. De alguma forma, é possível configurar um programa como o VMWare ou o Virtualbox no OS1, que acessa o sda2, o inicializa e executa o OS2? Por outro lado, o OS2 também deve ser inicializado diretamente.

Percebo que o OS2 emulado seria muito mais lento e provavelmente ninguém realmente usaria essa configuração, mas acho isso muito interessante.


11
@MorrisIriga você tem certeza? Lembro que havia uma ferramenta de virtualização capaz de montar discos rígidos reais. Não tenho certeza se seu oracle virtualbox ou microsoft virtualpc.
LPChip 26/10/2015

11
@LPChip Desculpe, eu tinha entendido mal a pergunta. Sim, você pode montar um disco rígido físico usando o VirtualBox. Dê uma olhada nisso ou naquilo . Não conheço outro software de virtualização.
MorrisIriga 26/10



4
VMWare Fusion pode lançar uma partição "Boot Camp" como uma máquina virtual dentro do hospedeiro Mac OS X: kb.vmware.com/selfservice/microsites/...
Jacob Krall

Respostas:


58

É possível , sim, e não precisa necessariamente ser mais lento, já que hoje em dia não é mais emulação , é virtualização - a maioria das CPUs suporta virtualização assistida por hardware (VT-x e tal), mas mesmo sem elas, o VirtualBox tem muitos truques para fazer com que as VMs virtualizadas por software sejam executadas rapidamente.

De qualquer forma, não será mais lento do que inicializar uma VM antiga simples. Pode até ser mais rápido (devido ao uso de uma partição bruta em vez de uma imagem de disco fragmentada).


Mas não tenho muita certeza de como fazê-lo no VirtualBox - acho que você deve criar um arquivo .vdi especial usando vboxmanageesses pontos para a partição real? Além disso, não tenho idéias sobre como fazer o gerenciador de inicialização funcionar em tal situação.

Embora eu costumava depurar vários problemas de inicialização no Linux executando uma cópia somente leitura do SO atual em si, usando qemu-system-x86_64 -enable-kvm -hda /dev/sda -snapshot -monitor stdio.


6
Você acha que realmente executou um sistema operacional virtualizado dentro de si?
Wauzl 26/10/2015

8
Claro, por que não? Não é muito diferente de executar uma VM comum. A única parte importante é -snapshot, que faz uma cópia temporária de / dev / sda (para que ambos os sistemas não obstruam os dados uns dos outros).
grawity

6
Sua declaração provisória sobre o uso do vboxmanage para configurar um VDI (não VHD) como espaço reservado para a partição bruta está correta. O manual do VBOX explica em detalhes. Eu gosto do seu truque de depuração. Nunca embora em fazê-lo assim, mas eu já estou pensando em alguns casos de uso ;-)
Tonny

28

qemupermitirá que você use dispositivos de bloco como /dev/sda2, etc., como discos rígidos virtuais. O VMWare também. Não tenho certeza sobre o Virtualbox.

Quando você inicializa /dev/sda2em uma VM, ele terá um efeito semelhante, como se você tivesse retirado um disco rígido e inicializado em outro computador com hardware diferente. Se o sistema operacional puder lidar com essa alteração, você deverá executar o sistema operacional em uma VM e nativamente. O Windows dará problemas, é claro, e o Linux provavelmente o tolerará muito bem.

Você pode atenuar problemas em potencial fazendo o hardware virtual corresponder o mais próximo possível do hardware físico do sistema - embora, é claro, você precise especificar menos RAM. De particular importância é especificar o mesmo tipo de controlador de disco (IDE, SCSI, etc.).


8
Aparentemente VirtualBox pode fazer isso também usando o 'VBoxManage internalcommands createrawvmdk' comand (visto aqui )
Michael B

19

É completamente possível, de fato, eu costumava fazer isso!

Eu tinha uma partição / disco (esqueci qual) com o Windows uma com Linux, acho que foi nos dias do Windows XP (reconhecidamente, isso durou um tempo). Era uma boa maneira de acessar os dois conjuntos de dados sem usar muito espaço em disco com instalações diferentes.

O único problema que me lembro de ter era que eu precisava configurar dois perfis de hardware diferentes no XP. Ficou realmente confuso quando inicializou nos erros.

Não tenho certeza de como os processos atuais de ativação responderiam à troca de hardware. Isso pode causar alguns problemas ... (mas se você apenas inicializar o Windows como uma máquina física e tiver o Linux como uma VM / ou físico, isso resolveria isso)

Pelo que me lembro, fiz isso com a estação de trabalho VMware. Isso definitivamente suporta a inicialização a partir de um disco bruto. Tenho certeza que a versão MS faz. Não tenho tanta certeza sobre as VMs do Linux, mas ficaria muito surpreso se não.


Oh, perfis de hardware ... Na verdade, nunca toquei nesse recurso. O licenciamento definitivamente o arruinaria agora.
sinni800

@ sinni800 Esta foi a minha única vez de usá-los, de acordo com este eles ainda existem, mas mudaram-se para o kit motorista como devconx64.exe
Michael B

Os perfis de hardware foram retirados do Vista e dos sistemas Windows mais recentes
ZAB

8

Curiosamente, para aqueles que executam o VMware Fusion em um Mac, com uma partição de bootcamp do Windows, é possível iniciar uma máquina virtual que executa a partição do bootcamp:

O VMware Fusion permite iniciar uma partição do Boot Camp já instalada sem afetar sua capacidade de inicializar nativamente. Isso permite acessar uma partição do Boot Camp a partir do Mac OS usando o Fusion e reiniciar e iniciar o Windows diretamente.

Observe, no entanto:

Você pode ser solicitado a reativar o Windows porque um hardware diferente é reconhecido pelo sistema operacional.

Fonte: VMware - Iniciando sua partição Boot Camp no VMware Fusion


3
Eles recomendam que você instale suas ferramentas primeiro, para que o processo de ativação veja o mesmo "hardware" nas duas situações. Siga as instruções ou você acabará conversando com os servidores de ativação da Microsoft por telefone.
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersen ótimo conselho - obrigado
magma

7

Eu fiz isso . É bastante útil, mas existem algumas limitações e a configuração não é trivial.

  • O SO nativo ou VM deve ser tolerante com o hardware em que é executado. A maioria das distribuições Linux não se importa e é executada em qualquer coisa em que você as inicializa, desde que a arquitetura da CPU corresponda. Não é tão bom com o Windows. Você também pode enfrentar problemas de ativação / licenciamento.

  • No Windows, você não pode inicializar o SO em uma máquina virtual enquanto a partição estiver montada no host. Isso não é grande coisa, pois nesse caso você provavelmente gostaria de inicializar o Linux no Windows e o Windows não suporta extsistemas de arquivos de qualquer maneira.

  • Definir gerenciadores de inicialização é complicado. Você precisa de uma configuração de inicialização separada para inicializar na VM e inicializar nativamente. Eu usei o Grub4DOS / NeoGrub como carregador de inicialização de primeiro estágio ao inicializar de forma nativa; então, pude carregar o carregador de inicialização do Windows em cadeia ou inicializar no Ubuntu. A VM tinha uma unidade pequena (poucos MB) montada com prioridade mais alta que a unidade principal. Essa unidade continha o GRUB2 instalado manualmente, que eu usei para inicializar o Ubuntu dentro da VM.

  • A configuração incomum do carregador de inicialização requer uma atualização cuidadosa. Por exemplo, atualizar o GRUB ao executar o Linux nativamente pode interromper a cadeia do carregador de inicialização. A atualização dentro da VM requer a instalação manual na partição de inicialização.


0

Isso é possível com bastante facilidade. Se você usar discos rígidos separados para cada instalação!

Dê uma olhada aqui por exemplo: http://www.serverwatch.com/server-tutorials/using-a-physical-hard-drive-with-a-virtualbox-vm.html - ou pesquise no site VirtualBox (que está em baixo) no momento) para essas palavras-chave.

Eu o uso para poder acessar minha partição Linux quando trabalho no Windows, como coisas da Adobe ou outras coisas que não serão executadas sem problemas em Wine ou Virtualização do Windows no Linux.

Além disso, como muitas vezes eu acesso minha torre remotamente - e todo o meu disco rígido do Linux é criptografado, enquanto o meu disco rígido do Windows não é e possui apenas dados não confidenciais. Então, inicio o Windows (a entrada do Windows no GRUB está pré-selecionada) efetuo login no Teamviewer, inicio o Virtualbox e depois o meu disco rígido Linux.

Nesta direção - Windows -> Virtualbox -> outro HD com Linux -> é possível bastante simples, devido à super detecção de hardware, em tempo real, que o Linux, ou seja, o Ubuntu, suporta.

Na outra direção, você vai acabar com uma bagunça. O Windows não gosta de mudar de hardware. Ele pode atrapalhar o sistema, nem iniciar, ou mesmo se o fizer, talvez lhe diga que sua licença não é mais válida porque muitas alterações de hardware acontecem com muita frequência.

Dito isso, você deseja manter o Windows como entrada de inicialização pré-selecionada no GRUB, mas observe que você seleciona a entrada correta no GRUB quando executada no Virtualbox. Se você tiver problemas com atrasos remotamente, aumente o tempo limite de inicialização no GRUB para garantir a segurança.

Espero que tenha ajudado :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.