Использование физического жесткого диска в качестве виртуальной виртуальной машины и загрузочного раздела


11

Можно ли установить ОС Ubuntu с VirtualBox с использованием физического раздела жесткого диска, а затем сделать его загрузочным?

Я хочу, чтобы к операционной системе Ubuntu, которую я установил в VirtualBox, можно было обращаться и загружаться как с физической машины, так и с виртуальной машины VirtualBox (конечно, не одновременно). Так, иногда я могу загрузить его как виртуальную машину, а иногда я могу загрузить его как реальную машину (как двойную загрузку вместе с моей основной ОС, которая является Linux Mint).

Прочитав несколько статей об этом, вот ссылка:

  1. Миграция с виртуальной машины (ВМ) на физическую систему
  2. Использование исходного жесткого диска хоста от гостя
  3. Использование физического жесткого диска с виртуальной машиной VirtualBox
  4. VirtualBox: использование физического раздела в качестве виртуального диска

Я думаю, что могу сделать это, но я не уверен в результате для моей проблемы. Говорят, что если в процессе возникнет проблема, это приведет к серьезному повреждению данных.

Означает ли это, что все данные на моем жестком диске (не только раздел) будут повреждены?

РЕДАКТИРОВАТЬ

Я забыл упомянуть, что установленная мной виртуальная ОС Ubuntu разделена на три раздела. И диск физического раздела, который я буду использовать, является одним логическим разделом. Это проблема, из-за которой я не уверен в результате.

Ответы:


9

Я нахожу решение для своей проблемы. Это не так просто. Для меня, как для неопытного пользователя Ubuntu, это сбивает с толку. В конце концов, я решил не делать этого. Но, может быть, у кого-то есть другой способ сделать это лучше, чем я.

Установите новую ОС Ubuntu

Установите ОС Ubuntu рядом с вашей основной ОС. В моем случае это Linux Mint. Но я не вижу различий в процессе между mint и Ubuntu, так как mint основан на Ubuntu.

Создайте средний файл для виртуальной коробки для чтения новой ОС

После завершения установки. Вам нужно создать носитель для VirtualBox для чтения раздела, который содержит свежую установленную ОС Ubuntu. То, как вы делаете это так:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y

Где Xваш жесткий диск и Yваш номер раздела. Не включайте раздел, содержащий вашу основную загрузку ОС. Потому что для новой ОС нам нужен другой загрузочный носитель, который не содержит основной загрузки ОС. Вам может потребоваться запустить от имени пользователя root.

Создайте Medium для Virtual Box для загрузки с новой ОС

Для создания загрузочного носителя мы создадим ISO-образ из нового загрузочного файла ОС. Во-первых, мы должны сделать это в нашей основной ОС. Перезагрузите компьютер и загрузитесь с основной ОС. В моем случае я перезагружаюсь к Linux Mint.

Нам нужно создать временную папку для создания загрузочного файла iso. Итак, когда Монетный двор готов сделать работу. Создать папку. Я предполагаю, что мы делаем это в Desktop. Мы сделаем так:

  • Перейти на рабочий стол.

  • Создайте новую папку и назовите ее «iso».

  • Откройте эту папку iso и создайте новую папку с именем «boot».

  • Откройте эту загрузочную папку и создайте новую папку с именем «grub».

    Если мы делаем это через терминал, все, что нам нужно сделать, это просто набрать эту строку и нажать Enter

    mkdir -p ~/Desktop/iso/boot/grub
    

    Терминал - отличный инструмент, если мы знаем, что делаем! ;)

  • После того, как папки созданы, нам нужно скопировать новые загрузочные файлы Ubuntu OS в эту папку. Итак, откройте раздел, в который мы устанавливаем ОС Ubuntu, а затем скопируйте все файлы /usr/lib/grub/i386-pc/в ~/Desktop/iso/boot/grub. И скопируйте все файлы из /boot/grub/grub.cfgв ~/Desktopiso/boot/grub.

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

    cp /usr/lib/grub/i386-pc/* ~/Desktop/iso/boot/grub
    
    cp /boot/grub/grub.cfg ~/Desktop/iso/boot/grub
    
  • Откройте grub.cfg в ~/Desktop/iso/boot/grub/grub.cfgтекстовом редакторе. Предупреждение , не делайте ошибок, то, что вы отредактируете здесь, не то, что у вас /boot/grub/grub.cfg. Если вы отредактируете последнее, что я упомянул, загрузка вашей основной ОС не удастся

  • Как только grup.cfg открылся. Удалите menuentryто, что не связано с новой установленной нами ОС Ubuntu. Обычно это выглядит так:

    ### Begin /etc/grub.d/your_main_os ###
    menuentry 'The text displayed in boot menu' {
        ----
        some code we don't need understand for this
        ----
    }
    ### End /etc/grub.d/your_main_os  ###
    

    Удалите все пункты меню, не связанные с новой установленной нами ОС Ubuntu. Нам не нужно, чтобы они существовали в VirtualBox, не так ли?

  • Затем преобразуйте папки со всеми включенными файлами в iso с помощью этого:

    grub-mkrescue -o boot.iso ~/Desktop/iso
    

    Примечание. Если при этом возникла ошибка, xorrisoсначала необходимо установить ее . с этим:

    sudo apt-get install xorriso
    
  • Iso файл для загрузки создан. Будет хорошо, если мы поместим этот iso-файл в ту же папку, что и созданный нами средний файл.

Установите для виртуальной машины возможность загрузки установленной операционной системы Exact Ubuntu

Мы создали носитель для чтения новой установленной ОС и создали его загрузчик для VirtualBox независимо. Последнее, что нужно сделать, - это настроить Virtual Box.

  • Иди туда, где мы положили наши medium.vmdk. Откройте там терминал и сделайте это:

    chmod -v 666 medium.vmdk
    
  • Как изменение root medium.vmdkи boot.isoразрешение файла. Мы должны быть владельцем этого файла.

  • Откройте VirtualBox. Создать новую машину. Когда опция «Жесткий диск» предоставляет опции, выберите use an existing virtual hard driveи возьмитеmedium.vmdk

  • Завершите, но пока не запускайте. После выбора новой машины откройте настройки.

  • В разделе Storage, если нет CD-хранилища, создайте новое. Затем сделайте mount, boot.isoкоторый мы создали в этом хранилище CD.

  • Прежде чем закрыть Настройки, зайдите в раздел Система, чтобы убедиться. Содержимое компакт-диска boot.isoсначала читается перед записью на жесткий диск. Таким образом, Virtual Box загрузится с компакт-диска, чтобы прочитать новую установленную ОС.

  • Конец. И мы можем запустить новую Установленную ОС как с виртуальной машины, так и с реальной машины.

Важные заметки

Хотя мы можем загрузить его с двух сторон. Есть некоторые проблемы, которые я нашел.

  1. Всякий раз, когда мы загружаемся с реальной машины, а затем пытаемся загрузить ее с виртуальной машины, это будет ошибкой. Потому что физическое состояние диска меняется, не medium.vmdkзная об этом. Итак, нам нужно создать новый носитель и снова изменить его разрешение, чтобы иметь возможность загружаться с виртуальной машины. Но нам не нужно создавать новые boot.iso.

  2. Потому что MAC-адрес от обеих машин отличается. ОС будет сбит с толку при попытке настройки сетевых параметров. В моем случае я установил Ubuntu Server в качестве новой ОС, и каждый раз, когда я загружаюсь с другой машины, он выдает сообщение «Ожидание конфигурации сети ...» в течение примерно 2 минут, а затем загружается.

Вот и все. Мое решение для моей собственной проблемы.


1
Именно то, что я искал сегодня. Но, наоборот, загрузите ОС Windows с физического раздела. Похоже, я тоже могу пойти другим путем.
nelaaro

@nelaaro Я пытаюсь сделать то же самое. У меня есть жесткий диск с установленной Windows10, который я подключил к машине с Ubuntu 14.04. Ubuntu - мой хост, с этого я хочу запустить виртуальную машину Virtualbox моей Windows10. Я создал файл rawvmdk, но не смог загрузиться. Согласно этому ответу, я должен создать ISO-файл, но iso, созданный с помощью вышеупомянутой команды, приводит меня к grub и не способен к загрузке. Можете ли вы помочь?
Фани

1
@nelaaro Я создал отдельный вопрос по этому вопросу: askubuntu.com/questions/944509/… Пожалуйста, помогите мне.
Фани
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.