Хвала всем светлым богам, я это сделал!!! Мечта сбылась.
У меня на одном физическом диске установлены Ubuntu и Windows 10. Таблица разделов GPT. Соответственно загружается через EFI. По идее с MBR проблем не будет. Всего разделов 8, 1 efi, 1 ubuntu, 1 swap, 4 windows со своими recovery, 1 пользовательский.
Итак, мы уже в Ubuntu (вероятно другой debian-based тоже катит), и VirtualBox последней версии установлен. Тогда
Поехали.- Дать доступ к разделу пользователю или группе. Создаем/редактируем файлик
sudo nano /lib/udev/rules.d/99-vbox-disk-rights.rules
Пишем в него строчку KERNEL=="sdb", OWNER="user"
или KERNEL=="sdb", GROUP="vboxusers"
. Я предпочел записать группу, и добавил в неё себя sudo adduser $USER vboxusers
. Reboot. Проверяем kyb@kyb-ubuntu-pc:~$ ls -la /dev/sd*
brw-rw---- 1 root disk 8, 0 Фев 21 01:57 /dev/sda
brw-rw---- 1 root disk 8, 1 Фев 21 01:57 /dev/sda1
brw-rw---- 1 root disk 8, 2 Фев 21 01:57 /dev/sda2
brw-rw---- 1 root vboxusers 8, 16 Фев 21 02:25 /dev/sdb
brw-rw---- 1 root disk 8, 17 Фев 21 01:57 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Фев 21 01:57 /dev/sdb2
...
spoilerЭто не очень правильно давать доступ на весь диск, особенно если на нём же стоит хост-система, но я так оно работает, иначе надо извращаться. позже. В [1] хорошо расписано, что касается MBR, до GPT, насколько я нагуглил/яндесил ещё не добрались.
- Создать сырой виртуальный диск, по сути ссылку на "живой" диск.
VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdb
spoilerОпять же это не очень правильно давать доступ ко всему диску, но сейчас главное толкнуть телегу, а не бежать по граблям. Правильно было бы как-то так. VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdb -partitions 1,2,6,7 -relative
Не проверял.
- Создать виртуальную машину. Всё как обычно, и подключаем новоявленный виртуальный диск. Я также поставил 2 галочки в настройках Система -> Материнская плата -> EFI, и Носители -> имя-моего-диска -> твердотельный диск.
- Взлетаем! Я очень удивился ;) Полёт нормальный.
Ссылки: (огромная благодарность авторам за помощь)
1.
Работа с RAW дисками в VirtualBox. Рекомендуется к прочтению.
2.
Add user to existing Group
Также рекомендую:
1.
rEFInd - суперская программа которая запускается после EFI и ищет все EFI-совместимые системы на всех дисках. Понимает видовсы и линуксы. С ней необязательно прописывать ОС (efi-файлы) в efi-раделе. Установка в 4 команды из-под linux.