Хост VirtualBox для Windows, гостевой Ubuntu установлен на раздел RAW

Я немного запутался здесь.

Я только что установил новый 128 ГБ SSD на ПК с Windows, а затем создал раздел 50 ГБ на этом диске. Я не отформатировал его, чтобы он был помечен как "50,00GB RAW" в утилите "Управление дисками".

Он расположен по адресу \\.\PhysicalDrive0, Я использовал VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive0 чтобы увидеть, виден ли раздел для VirtualBox.

Я тогда использовал VBoxManage internalcommands createrawvmdk -filename "C:\Users\USERNAME\VirtualBox VMs\Disks\ssd370-p1.vmdk" -rawdisk \\.\PhysicalDrive0 -partitions 1 создать vmdk, представляющий этот раздел.

Затем я создал новую виртуальную машину и вместо создания нового жесткого диска выбрал "Использовать существующий файл виртуального жесткого диска", где я выбрал вышеупомянутый vmdk.

Я смонтировал Ubuntu ISO как CD и загрузил виртуальную машину.

Я должен был попробовать это пару раз. Моя главная проблема заключалась в том, что vmdk представляет собой диск объемом 119,24 ГБ, поэтому создание раздела linux не удалось. С одной попытки я сказал установщику, выполняя процесс создания разделов вручную во время установки, что он должен создать раздел размером 48 ГБ, что меньше размера 50 ГБ, который я использовал в Windows. Это сработало.

Я перезагрузил виртуальную машину, и она все еще работала, что немного смущает меня.

Во время установки я сказал ему установить GRUB. Я ошибаюсь в своем предположении, что некоторые вещи, связанные с загрузкой /GRUB, используют MBR? Я имею в виду, что что-то в процессе установки должно было бы что-то записать в MBR.

VirtualBox эмулирует MBR? Или он записал MBR в этот раздел и немного сжал остальные?

Я также пытался сделать sudo fstrim -v /, который заканчивается FITRIM ioctl failed: Operation not supported, Это нормально?

Также я пропустил создание раздела подкачки; Мог ли я создать один из 2 ГБ в размере? Должен ли я повторить всю процедуру установки, создать раздел 45 ГБ и раздел подкачки 3-4 ГБ? Будет ли это работать?

Будет ли лучше использовать файл vmdk 50 ГБ вместо раздела RAW?

1 ответ

Решение

-partitions параметр createrawvmdk НЕ работает так, как вы думали. Вместо того, чтобы открывать разделы, которые вы указали как диск (и) для гостя, он предоставляет весь диск гостю, как если бы вы не указали -partitions пары. Единственное отличие состоит в том, что он маскирует разделы, которые вы не перечислили, чтобы вы не могли читать или писать на них. Вы можете использовать ДОПОЛНИТЕЛЬНЫЙ образ в качестве MBR для гостя, но он ограничен частью кода загрузки (гость будет придерживаться таблицы разделов на сыром диске). Увидеть 9.9.1.2. Access to individual physical hard disk partitions для деталей: https://www.virtualbox.org/manual/ch09.html

GRUB записывает загрузочный код в MBR, если он установлен с целью i386-pc (который предназначен для загрузки BIOS/CSM). Однако, если он установлен с одной из целей EFI (x86_64-efi / i386-efi), вместо этого он поместит исполняемый файл EFI в системный раздел EFI.

Чтобы FITRIM ioctl работал, VirtualBox должен выполнить надлежащее сквозное прохождение SCSI (как, например, Hyper-V), чтобы гость мог идентифицировать и отправлять команды на диски (или, для дисков SATA, трансляцию SCSI-ATA). Уровень Windows, который будет непосредственно преобразовывать команды SCSI UNMAP в команды ATA DSM/TRIM для твердотельных накопителей SATA. Начиная с VirtualBox 5.0, ни один из его контроллеров хранилища не обеспечивает доступ к сырому диску на этом уровне. Это можно проверить, проверив и сравнив выходные данные sg3_utils (sg_vpd -a, sg_readcap -16 а также sg_inq) на гостевой Linux и хосте Windows.

Другие вопросы по тегам