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

2143
Daniel F

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

Я только что установил новый 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
Я иногда использую VirtualBox в Ubuntu, хотя я предпочитаю бесплатный VMware Player. Я никогда не использовал необработанный раздел, поэтому я не могу ответить о том, как он работает: я не вижу никакой выгоды, если вы не хотите иметь возможность загрузки напрямую в какой-то момент. Большим преимуществом файла VMDK является простота расширения, если он становится полным; также простая копия файла сделает точную резервную копию, если виртуальная машина приостановлена. Связанные аргументы применимы к обмену: единственным преимуществом раздела является то, что он допускает спящий режим (я не могу представить, что это относится к ВМ); в то время как файл подкачки легко увеличивается при необходимости. AFH 8 лет назад 0

1 ответ на вопрос

2
Tom Yan

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

enter image description here

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.

спасибо, но -paritions делает какие-то переопределения? раздел, который я использовал, был первым на диске, так мне было легче? если бы это был раздел, начинающийся с середины диска, нужно ли мне записывать значение начальной точки, чтобы использовать его в установщике? Или я могу просто сказать «создать раздел 16 ГБ» во время установки, и Virtualbox рассчитает смещение? Я имею в виду, у меня было два раздела на диске, но установщик сказал, что это был один большой кусок, такой же большой, как весь диск. Daniel F 8 лет назад 0
Это странно. Вы должны увидеть, что на гостевом сервере также есть два раздела. Это просто те, которые вы не указали в параметре -partitions, будут «замаскированы», чтобы вы не могли читать или писать на них. Смотрите это: https://ptpb.pw/BEfo.PNG Tom Yan 8 лет назад 0
Только что отредактировал мой ответ. Надеюсь, теперь стало понятнее. Кстати, вы уверены, что не указали неправильный диск для параметра `-rawdisk`? Tom Yan 8 лет назад 0
Да, я уверен, что это был правильный диск. Размер совпадал (~ 128 ГБ), и два раздела (оба точно по 50 ГБ) были правильно видны во внутреннем списке команд VBoxManage. Все остальные диски емкостью 2 ТБ, 4 ТБ и твердотельный накопитель емкостью 100 ГБ («C: \\») не повреждены, иначе ПК больше не загружается. Большое спасибо за ваши усилия. Daniel F 8 лет назад 0