С Linux Mint в качестве основной ОС, двойной загрузки Windows 7 и имеют Windows 7 виртуальную машину, используя ту же установку Windows

Я собираюсь установить Linux Mint 17.1 (Cinnamon) в качестве моей основной ОС. Я также хочу иметь возможность время от времени загружаться в Windows 7. Я также хочу запустить виртуальную машину Windows 7 внутри Linux. В идеале я хотел бы иметь одну установку Windows 7, которую я могу загрузить или запустить с виртуальной машины изнутри Linux. Это возможно? Какое программное обеспечение виртуальной машины поддерживает это? В идеале я хотел бы начать с установки как Linux, так и Windows без участия виртуального затем установите виртуальную машину, которая будет работать только с этой установкой Windows 7.

Я уверен, что многие захотят знать, почему я хочу сделать это. Я предпочитаю работать в Linux, насколько это возможно. Однако иногда мне нужно будет запускать некоторое программное обеспечение Windows, которое должно работать достаточно хорошо в эмулированной среде. В другое время, я могу хотеть играть в игры на Windows 7 и получить полную мощность моей видеокарты и другого оборудования, загрузившись непосредственно в Windows. Я не хочу иметь дело с несколькими установками Windows, я не хочу покупать еще одну копию Windows, и я не хочу, чтобы она занимала столько места, сколько две установки. Я не уверен, что DVD-диски восстановления Windows 7, которые я сделал, будут работать иначе, чем просто установка его обычно без участия виртуальной машины.

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

обновление

теперь я знаю, что я предпочел бы использовать KVM, VirtualBox или другой вариант, который является бесплатным и открытым исходным кодом. Можно ли делать с KVM или VirtualBox то, что я хочу?

7
задан still_dreaming_1
30.01.2023 13:00 Количество просмотров материала 2787
Распечатать страницу

1 ответ

Warning: Это очень чувствительная операция. Вы можете очень легко повредить систему и потерять данные. То, что сработало для меня, может не сработать для тебя. Было бы разумно сделать все необходимые резервные копии, прежде чем продолжить.

мой опыт и этот сайт являются источником этой информации: http://fds-team.de/cms/articles/2013-12/use-a-real-windows-7-partition-in-virtualbox-kvm-vmware-player-u.html этот сайт также содержит другие детали, которые могут быть полезный.

эти инструкции предназначены для Linux Mint 17.1, но шаги должны быть аналогичны для других дистрибутивов Linux, особенно на основе Ubuntu. Я рекомендую использовать KVM вместо VirtualBox или VMware Player или других продуктов VMware. Для получения инструкций о том, как заставить это работать в чем-то кроме KVM, см. ссылку.

почему KVM? Из исследования, которое я сделал, в настоящее время в этой категории есть три основных игрока. KVM, VirutalBox и несколько других продукт VMware. Продукты VMware не являются открытым исходным кодом, и ни один из них не является бесплатным для коммерческого использования. VirtualBox является свободным и открытым исходным кодом, но если вам нужно добавить поддержку USB 2.0, вам нужно установить пакет расширения, которые вы не должны использовать для бизнеса/коммерческого использования. Несмотря на то, что USB 3.0 поддерживается без этого пакета расширения, поддержка USB в VirtualBox более проблематична, чем в продуктах VMware или KVM. KVM является открытым исходным кодом и свободно использовать для бизнес/коммерческое использование. KVM позволяет избежать накладных расходов, используя модуль ядра, добавленный в Linux, тем самым улучшая производительность и совместимость: http://blog.scalecomputing.com/kvm-or-vmware-why-kvm-is-right-for-the-times-part-1-of-2/

в следующих инструкциях я объясняю, как использовать virt-manager, который будет использовать KVM под капотом, поэтому вы можете использовать GUI вместо того, чтобы настраивать все в KVM через терминал.

  1. установить как Linux и Windows 7 на том же жестком диске на отдельных разделах, если они еще не установлены. Если вы устанавливаете их на отдельные диски, обратитесь к инструкциям по ссылке. Настройте их так, чтобы между ними можно было выполнять двойную загрузку. Получите ваши разделы настроить, как вы хотите, прежде чем продолжить. Примечание: некоторые установки Windows создать отдельный раздел для гибернации. Если вы хотите удалить этот раздел сейчас самое время это сделать. Вам придется искать инструкции для этого, но я знаю, что вы можно сделать это изнутри окна. Если вы не сделаете это правильно/полностью, раздел может воссоздать себя. Поэтому, если вы решите удалить этот раздел, перезагрузите компьютер и загрузитесь в Windows, чтобы увидеть, если он воссоздает раздела.

  2. загрузка в Linux.

  3. выясните путь к жесткому диску, который содержит как Linux, так и Windows. Обычно это /dev/sda на Linux Mint 17.1 вы можете запустить диски из главного меню, чтобы увидеть путь к жестким дискам. Выберите жесткий диск из списка дисков. Теперь информация о вашем жестком диске займет остальную часть окна. В верхней части этой информации он должен отображать размер вашего жесткого диска жирным шрифтом с нужным вам путем в небольшом тексте под ним.

    Примечание: отныне я буду использовать /dev/sda для ссылки на путь к жесткому диску, содержащему разделы для Windows 7 и Linux. Вам нужно заменить это на правильный путь.

  4. Run sudo fdisk -l /dev/sda получить некоторую необходимую информацию о разделах на вашем жестком диске с Виндовс 7. Скорее всего, вы увидите два раздела NTFS, используемые Windows 7. Первый довольно маленький. Он содержит загрузчик и систему восстановления. Другой раздел NTFS должен быть намного больше, так как он содержит фактическую установку Windows 7. Как разделы NTFS будут необходимы для ВМ.

    цель: теперь ваш цель-создать виртуальный жесткий диск. Это позволит вам настроить MBR, чтобы быть и оставаться правильным, независимо от того, загружаете ли вы Windows 7 с виртуальной машины или напрямую. Это избавит вас от необходимости запускать утилиту восстановления при каждом переключении между загрузкой в Windows 7 напрямую и с виртуальной машины. Я использую device-mapper для создания линейно сопоставленного виртуального жесткого диска, сопоставленного с устройством loop back и двумя разделами Windows 7. Веб-сайт, который я получил большинство из этих шагов от вас использовать RAID, тем не менее, у меня были проблемы с получением, что работать правильно. С RAID виртуальный диск был слишком мал из-за округления размера блока. https://unix.stackexchange.com/questions/217078/raid-mdadm-virtual-disk-too-small настройка линейного отображения device-mapper кажется более подходящей, и это позволяет избежать проблемы округления размера блока. У меня был успех с device-mapper.

  5. Проверьте вывод fdisk на предыдущем шаге. Определите, сколько байт занимает один сектор занимать. Если ваши участки 512 байта как мои, то это сделает вещи более легким.

  6. Проверьте вывод fdisk еще раз. Определите, сколько секторов не используется до начала первого раздела. В моем случае первый раздел начинается с сектора 2048, что означает, что первые 2048 секторов не используются ни одним разделом (0-2047). Содержит загрузчик GRUB.

  7. создайте образ байтов из предыдущего шага, используя следующая команда. Вам нужно будет заменить 2048 на правильное количество секторов. Если ваши секторы не 512 байт, вам также необходимо указать параметр bs=bytes_per_sector:

    dd if=/dev/zero of=boot.mbr count=2048  
    

    теперь у вас должен быть файл образа с именем boot.mbr в текущем каталоге.

  8. Проверьте вывод fdisk еще раз. Определите путь к разделам Windows 7. Для меня они являются первыми двумя перечисленными разделами, и оба они используют NTFS. Мои два пути являются /dev/sda1 и /dev/sda2

    Примечание: отныне, я буду использовать /dev/sda1 и /dev/sda2 для ссылки на разделы Windows 7. Вам нужно будет изменить их на правильный путь в вашей системе.

  9. создайте устройство обратной петли из файла изображения:

    sudo losetup /dev/loop0 boot.mbr

    это позволяет сопоставить устройство loop0 с виртуальным диском.

  10. создайте файл, который будет определять что сопоставляется с виртуальным диском. Этот файл будет использоваться device-mapper. Я кладу в ~/ВМ/virtual_windows_disk_def.

  11. внутри ~ / vm / virtual_windows_disk_def создайте строку для каждого отображения. Каждая строка должна иметь вид "logical_start_sector num_sectors linear destination_device 0". линейный просто означает, что мы делаем линейную карту. destination_device должен быть путем к устройству. 0 означает, что сопоставление начнется в первом секторе целевого устройства. Первая строка должна отображать загрузку.mbr к началу виртуального диска. Вам понадобится дополнительная строка для каждого раздела Windows 7. Вот содержимое моего файла:

    0 2048 linear / dev / loop0 0

    2048 3072000 linear / dev / sda1 0

    3074048 447886719 linear / dev / sda2 0

    это, как я получил правильное количество секторов для каждой строки:

    blockdev --getsize не / dev / loop0

    blockdev --getsize не на /dev/sda1, поскольку

    blockdev --getsize/dev / sda2

  12. проверьте, присутствует ли /dev/mapper/control. Если нет, попробуйте загрузить модуль ядра dm_mod:

    modprobe dm_mod

  13. sudo dmsetup create virtual_windows_disk ~/vm/virtual_windows_disk_def

  14. убедитесь, что /dev/mapper/virtual_windows_disk имеет правильный размер.

  15. запустить fdisk в интерактивном режиме для установки двух секций на /Дев/маппер/virtual_windows_disk диск полностью и точно соответствовать вашей секции два окна на вашем устройстве /dev/диск ПДД. Для завершения этого процесса можно использовать экранную справку и инструкции. Если вы не можете настроить разделы идеально, quit вместо записи / сохранения этих разделов. Насколько я знаю, это то, что нужно для каждого раздела: начальный сектор, конечный сектор, независимо от того, загрузочный он или нет, и файл тип системы. Замените 512 байтами на сектор для диска /dev/sda (это запустит fdisk в интерактивном режиме):

    sudo fdisk -b 512 /dev/mapper/virtual_windows_disk
    
  16. sudo chown your_username:group /dev/mapper/virtual_windows_disk

  17. в главном меню запустите Диспетчер виртуальных машин (это virt-manager).
  18. внутри virt-manager выберите Файл - >Добавить соединение.
  19. убедитесь, что гипервизор установлен в QEMU / KVM.
  20. убедитесь, что флажок для подключения к удаленному хосту непроверенный.
  21. убедитесь, что установлен флажок Автосоединение.
  22. Нажмите кнопку "Connect", чтобы создать соединение.
  23. щелкните правой кнопкой мыши на соединении (localhost (QEMU)) и выберите Создать.
  24. введите имя.
  25. для "выберите способ установки операционной системы "выберите" импортировать существующий образ диска".
  26. Нажмите кнопку "Вперед".
  27. в разделе "укажите существующий путь к хранилищу" нажмите кнопку Обзор и выберите /dev / md-0 (в моей системе это было автоматически настроено как псевдоним для /dev / mapper / virtual_windows_disk)
  28. продолжайте идти вперед до тех пор, пока ВМ. Он должен указывать на проблему, которую необходимо устранить. Windows не может загрузиться из-за этой проблемы, но, по крайней мере, если вы получаете эти результаты, вы находитесь на правильном пути.
  29. заставляют ВМ закрыли.
  30. подключите DVD/образ для установки/восстановления Windows к виртуальной машине. На моем компьютере уже установлена Windows, но Toshiba предоставила способ создания и восстановления DVD-дисков. Для меня мне нужно использовать диск 4, так как это диск с средой восстановления Windows. Я смог создать ISO этого диска изнутри Linux. Я предпочитаю просто прикрепить ISO к виртуальной машине в качестве компакт-диска, а не помещать диск в дисковод, но в любом случае работает.
  31. в области сведений о виртуальной машине выберите "Параметры загрузки". Убедитесь, что установлен флажок "Включить меню загрузки". Убедитесь, что жесткий диск и CDROM проверены с указанием будут параметры загрузки. Переместите жесткий диск в верхнюю часть с помощью кнопок со стрелками на компакт-диске чуть ниже. Нажмите кнопку "Применить", чтобы сохранить изменения. Теперь, когда виртуальная машина загружается, она должна подождать некоторое время, чтобы дать вам изменение, чтобы нажать F12, чтобы выбрать устройство для загрузки.
  32. запустите виртуальную машину и нажмите F12 для доступа к меню загрузки.
  33. загрузка с диска DVD / CDROM. Это должно начать ваш диск установки/восстановления Windows.
  34. инструкции от другой веб-сайт говорит, чтобы нажать shift + F10 для доступа к командной строке, но это ничего не делает для меня. Мне пришлось выбрать Параметры восстановления системы (вместо вариантов восстановления Toshiba). Следующий.
  35. в моей системе автоматически запускается диагностика и компьютер предлагает исправить найденную проблему. Не дайте ему сделать ремонт, выберите другой вариант.
  36. убедитесь, что "использовать средства восстановления..."выбирается вместо" Восстановить компьютер с помощью образа системы...". Вы должны увидеть Windows 7 в списке операционных систем. Убедитесь, что он выбран, и нажмите "Далее". Щелкните ссылку "Просмотреть дополнительные параметры"..."
  37. выберите Открыть командную строку.
  38. введите в командной строке следующую команду:

    bootrec /FixMbr

    теперь ваша виртуальная машина должна быть загрузочной, но пока этого не делайте.

  39. определите, какая буква диска была назначена для установки Windows, введя следующие команды в строке:

    dir C:

    dir D: Один из них должен указывать, что буква диска не пуста и содержит ваши файлы. Это правильная буква диска, необходимая для следующего шага. Для меня это был drive C.

  40. теперь необходимо найти подпись диска в реестре. Введите эти команды в приглашение:

    reg load HKLM\Computer_System D:\Windows\system32\config\system

    regedit

  41. перейдите к Раздел HKEY_LOCAL_MACHINE\Computer_System\раздел mounteddevices. Найдите запись \DosDevices\X:, где X совпадает с буквой диска, записанной два шага назад. На следующем шаге необходимо будет сослаться на данные из этой записи.
  42. не закрывая редактор Regsitry, активируйте окно командной строки. Введите следующие команды:

    diskpart

    DISKPART> select disk 0

  43. для следующего шага, вам нужно будет заменить буквы в конце с первыми четырьмя наборами символов в настоящее время отображается значение для этой записи в редакторе реестра. Однако вам нужно будет изменить порядок наборов. Например, если вы видите Ab cd ef gh, вам понадобится ghefcdab в конце команды:

    DISKPART>uniqueid disk id=ghefcdab

  44. введите следующую команду: exit. Программа diskpart должна выйти, оставив вас внутри обычной командной строки.
  45. закрыть реестр редактор.
  46. введите это в командной строке: reg unload HKLM\Computer_System
  47. закройте командную строку.
  48. если вы видите возможность перезагрузки или выключения, сделайте это сейчас. В противном случае поручите виртуальной машине завершить работу. Если это не сработает, принудительно завершите работу виртуальной машины. Если виртуальная машина выключена, оставьте это так. При перезапуске или завершите работу вручную, или если это невозможно, принудительно завершите работу.
  49. в ваши детали ВМ, проверьте "настройки" стрелка Показать дополнительные параметры. Нажмите кнопку" Копировать конфигурацию ЦП хоста". Нажмите кнопку "Применить". С тобой покончено! Следующие шаги помогут вам убедиться, что все работает правильно.
  50. запустите виртуальную машину. Он должен загрузиться в Windows, как правило, без каких-либо проблем или ремонта необходимо. Завершите работу виртуальной машины.
  51. не отрывайте глаз от экрана во время следующего шага. Выключите систему, выбрав спящий режим (в противном случае вам придется повторить некоторые шаги При загрузке Linux снова). Запустите компьютер и загрузите Windows напрямую. Смотрите на экран внимательно, чтобы увидеть, если какие-либо ремонтные работы происходят или необходимы. Если все правильно, он должен загрузиться в Windows без каких-либо ремонтных работ. В моей системе, когда все не настроено правильно, она автоматически восстанавливает окна, а затем загружается в Windows, как будто ничего плохого не произошло, поэтому вы должны внимательно следить за экраном. Если требуется ремонт, что-то пошло не так с изменением подписи, которое вы сделали в средство diskpart. Загрузитесь в Linux и повторите соответствующие шаги, будучи очень осторожным, чтобы получить правильную подпись.

предложение

шаги, связанные с созданием устройства обратной петли, и настройка виртуального диска /dev/dm-0 с помощью device-mapper должны будут повторяться каждый раз при загрузке Linux. Вы должны написать сценарий так, чтобы вы могли просто запустить скрипт перед запуском virt-manager. Сейчас этот сценарий выходит за рамки этого ответа, но я могу добавьте его позже после того, как я создам его для своей системы.

советы

  • как вы пытаетесь получить вещи работает, если вам нужно перезагрузить компьютер во время Linux работает с целью загрузки в Windows непосредственно, я предлагаю спящий режим, а затем запустить компьютер. Таким образом, когда вы в конечном итоге снова запустите Linux, вы не потеряете работу, которую вы сделали. Это поможет вам, пока вы не получите настройки сценария, но это не постоянное решение, как вы со временем потребуется полностью перезапустить Linux по-настоящему.
  • если вы застряли где-то из-за проблем с virt-manager или KVM, вы можете попробовать другие варианты, такие как VirtualBox или VMware Player. Так как это решение создает виртуальный диск, вы можете переключаться между различными программами виртуальных машин без потери прогресса. Даже после того, как все работает, это часть красоты этого решения. В любое время вы хотите, вы можете запустить установку Windows с обычными окнами ботинок или любая программа виртуальной машины вашего выбора. Просто не запускайте одновременно несколько виртуальных машин.
  • веб-сайт большая часть этой информации пришла из предполагает, что вы, вероятно, получите гораздо лучшую производительность KVM, если вы установите драйверы VirtIO на вашей установке Windows. Я еще не пробовал.
3
отвечен still_dreaming_1 2023-01-31 20:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх