Установка Linux на флешку через виртуальный бокс
Обновлено: 22.11.2024
В другой раз я пытался создать мультизагрузочный USB-накопитель с помощью Ventoy в своей системе Linux. После успешного создания загрузочного диска я добавил на загрузочный диск разные ISO-образы. Но проблема в том, что мне приходилось перезагружать систему каждый раз после добавления нового ISO, чтобы проверить, действительно ли работает USB-накопитель. Поскольку у меня не было дополнительной системы, мне это показалось немного трудоемкой задачей. Я подумал, что было бы лучше, если бы я мог загружаться с USB-накопителя в Virtualbox в моей системе Linux. Как вы, возможно, знаете, Oracle Virtualbox не предлагает никакого прямого способа загрузки с USB. К счастью, я нашел простой обходной путь, позволяющий Virtualbox загружаться с USB-накопителя.
Загрузка с USB-накопителя в Virtualbox в Linux
Чтобы разрешить загрузку Virtualbox с USB-накопителей, вам необходимо создать файл .vmdk и указать его на свой USB-накопитель для загрузки с него. Для тех, кому интересно, файл vmdk — это не что иное, как файл виртуального диска, который содержит всю информацию о виртуальной машине.
Во-первых, вам нужно найти имя вашего USB-накопителя. Обратитесь к следующему руководству, чтобы узнать о различных способах поиска информации о дисках в Linux.
Я собираюсь использовать команду "fdisk", чтобы найти информацию о моем USB-накопителе:
Пример вывода:
Как видите, имя моего USB-накопителя — /dev/sdc .
Теперь откройте терминал и выполните любую из следующих команд, чтобы создать файл vmdk:
В некоторых дистрибутивах Linux команда vboxmanage чувствительна к регистру. В этом случае используйте следующую команду для создания файла vmdk:
Приведенная выше команда создаст новый файл vmdk с именем «usb.vmdk» в вашем каталоге $HOME. После успешного создания файла vmdk вы увидите вывод, как показано ниже:
Создайте новый файл vmdk с помощью команды vboxmanage
Установите правильное разрешение для вновь созданного файла vmdk:
Затем добавьте своего пользователя в группы "vboxusers" и "disk" с помощью следующих команд:
Замените "sk" своим именем пользователя.
Пожалуйста, помните, что добавление пользователя в группу «диск» опасно и представляет угрозу безопасности. Теперь извлеките USB-накопитель и перезагрузите систему, чтобы изменения вступили в силу. Если вы не извлечете USB-накопитель, буква вашего диска может измениться при следующей загрузке. Поэтому важно сначала отключить USB и перезагрузить систему.
Теперь откройте приложение Oracle Virtualbox и создайте новую виртуальную машину:
Создать новую виртуальную машину в виртуальном боксе
Введите имя виртуальной машины, тип и версию ОС и нажмите "Далее", чтобы продолжить:
Введите данные виртуальной машины в виртуальный бокс
Введите размер ОЗУ для виртуальной машины в виртуальном боксе
Это важный шаг. Выберите вариант «Использовать существующий файл виртуального жесткого диска» и нажмите кнопку обзора (кнопка со стрелкой ВВЕРХ):
Использовать существующий файл виртуального жесткого диска
Нажмите кнопку "Добавить", чтобы выбрать только что созданный файл vmdk:
Нажмите кнопку «Добавить», чтобы выбрать только что созданный файл vmdk
Выберите только что созданный файл vmdk на локальном диске:
Выберите только что созданный файл vmdk на локальном диске
После добавления файла vmdk нажмите кнопку «Выбрать» для подтверждения:
Подтвердите добавление файла vmdk
Теперь вы увидите, что файл vmdk выбран в качестве виртуального жесткого диска для новой виртуальной машины. Нажмите «Далее», чтобы продолжить:
файл vmdk выбран в качестве виртуального жесткого диска
Все готово! Подключите загрузочный USB-накопитель и запустите виртуальную машину:
Загрузка с USB-накопителя в Virtualbox
Теперь вы можете загружаться с USB в Oracle Virtualbox. Здесь я загружаю загрузочный USB-накопитель, созданный с помощью сценария Ventoy в Virtualbox:
Загрузка с USB-накопителя в Virtualbox в Linux
Создание ISO-образа с загрузочного USB-накопителя в Linux
Это еще один способ загрузки USB-накопителя в Virtualbox. В этом методе нам не нужно создавать файл vmdk. Просто создайте образ ISO с загрузочного USB-накопителя с помощью «дисковой утилиты GNOME» или команды «dd», как описано по следующей ссылке:
После создания ISO-образа откройте приложение Virtualbox, перейдите в настройки любой виртуальной машины и добавьте (смонтируйте) этот вновь созданный файл .iso в качестве оптического привода в разделе «Контроллер хранилища: IDE».
Добавить ISO в контроллер хранилища VirtualBox
Теперь запустите виртуальную машину, и она загрузится с образа ISO.
Обратите внимание, что этот метод не работает со всеми образами USB, особенно с USB-накопителями с несколькими разделами.
Это третий пост об установке Linux на USB-накопитель!
Помните, что идея состоит в том, чтобы иметь USB-накопитель, который будет работать как портативная операционная система Linux на любом компьютере.
В первом сообщении, Как установить Linux на USB-накопитель с помощью Virtualbox, USB-накопитель с установленным Linux можно было использовать при загрузке с компьютера с включенной «устаревшей загрузкой»: он не мог загружаться, если UEFI был единственным выбором. на этом компьютере.
Во втором сообщении, Как установить Linux на USB-накопитель с поддержкой UEFI, я показал, как установить Linux на USB-накопитель напрямую, без использования VirtualBox, при создании загрузочного устройства UEFI. Однако во время установки необходимо соблюдать осторожность, чтобы не перезаписать загрузчик UEFI вашего компьютера.
В этом посте я покажу, как установить Linux на USB-накопитель с поддержкой UEFI с помощью VirtualBox. В итоге мы получим загрузочное устройство UEFI, но не боясь сломать загрузчик UEFI вашего компьютера, так как сделаем это с помощью виртуальной машины.
Прежде всего, давайте резюмируем, что я хочу сделать. Я хочу установить Linux на портативный внешний USB SSD. Мне не нужен живой дистрибутив: живой дистрибутив дает вам лишь небольшой опыт тестирования, его нелегко поддерживать и обновлять, в нем сложнее хранить ваши данные. Напротив, установка Linux на USB-накопитель даст вам все возможности (а если USB-накопитель быстрый, это почти то же самое, что использовать Linux на обычном компьютере; это, несомненно, относится к внешнему SSD, который в настоящее время довольно дешев) .
В предыдущем посте я описал, как создать такую установку из VirtualBox. Как я уже сказал, вы можете загрузить USB-накопитель только в режиме Legacy. На этот раз мы сможем загрузить USB-накопитель на любом компьютере с UEFI.
Я собираюсь провести этот эксперимент:
- Я собираюсь использовать VirtualBox, установленный на Dell XPS 13, где у меня уже есть (мультизагрузка, UEFI) Windows, Ubuntu, Kubuntu и Manjaro GNOME
- Я собираюсь установить Ubuntu 21.10 на внешний USB-накопитель SanDisk SSD (256 ГБ)
- затем я собираюсь установить на тот же внешний USB-накопитель EndeavourOS (отличный дистрибутив, которым я только начал пользоваться) вместе с установленной Ubuntu
Я уже скачал ISO-образы двух дистрибутивов.
Я установил VirtualBox в Ubuntu, следуя этой процедуре
а затем перезагрузите компьютер.
Кстати, поскольку второй дистрибутив будет иметь приоритет над существующей конфигурацией UEFI на USB, лучше начать с Ubuntu, а затем перейти к EndeavourOS (на базе Arch). В то время как конфигурация Arch GRUB не вызывает проблем с загрузкой других дистрибутивов, Ubuntu не может загрузить дистрибутив на основе Arch. Конечно, меню GRUB второго дистрибутива позволит вам также загрузить первый. Мы могли бы решить проблему с загрузкой позже, но я предпочитаю не усложнять задачу и устанавливать их в указанном выше порядке.
На скриншотах работающей виртуальной машины USB SanDisk — /dev/sda.
Я загружу виртуальную машину, на которой установлю ISO текущего дистрибутива как LIVE CD.Я собираюсь использовать разные виртуальные машины для каждого дистрибутива. Может быть, это и не обязательно, но так как две ОС разные (первая — ОС Ubuntu, а вторая — Arch Linux), я предпочитаю на всякий случай держать две виртуальные машины раздельно.
Я предполагаю, что вы уже знакомы с VirtualBox, поэтому я опубликую основные скриншоты процедуры.
Давайте создадим виртуальную машину.
Нам не нужен жесткий диск в виртуальной машине, так как мы будем использовать его только для установки Linux на USB-накопитель, поэтому мы проигнорируем это предупреждение.
Теперь пришло время настроить несколько параметров.
Важным параметром является «Включить EFI», чтобы наша виртуальная машина знала о UEFI, и загруженная Live OS также будет знать об этом. Как мы увидим позже, загруженная Live OS правильно установит GRUB в раздел UEFI.
Мы также указываем вставлять ISO-образ дистрибутива (Ubuntu 21.10), чтобы при запуске виртуальной машины она загружала Live ISO.
Давайте запустим виртуальную машину, и мы увидим загрузочное меню Live ISO.
Мы выбираем «Попробовать Ubuntu», а затем подключаем внешний SanDisk к компьютеру и уведомляем виртуальную машину об этом, используя контекстное меню значка подключения USB и выбирая элемент, соответствующий жесткому диску USB ( в вашем случае будет иначе)
После этого ОС Ubuntu Live должна уведомить о подключенном диске. Мы можем начать установку, и когда дело доходит до выбора диска и раздела, я решил стереть весь диск и установить Ubuntu:
Конечно, вы можете разбить жесткий диск вручную, но тогда вам придется не забыть создать таблицу разделов GPT, а также вручную создать раздел FAT32 для UEFI. Используя «Стереть диск и установить Ubuntu», я позволю установщику сделать всю эту работу.
Вы можете просмотреть сводку перед тем, как приступить к созданию раздела. Обратите внимание, что такие операции мы делаем на внешнем USB-накопителе, который, как я уже говорил выше, соответствует /dev/sda.
Теперь нам нужно дождаться завершения установки. В итоге вместо перезапуска виртуальной машины мы ее выключили.
Перезагрузим компьютер с подключенным USB-накопителем. В зависимости от настроек компьютера вам придется нажать какую-нибудь функциональную клавишу (например, F2 или, в моем Dell XPS 13, F12, чтобы выбрать загрузку с другого устройства). Вот меню моего Dell XPS 13, где мы видим, что внешний USB (SanDisk) определяется как загрузочное устройство UEFI. Он также определяется как загрузочное устройство Legacy, но нас интересует UEFI:
Затем мы можем убедиться, что можем загрузить дистрибутив Ubuntu, установленный на USB-накопителе.
Кстати, я также проверил, что без подключенного USB-накопителя я всегда могу загрузить свой компьютер: действительно, существующая конфигурация UEFI Grub не повреждена (помните, у меня есть Windows, Ubuntu, Kubuntu и Manjaro GNOME; меню grub с более высоким приоритетом — меню Manjaro):
Давайте создадим вторую виртуальную машину для установки на тот же USB-накопитель EndeavourOS вместе с только что установленной Ubuntu.
Чтобы ускорить работу, вместо того, чтобы создавать совершенно новую машину, мы клонируем предыдущую и меняем несколько настроек (в основном имя, версию Linux, которая теперь называется Arch, и, наконец, мы меняем Live ISO ):
Давайте запустим виртуальную машину и перейдем в систему EndeavourOS Live
Как и раньше, мы должны подключить USB-накопитель к компьютеру и позволить виртуальной машине обнаружить это (см. процедуру, уже показанную в первом разделе установки).
Мы запускаем программу установки и выбираем версию «Онлайн», чтобы мы могли выбрать, что устанавливать дальше (включая несколько сред рабочего стола). Установщик - Calamares (если вы использовали Manjaro раньше, вы уже знаете этот установщик).
Что касается создания разделов, мы обязательно выбираем внешний диск SanDisk (как обычно, /dev/sda). Обратите внимание, что программа установки обнаруживает существующую установку Ubuntu. На этот раз мы решили установить EndeavourOS вместе с:
И мы используем ползунок, чтобы указать, сколько места должна занимать новая установка:
Давайте выберем несколько пакетов для установки (отличная функция EndeavourOS)
И это сводка перед началом установки:
После завершения установки мы выключаем виртуальную машину и перезагружаем компьютер со вставленным USB-накопителем. На этот раз мы видим конфигурацию grub EndeavourOS, включая ранее установленную Ubuntu. Помните, что это установки на USB-накопителе (как обычно, обратите внимание на /dev/sda, представляющий USB-накопитель):
И теперь у нас есть USB-накопитель с двумя установленными дистрибутивами Linux, которые мы можем использовать для загрузки наших компьютеров! Однако некоторые драйверы для определенных конфигураций компьютеров могут не устанавливаться при установке внешнего USB-накопителя в Linux. Кроме того, другие настройки, такие как разрешение экрана и масштабирование, могут зависеть от загружаемого компьютера, и их, возможно, придется настраивать каждый раз, когда вы тестируете внешний USB-накопитель на другом компьютере.
Как загрузить USB-накопитель в VirtualBox. Этот процесс позволит вам запускать Portable Linux с флэш-накопителя или внешнего жесткого диска, продолжая работать из хоста Windows, Linux или Mac OS X. По умолчанию VirtualBox не поддерживает загрузку с USB. Однако вы можете сделать виртуальную машину с USB-загрузкой, создав и сопоставив виртуальную машину (файл .vmdk) с USB-накопителем. По сути, создание загрузочного USB-накопителя VirtualBox.
Веб-сайт VirtualBox: домашняя страница проекта
- Хост Windows
- Хост Linux
- Хост Mac OS X
Заставить VirtualBox загружаться с USB-накопителя (Windows)
Если все пойдет хорошо, VirtualBox теперь должен эмулировать, загружать и запускать ваше USB-устройство из Windows.
Настройка Persistence для работы в VirtualBox (Windows)
Сначала флэш-накопитель USB может работать не так, как при стандартной загрузке. Такие вещи, как постоянная функция casper в Ubuntu, не будут работать. Некоторые дистрибутивы могут даже не загружаться или загружаться с ошибками.Это связано с тем, что тома на устройстве монтируются Windows, что не позволяет VirtualBox получить полный доступ. Чтобы исправить эти проблемы, вы можете использовать инструмент под названием LockDismount. Затем просто запустите инструмент (выполнив следующие действия) перед запуском виртуальной машины, привязанной к вашему USB.
-
инструмент LockDismount
- Запустите инструмент прямо перед запуском виртуальной машины VirtualBox
- Выберите свой USB-накопитель из раскрывающегося списка, затем нажмите «Заблокировать»!
(при желании вы можете установить флажок «Принудительно размонтировать»)
Теперь ваш флеш-накопитель должен загружаться в VirtualBox точно так же, как и при загрузке на физическом компьютере. ;)
Создание загрузочного USB-накопителя VirtualBox (Linux)
Следующий процесс загрузки USB-накопителя в VirtualBox был выполнен из работающей операционной среды Ubuntu. Этот метод также должен работать для Debian и других операционных систем на базе Ubuntu Linux.
- Откройте терминал Ctrl+Alt+T, затем введите следующее и нажмите Enter;
- Далее введите
(обратите внимание, какое устройство является вашим USB-накопителем IE /dev/sd x )
Если все прошло гладко, теперь вы сможете загрузить USB-накопитель из VirtualBox на хосте Linux.
Загрузите USB-накопитель в VirtualBox (Mac OS X)
-
и установите VirtualBox для хостов OS X с помощью файла .dmg.
- Откройте терминал, введите следующее и нажмите Enter.
Теперь вы должны иметь возможность загружать USB-накопитель в VirtualBox на хосте Mac OS X, сохраняя при этом возможность загрузки с накопителя по умолчанию.
Примечание. При первой попытке загрузить USB-накопитель в VirtualBox из Windows вы можете получить сообщение об ошибке, подобное этому:
Не удалось получить дескриптор устройства и/или идентификатор раздела для 0000000001e92d20 (hPartitionDevice=0000000000000cd5, Last=0xc0000002/1) (VERR_NEM_VM_CREATE_FAILED).
В этом случае необходимо отключить тип запуска гипервизора. Для этого;
- Откройте командную строку от имени администратора. IE; (Win+X), а затем нажмите A
- Введите следующую командную строку в терминал, затем нажмите Enter
- Перезагрузите компьютер.
- Попробуйте еще раз загрузить USB-накопитель из VirtualBox.
На этом завершаются три метода, которые можно использовать для загрузки USB-накопителя в VirtualBox. Если вы нашли это полезным, вас также может заинтересовать Запуск VirtualBox с USB.
сообщить об этом объявлении
Можно ли запустить VirtualBox с USB? Да, Portable VirtualBox был неофициальной Portable Wrapper для Virtual Box, созданной Мишей. Улучшенная версия была позже предложена Тибо, автором (LiLi) Live Linux USB Creator. Оба могут использоваться для загрузки с USB без перезагрузки.
VirtualBox официально является продуктом Oracle. Это виртуальная машина (ВМ), которая использует собственную виртуализацию x86 и AMD64/Intel64 вместо эмулятора. Виртуальную машину можно использовать для запуска различных операционных систем с помощью образов дисков, файлов ISO и компакт-дисков или DVD-дисков в качестве гостевой ОС из другой операционной среды хоста.
С помощью портативной оболочки Micha или Tibo VirtualBox можно хранить и запускать исключительно с USB-устройства. Позволяет вам взять с собой виртуальную машину, а затем загрузить дистрибутивы Linux с USB без перезагрузки. Это может быть очень полезно, если вам нужно принудительно загрузиться с USB без доступа или поддержки BIOS. Или если вы не можете выключить компьютер и не можете нарушить работающую операционную систему хоста.
Примечание. Вы также можете использовать Portable Virtual Box от Tibo для загрузки YUMI в Windows.
Официальная домашняя страница VB: Официальная домашняя страница VB
Портативная оболочка Миши: Портативная оболочка Миши
Портативный VirtualBox от Тибо: Портативная версия VirtualBox от Тибо
Вопрос. Может ли VirtualBox работать через USB? Абсолютно;
Как запустить VirtualBox с USB
Если ваш USB-накопитель уже загружается нормально, он должен запуститься. Если нет, вы можете использовать «Универсальный установщик USB» или «YUMI», чтобы быстро создать загрузочный USB, а затем повторно попытаться загрузить его с вашего Portable VirtualBox.
VirtualBox, работающий с USB (запуск Linux из Windows)
Здесь показан Sabayon Linux, запущенный из VirtualBox через USB.
Возможность носить с собой виртуальную машину через USB — это здорово. Кроме того, это удобный способ запуска вашей любимой ОС Live Linux с работающего ПК с Windows. Устранение необходимости перезагрузки. Если вы хотите быстро показать дистрибутив Linux другу или коллеге, это отличная альтернатива перезагрузке. Это также очень полезно в тех случаях, когда вы не хотите нарушать работающую хост-ОС, но вам все же нужно выполнить некоторую работу на базе Linux.
сообщить об этом объявлении
Читайте также: