1

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

Я только что установил новый 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 ответ1

2

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

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .