Host do Windows VirtualBox, guest do Ubuntu instalado na partição RAW

1

Estou um pouco confuso aqui.

Acabei de instalar um novo SSD de 128 GB em um PC com Windows e criei uma partição de 50 GB nessa unidade. Eu não o formato, de modo que é rotulado "50,00 GB RAW" no utilitário "Gerenciamento de disco".

Ele está localizado em \.\PhysicalDrive0 , usei VBoxManage internalcommands listpartitions -rawdisk \.\PhysicalDrive0 para ver se a partição é visível para o VirtualBox.

Em seguida, usei VBoxManage internalcommands createrawvmdk -filename "C:\Users\USERNAME\VirtualBox VMs\Disks\ssd370-p1.vmdk" -rawdisk \.\PhysicalDrive0 -partitions 1 para criar um vmdk representando essa partição.

Depois criei uma nova máquina virtual e, em vez de criar um novo disco rígido, escolhi "Usar um arquivo de disco rígido virtual existente", no qual selecionei o vmdk mencionado anteriormente.

Eu montei o Ubuntu iso como um CD e inicializei a VM.

Eu tive que tentar isso algumas vezes. Meu principal problema foi que o vmdk se apresenta como um drive de 119,24GB, então a criação da partição linux falhou. Em uma tentativa eu disse ao instalador, enquanto fazia um processo de particionamento manual durante a instalação, que ele deveria criar uma partição de 48GB, que está abaixo do tamanho de 50GB que usei no Windows. Isso funcionou.

Eu reiniciei a VM e ela ainda funcionou, o que me deixa um pouco confuso.

Durante a instalação, eu disse para instalar o GRUB. Estou errado em supor que algumas coisas relacionadas a inicialização / relacionadas ao GRUB fazem uso do MBR? Quero dizer, algo no processo de instalação precisaria ter escrito algo para o MBR.

O VirtualBox está emulando o MBR? Ou ele gravou um MBR nessa partição e encolheu um pouco o resto?

Eu também tentei fazer um sudo fstrim -v / , que termina com FITRIM ioctl failed: Operation not supported . Isso é normal?

Além disso, eu pulei a criação de uma partição swap; poderia ter criado um tamanho de 2 GB? Devo refazer todo o procedimento de instalação, criar uma partição de 45GB e uma troca de 3-4GB? Isso funcionaria?

Eu estaria melhor usando um arquivo vmdk de 50 GB em vez de usar a partição RAW?

    
por Daniel F 19.03.2016 / 13:53

1 resposta

2

O parâmetro -partitions de createrawvmdk NÃO funciona da maneira como você pensou. Em vez de expor a (s) partição (ões) que você especificou como disco (s) ao convidado, ela expõe todo o disco ao convidado, como quando você não especificou -partitions param. A única diferença é que ele mascara as partições que você não listou para que você não possa ler ou escrever nelas. Você pode usar uma imagem ADICIONAL como o MBR para o convidado, mas está limitada à parte do código de inicialização (o convidado ficará com a tabela de partição no disco bruto). Veja 9.9.1.2. Access to individual physical hard disk partitions para detalhes: link

O GRUB grava o código de inicialização no MBR se ele for instalado com o destino i386-pc (que é para inicialização do BIOS / CSM). No entanto, se for instalado com um dos destinos da EFI ( x86_64-efi / i386-efi ), ele colocará o executável da EFI na partição do sistema EFI.

Para o ioctl FITRIM funcionar, o VirtualBox precisa fazer o repasse SCSI adequado (como, por exemplo, o Hyper-V), para que o convidado possa identificar e enviar comandos para os discos (ou, para discos SATA, o SCSI -ATA Translation Layer do Windows, que traduzirá comandos SCSI UNMAP para comandos ATA DSM / TRIM para SSDs SATA, por exemplo) diretamente. A partir do VirtualBox 5.0, nenhum de seus controladores de armazenamento fornece acesso ao disco bruto nesse nível. Isso pode ser confirmado verificando e comparando as saídas de sg3_utils ( sg_vpd -a , sg_readcap -16 e sg_inq ) no convidado do Linux e no host do Windows.

    
por 21.03.2016 / 10:40