виртуальная коробка создает vmdk раздела создает vmdk всего жесткого диска

Вопрос или проблема

Я пытаюсь создать VMDK моего раздела Windows (Win 10 x64 Pro – insider preview) на диске /dev/sda, где мой раздел Windows – это /dev/sda1.

Virtual Box имеет опцию создания vmdk из раздела с помощью -partitions.

Из страницы документации, найденной здесь:

Чтобы создать специальный образ для поддержки необработанных разделов (который будет содержать небольшое количество данных, как уже упоминалось), на хосте Linux используйте команду

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk
  -rawdisk /dev/sda -partitions 1,5

Как видите, команда идентична той, что для доступа к “полным жестким дискам”, за исключением дополнительного параметра -partitions. Этот пример создаст образ /path/to/file.vmdk (который, опять же, должен быть абсолютным), и разделы 1 и 5 /dev/sda будут доступны для гостя.

Моя попытка:

Обратите внимание: чтобы разрешить создание и редактирование дисков для каждого пользователя, я использовал

sudo usermod -a -G disk cx

где мой пользователь – это cx

Начнем:

Итак, применяя вышеуказанные команды:

VBoxManage internalcommands createrawvmdk -filename win_hdd_raw.vmdk -rawdisk /dev/sda -partitions 1

выход:

Файл VMDK доступа к необработанному диску хоста win_hdd_raw.vmdk успешно создан.

При выполнении команды createrawvmdk создано 2 файла:

# ls -la win_hdd_raw*

-rw------- 1 cx cx 161280 Nov 23 00:37 win_hdd_raw-pt.vmdk
-rw------- 1 cx cx    929 Nov 23 00:37 win_hdd_raw.vmdk

Загружая в VBox, используя файл win_hdd_raw.vmdk, я вижу:

введите описание изображения здесь

Затем, запуская его, оставляя все настройки по умолчанию, я получаю следующую ошибку:

введите описание изображения здесь

Эта ошибка была диагностирована кем-то из раздела комментариев к другому вопросу, который я разместил.

В разделе комментариев: @Seth выяснил, что весь жесткий диск используется, таким образом, VBox пытался загрузить grub (мой загрузчик), это вызывало ошибку, о которой я указал выше.

Информация:

VBoxManage internalcommands listpartitions -rawdisk /dev/sda

Разделы VBox:

Номер  Тип   Начало CHS       Конец CHS      Размер (МиБ)  Начало (Сект)
1       0x07  0   /32 /33  1023/254/63        235520         2048
2       0x83  1023/254/63  1023/254/63          1024    482347008
5       0x83  1023/254/63  1023/254/63        173595    484446208
6       0x83  1023/254/63  1023/254/63         32580    839970816
7       0x83  1023/254/63  1023/254/63         14760    906696704
8       0x83  1023/254/63  1023/254/63         15360    936927232
4       0x82  1023/254/63  1023/254/63          4096    968384512

выход fdisk

fdisk -l

Устройство     Загрузка     Начало       Конец   Секторы   Размер Id Тип
/dev/sda1  *         2048 482347007 482344960   230G  7 HPFS/NTFS/exFAT
/dev/sda2       482347008 484444159   2097152     1G 83 Linux
/dev/sda3       484444160 968384511 483940352 230.8G  5 Расширенный
/dev/sda4       968384512 976773119   8388608     4G 82 Linux swap / Solaris
/dev/sda5       484446208 839968767 355522560 169.5G 83 Linux
/dev/sda6       839970816 906694655  66723840  31.8G 83 Linux
/dev/sda7       906696704 936925183  30228480  14.4G 83 Linux
/dev/sda8       936927232 968384511  31457280    15G 83 Linux

Из вышеуказанной информации можно увидеть, что раздел “1” относится к разделу размером 230 Гб типа NTFS, который является моим разделом Windows.

Я не вижу, где и если я совершил ошибку,

Есть ли какие-либо предложения?

Обновление после ответа @alinourzad

Включить EFI (Специальные ОС) – включено

Запуская виртуальную машину, получаю:

введите описание изображения здесь

Что является той же/похожие проблемой, что и в вопросе, связанном с постом, на который комментировал @Seth.

Я бы склонен полностью отказаться от флага -partitions и передать -rawdisk /dev/sda**1** и посмотреть, что произойдет.

Решением могло бы быть dd if=/dev/sda1 of=~/Desktop/win_nt.img, а затем использовать ваш инструмент на выбор для конвертации .img в .cow или .vmdk.

Ответ или решение

Создание VMDK для раздела Windows в VirtualBox

Создание виртуального диска VMDK для конкретного раздела, а не всего жесткого диска, в VirtualBox может вызвать некоторые сложности, особенно если вы работаете с Linux как с хост-системой. Рассмотрим подробно вашу ситуацию и предложим решения.

Описание проблемы

Вы пытались создать файл VMDK для раздела Windows (Windows 10 x64 Pro) на жестком диске /dev/sda, обозначенном как /dev/sda1. Вы использовали команду:

VBoxManage internalcommands createrawvmdk -filename /path/to/win_hdd_raw.vmdk -rawdisk /dev/sda -partitions 1

Согласно документации, использование параметра -partitions должно позволить доступ только к выбранным разделам, однако, вы столкнулись с ошибками, связанными с загрузчиком и попытками VirtualBox запустить grub, что указывало на то, что он пытается получить доступ ко всем данным на диске.

Анализ и решение

  1. Проверка прав доступа:
    Вы правильно добавили пользователя в группу disk, что дает ему необходимые права. Убедитесь, что вы перезагрузили систему или заново вошли в систему, чтобы изменения вступили в силу.

  2. Использование правильного синтаксиса:
    Параметр -partitions должен быть использован правильно. В вашем случае вы указали только «1», что соответствует /dev/sda1. Проверьте, что действительно используется правильный номер и что он соответствует вашему Windows-разделу.

  3. Возможные конфликты с загрузчиком:
    Как было замечено, проблема может быть вызвана наличием загрузчика на основном диске. Возможные действия для избежания конфликта:

    • Попробуйте отключить Secure Boot в настройках BIOS/UEFI.
    • Убедитесь, что в настройках VirtualBox включен EFI, так как это может помочь обойти проблемы с загрузкой.
  4. Попробуйте альтернативный метод:
    Если указанный способ не сработает, попробуйте создать образ раздела с помощью команды dd:

    dd if=/dev/sda1 of=~/Desktop/win_nt.img

    После этого можете использовать qemu-img или другие инструменты для конвертации образа
    в нужный формат (например, .vmdk):

    qemu-img convert -f raw ~/Desktop/win_nt.img -O vmdk ~/Desktop/win_nt.vmdk
  5. Использование альтернативного метода с параметрами:
    Возможно, стоит попробовать полную команду, без использования -partitions, указав только -rawdisk на непосредственно разделе:

    VBoxManage internalcommands createrawvmdk -filename /path/to/win_hdd_raw.vmdk -rawdisk /dev/sda1

Заключение

Создание VMDK для отдельного раздела Windows в VirtualBox может быть непростой задачей из-за конфликта с загрузчиком и проблем права доступа. Проверка прав доступа, использование правильных параметров, отключение Secure Boot и альтернативные методы создания образов могут помочь решить эту проблему. Если у вас останутся дополнительные вопросы или будут возникать сложности, обязательно обращайтесь за помощью сообщества или опытных пользователей для получения более детального руководства.

Оцените материал
Добавить комментарий

Капча загружается...