Двойная загрузка или виртуальная машина для Linux программиста, который занимается разработкой Visual Studio?

сценарий:

  • Я внештатный разработчик программного обеспечения, который в основном разрабатывают на Linux (Python, MySQL, MongoDB и т.д.)
  • мой рабочий компьютер ноутбук Lenovo ж / процессор i7 и 8 ГБ оперативной памяти. Большой HD + 128 ГБ SSD. ОС Ubuntu Linux

Я мог бы получить некоторые проекты .NET / C# в ближайшем будущем, поэтому я ищу некоторые рекомендации по следующему:

  • должен ли я пойти на решение с двойной загрузкой или использовать виртуальные машины для Окна?
  • Если я иду двойной загрузки: какова рекомендуемая последовательность установки? Сначала Windows или Linux? (Я смотрю на полную переустановку Ubuntu, чтобы получить последнюю LTS в любом случае, чтобы я мог начать устанавливать все свежее)
  • If I go VM: как VMWare Workstation и VirtualBox сравнивают производительность?
  • моя мечта установки, вероятно, будет следующим:
    • двойной загрузки
    • но если я загружаюсь в Linux, я могу загрузить Раздел Windows как виртуальная машина. Такое возможно?
    • и / или: если я загружаюсь в Windows, я могу загрузить раздел Linux как виртуальную машину. Такое возможно?
20
задан studiohack
23.04.2023 21:16 Количество просмотров материала 3019
Распечатать страницу

7 ответов

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

но если я загружаюсь в Linux, я могу загрузить раздел Windows как виртуальную машину. Такое возможно? И / или: если я загружаюсь в Windows, я могу загрузить раздел Linux как виртуальную машину. Такое возможно?

короткий ответ-да.

длинный ответ да, но с количеством оговорок и последствий.

пока в январе этого года (когда мы получили новые машины) у меня был мой рабочий компьютер, настроенный либо на двойную загрузку, либо на использование Linux в качестве хоста для виртуальной машины Windows 7, которая напрямую обращалась к разделу Windows. Я никогда не беспокоился о том, чтобы использовать Windows в качестве хоста для виртуальной машины Linux с прямым диском, но это также возможно. Мой компьютер использовал устаревший BIOS/MBR, я не уверен, как это сделать, если вы используете UEFI / GPT.

Я выбрал VirtualBox, чтобы сделать это, но из того, что я понимаю, это также должно быть возможно с Компании VMware.

производительность была вполне приемлемой для моих целей; я дал Windows 1 ядро процессора, 2 ГБ памяти, 1 монитор, и я не помню, сколько видеопамяти. Виртуальная машина была способна воспроизводить видео и работать с моим приложением JAVA GUI и многими веб-сайтами с богатым контентом.

Я буду обсуждать странности, прежде чем вдаваться в подробности:

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

  • каждый раз, когда запускалось обновление Windows (или любая другая операция ввода-вывода на большом диске), мой жесткий диск был раздавлен под нагрузкой, и все на обеих машинах стало медленным. Перемещение каждой ОС на свою выделенную жесткий диск исправил эту проблему; использование твердотельного накопителя также решило бы проблему.

  • по какой-то причине Ubuntu иногда не любил просыпаться после приостановки (возможно, 20% времени), что было эквивалентно жесткому отключению питания для моей виртуальной машины Windows. В результате я бы выключал виртуальную машину каждый вечер перед приостановкой хоста.

  • Я должен был быть очень осторожным, чтобы никогда не пытаться смонтировать раздел Windows в Linux, чтобы предотвращение возможного повреждения/потери данных. Я быстро добавил правило udev, чтобы предотвратить это.

хорошо, если это не звучит слишком плохо, вот детали: Самая полезная ссылка я нашел для этого этот блог: http://www.rajatarya.com/website/taming-windows-virtualbox-vm. Здесь приведены обобщенные действия:

  • RTFM. Очень. Вы будете использовать команды, которые могут повредить вашу файловую систему неправильный.

  • найти разделы.

  • измените разрешения для разделов (в качестве альтернативы вы можете загрузить свою виртуальную машину с помощью sudo, но тогда любые файлы, созданные на общем диске хоста/гостя, будут принадлежать root).

  • создайте MBR, чтобы гость не пытался использовать обычный загрузчик.

  • используйте внутреннюю команду VirtualBox для создания образа vmdk для ВИРТУАЛЬНАЯ ПАМЯТЬ.

  • создайте виртуальную машину. Используйте только что созданный vmdk.

  • загрузка и восстановление установки.

Я ожидал бы найти многие из тех же проблем, используя хост Windows, но Linux, вероятно, будет обрабатывать другое оборудование более элегантно. Это действительно может быть проще, хотя использовать общий /домашний (и, возможно, / opt) раздел (Ы) и просто иметь разные корневые разделы для собственного гостя vs машины.

12
отвечен KJP 2023-04-25 05:04

Я делаю наоборот, как правило, что это моя домашняя сеть Windows 7 машины и я запускать различные версии Linux как Виртуальной машины. Как Linux может функционировать довольно красиво при ограниченных ресурсах, это работает для меня, хотя у меня всего 4 ГБ ОЗУ (против вас, это не значит, что я запустить одну виртуальную машину в то время, и как правило, дать ему 1024Мб оперативной памяти в самых, чтобы сохранить достаточно для Windows).

ваши 8 ГБ оперативной памяти должны позволить вам запускать виртуальную машину Windows довольно легко. Думаю, единственный большой вопрос вот тип результатов, которые вы хотите измерить для своего развития. Я бы не стал полагаться на какие-либо показатели производительности/пропускной способности для элементов, разрабатываемых в виртуальной машине (если только она не будет развернута в аналогичной среде виртуальной машины с теми же спецификациями по всем направлениям). В противном случае вы должны быть хорошо идти.

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

Я использовал как VMWare, так и VirtualBox,и я не видел никаких реальных хитов производительности. Я не пошел в меру бенчмаркинга виртуальной машины внутри, я просто не заметил никакого негативного влияния с любой платформы (по-прежнему использовать VirtualBox дома, и VMware на работе).

12
отвечен user123 2023-04-25 07:21

Это зависит от того, как вы работа и как вы хотите, чтобы ОС feel.

двойная загрузка означает перезагрузку и загрузку Если вы хотите изменить ОС, это займет времени. Как вы фрилансер, вы работаете 8 часов подряд с проектом, не делая "ваших" вещей ("ваши вещи" будут вами на вашей загрузке linux).

Если вы работаете 8 часов подряд в Windows, а затем проводите остаток дня в Linux, используйте двойную загрузку. Если вы работаете 30мин и после этого хотеть делать что-то в Линуксе, переключать к работе снова на 3 часа, после этого в линукс снова ЕТК. Затем я бы выбрал VM.

Если вы не знаете как делать. Двойная загрузка и при запуске виртуальной машины в windows. Вы увидите четкую разницу между ними, и вы предпочтете один над другим.

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

появилась проблема, когда дело доходит до обмена файлами. Это больше работы, чтобы поделиться на двойной загрузки (представьте себе, редактирование файла в загрузке windows, то загрузка в linux только, чтобы понять, что вы пропустили линию и должны перезагрузиться в windows, кошмар!) где на виртуальной машине вы можете использовать NFS или samba для обмена файлами между ОС в режиме реального времени время, без проблем.

также о не хватает оперативной памяти, как сказал Абоба, мусор я говорю. Я запускаю 4 ГБ и виртуальную машину в Windows8. Помните о том, какие ресурсы нужны вашему проекту.

8
отвечен Karl Morrison 2023-04-25 09:38

или как насчет этого. Вы заинтересованы в .net / C#, так почему бы просто не использовать Mono на linux? Его очень кросс-платформенный в смысле java.

5
отвечен hanetzer 2023-04-25 11:55

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

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

единственная загвоздка в том, что некоторые функции требуют вашего процессора для поддержки визуализации, однако каждый i7 делает (afaik), так что это не должно быть проблемой для вас.

изменить:

Xen содержит свой собственный микроядро, Debian не требуется, чтобы запустить его, единственная причина, нужны системы Линукс состоит в перенастройке Xen в качестве настройки программы для Linux программы, которые вы запускаете на одной из гостей (гостевой термин Ксен использует для обозначения ВМ). У вас может быть только linux, только windows или оба запущены в любое время, но вам понадобится linux, чтобы настроить параметры Xen, поэтому рекомендуется оставить небольшой linux, работающий в фоновом режиме, чтобы сделать это, когда это необходимо.

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

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

также можно иметь одного гостя непосредственно с помощью видеокарты в проходном режиме, как описано выше, но все равно смотреть на других людей с помощью местных VNC как протокол, которая делает на экране с другими гостями в окнах (думаю, как Virtual Box или удаленного рабочего стола), а одна имеет прямого контроля видеокарты; или, Конечно, вы можете просто переключаться между гости экранируют давать один сразу доступ одновременно.

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

4
отвечен Vality 2023-04-25 14:12

в соответствии с моим опытом( я также работаю на .Net приложений в то время как тестировать интересные вещи и решать проблемы algo на linux), двойной загрузки будет ваш лучший выбор.

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

еще одна вещь, на которую я бы указал, что не торопитесь и попробуйте запустить виртуальную машину и проверьте, комфортно ли вам с ней.

Что касается порядка

1) Сначала установите windows, а затем linux (preffered)

2) Сначала установите linux, затем windows (затем вам нужно переустановить загрузчик )

еще одна вещь, которую я хотел бы добавить, что для небольших проектов .Net вы можете использовать даже linux с помощью mono, поэтому нет необходимости переключаться между windows и linux.

3
отвечен Pratik Singhal 2023-04-25 16:29

Я занимаюсь много переключаемой разработкой linux / Visual Studio чуть более года, начиная с Visual Studio и переходя на linux с течением времени (мне нравятся apt, zsh и vim!).

Я начал с Windows хостинг Ubuntu в VMWare Player, который работал довольно хорошо, конечно, здорово, если вы в первую очередь делает развитие Visual Studio и просто иногда нужно некоторые linux только пакет или что-то. Со временем я обнаружил, что я хотел, чтобы моя работа была в среде linux больше часто и интеграция ВМ имела несколько болевых точек, так...

поскольку я переключился на разработку в основном linux (много AS3 в IntelliJ и некоторый узел + python) с редкой потребностью в Windows (ASP.NET сайт), я перевернул, что вокруг Ubuntu хостинг VirtualBox (с помощью disk2vhd -> .vdi моего старого диска windows). После изрядного количества игр я довольно доволен этим, учитывая разделение работы, которое у меня обычно есть, но если вы делаете какое-то серьезное количество Visual Studio, вы, вероятно, хотите Windows хостинг Linux, VirtualBox или VMWare Player должен быть в порядке.

Я должен отметить несколько болевых моментов, хотя: со стандартным Ubuntu 14.04 AMD video drivers 3D-ускорение VirtualBox делает Visual Studio ~10-100x медленнее, поэтому отключите ускорение ценой некоторой медлительности; и вы действительно хотите работать на SSD)

1
отвечен Simon Buchan 2023-04-25 18:46

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

Ваш ответ

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

Имя

Похожие вопросы про тегам:

boot
linux
virtualization
visual-studio
windows
Вверх