Ответы пользователя по тегу EFI system partition
  • Как сделать загрузку ОС через VirtualBox или живьём (EFI)?

    kyb
    @kyb Автор вопроса
    любозналельный программист, сисадмин, эмбеддер
    Хвала всем светлым богам, я это сделал!!! Мечта сбылась.

    У меня на одном физическом диске установлены Ubuntu и Windows 10. Таблица разделов GPT. Соответственно загружается через EFI. По идее с MBR проблем не будет. Всего разделов 8, 1 efi, 1 ubuntu, 1 swap, 4 windows со своими recovery, 1 пользовательский.

    Итак, мы уже в Ubuntu (вероятно другой debian-based тоже катит), и VirtualBox последней версии установлен. Тогда Поехали.
    1. Дать доступ к разделу пользователю или группе. Создаем/редактируем файлик
      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, насколько я нагуглил/яндесил ещё не добрались.

    2. Создать сырой виртуальный диск, по сути ссылку на "живой" диск.
      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
      Не проверял.

    3. Создать виртуальную машину. Всё как обычно, и подключаем новоявленный виртуальный диск. Я также поставил 2 галочки в настройках Система -> Материнская плата -> EFI, и Носители -> имя-моего-диска -> твердотельный диск.
    4. Взлетаем! Я очень удивился ;) Полёт нормальный.
      spoiler
      d84b829fd43f4482aa0b1ba1ac34edb6.png


    Ссылки: (огромная благодарность авторам за помощь)
    1. Работа с RAW дисками в VirtualBox. Рекомендуется к прочтению.
    2. Add user to existing Group

    Также рекомендую:
    1. rEFInd - суперская программа которая запускается после EFI и ищет все EFI-совместимые системы на всех дисках. Понимает видовсы и линуксы. С ней необязательно прописывать ОС (efi-файлы) в efi-раделе. Установка в 4 команды из-под linux.
    Ответ написан
    3 комментария