Me gustaría obtener el mayor rendimiento en ambos sistemas operativos y la capacidad de cambiar entre ellos sin reiniciar. Tengo mucha memoria (32 GB) y espacio en disco.
Las dos opciones fáciles son:
- Arranque dual: esto no permite un cambio instantáneo o casi instantáneo entre sistemas operativos
- Use una máquina virtual (por ejemplo, VirtualBox): esto perjudica significativamente el rendimiento del sistema operativo alojado, especialmente para gráficos
Sería genial (por ejemplo, mediante un método abreviado de teclado o algún otro método similar) cambiar entre los dos sistemas operativos, uno de los cuales está caliente y el otro está "caliente en espera".
Respuestas:
Hay dos formas adicionales de ejecutar Windows y Linux en paralelo que no ha mencionado en su pregunta:
fuente
Creo que la solución con la menor sobrecarga sería usar Linux como su sistema operativo principal y usar KVM (máquina virtual basada en el núcleo, no un conmutador KVM, aunque también podría usarse) para virtualizar Windows. Puede obtener que el rendimiento se acerca bastante a funcionar en metal desnudo hoy en día, e incluso puede pasar a través de una GPU secundaria a la VM o tener una sola GPU dedicada y usar una GPU integrada para el host. También puede usar Looking Glass para una solución mucho más receptiva que el uso de spice (que es lo que virt manager usa de manera predeterminada y es esencialmente lo mismo que usar el escritorio remoto). Https://forum.level1techs.com/t/looking-glass -guides-help-and-support / 122387
La única parte difícil es la compatibilidad de hardware. Hay muchas peculiaridades, como necesitar una CPU y una placa base compatibles con Intel VT-D o el equivalente de AMD, necesitar una GPU lo suficientemente nueva que tenga un UEFI VBIOS (u obtener el VBIOS del fabricante) a través de qué chips pasa su IO que ayuda a dedicar periféricos a la VM, etc.
Recomiendo leer esta publicación de blog para tener una idea de lo que tendría que hacer para configurarlo. Definitivamente no es tan simple como usar virtualbox o VMWare, pero si lo configura a través del administrador virt virt puede omitir muchos de los pasos manuales por los que pasó este tipo. También hay mucha más información sobre todo esto en la wiki de Arch en KVM, QEMU y VFIO. https://heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough/
Con un 2600k, necesitaría cambiar a una versión que no sea K y verificar si su placa base también es compatible con VT-D. Tuve el mismo problema con una 3700k y una placa base incompatible y tuve que cambiarlas, pero terminé ganando un poco de dinero a través de las compras y ventas de eBay.
Para elaborar un poco sobre la terminología que utilicé, aquí hay algunas descripciones breves.
Virt-manager (o Virtual Machine Manager) es una aplicación GUI para administrar sus máquinas virtuales usando KVM. Puede pensar que esto hace que su experiencia sea mucho más cercana a lo que sería si estuviera usando VMWare o VirtualBox. Le proporciona un asistente para configurar la VM, le permite cambiar el hardware que está pasando, le muestra gráficos de uso de recursos y le permite administrar la energía. Más información y capturas de pantalla están disponibles en el sitio web aquí: https://virt-manager.org/
Spice le proporciona acceso remoto a su VM. Es muy similar al uso de escritorio remoto, tanto en uso como en rendimiento, pero virt manager lo usa de manera predeterminada. Ojalá pudiera ser más específico con mi descripción, pero no lo he usado mucho e incluso el sitio web es bastante vago en cuanto a lo que es específicamente. https://spice-space.org/
El espejo es una alternativa al uso de algo como Spice pero con una latencia extremadamente baja. Copia el búfer de cuadros de su GPU a la memoria de su sistema y luego lo escupe en la pantalla. Todavía es muy temprano en el desarrollo, pero funciona muy bien y es mucho más adecuado para aplicaciones que requieren una solución más receptiva. Una guía muy completa para la configuración está disponible en el sitio web del proyecto: https://looking-glass.hostfission.com/quickstart
La otra alternativa a Spice and Looking Glass es simplemente conectar una pantalla a una de las salidas de una GPU pasada. Esto responde mejor pero requerirá otra pantalla o entradas de conmutación en la misma pantalla.
fuente
Como todas las otras respuestas a esta pregunta han mencionado, la virtualización es el camino a seguir. Una forma de minimizar la penalización del rendimiento sería ejecutar Windows como su sistema operativo principal y virtualizar una distribución liviana de Linux. Fuera de mi cabeza, podrías intentar:
Al elegir una distribución liviana, es posible que pueda mitigar el rendimiento lo suficiente como para configurar un sistema con el que esté satisfecho.
fuente
Las aplicaciones GUI de Unix / Linux que utilizan la pila de tecnología X11 (la mayoría de ellas) son inherentemente capaces de mostrarse en una máquina remota (incluido el escenario de una VM conectada a la red y su host).
Puede instalar un servidor de pantalla X11 (hay varias opciones gratuitas y no gratuitas) en su máquina Windows, ejecutar su sistema Linux (o incluso múltiples sistemas Linux) en una máquina virtual, y hacer que los gráficos reales sucedan en las ventanas del lado del servidor X11. Las aplicaciones GUI en el sistema Linux se conectarán al servidor de pantalla X11 a través de la red local (cómo configurar esto está más allá del alcance aquí, ya que hay muchas maneras diferentes de hacerlo. Punteros: la variable de entorno DISPLAY, ssh con reenvío X11, XDMCP).
fuente
Lo hice en una situación de alto rendimiento y logré un rendimiento lo suficientemente cercano al nativo para las aplicaciones que estábamos ejecutando. Esto no es tanto un 'aquí está cómo hacerlo', sino dos ejemplos de dónde lo hice y logré un rendimiento adecuado y resolví un problema.
Para ciencia de datos y desarrollo de software
Mis estaciones de trabajo actuales (una computadora portátil y mi estación de trabajo) tienen Windows 10 y Ubuntu instalados uno al lado del otro en dos particiones separadas. Al arrancar mi máquina, puedo seleccionar Windows o Ubuntu y arrancar en cualquier sistema operativo. Dentro de Ubuntu, uso VirtualBox para arrancar la partición nativa de Windows y ejecutarla como cualquier otra máquina virtual ( ver aquí ).
Todo funciona: arrastrar y soltar, portapapeles compartido y compartir archivos. Ejecuto grandes hojas de cálculo de Excel multiproceso constantemente (no dispare, ¡no las construí!) En mi máquina virtual y todo está muy bien.
Para trabajos geofísicos, geológicos y de ingeniería
Hace unos años, construí una configuración similar usando CentOS y Windows 7. Esto fue para que mis colegas pudieran ejecutar simulaciones geofísicas costosas y hambrientas de rendimiento en Linux sin dejar de tener acceso a software de mapeo 2D y 3D de alto rendimiento en Windows 7 (junto con Outlook y el resto de la suite de Microsoft). Probamos VirtualBox, pero con dinero para gastar, finalmente resolvimos el problema usando VMware Workstation y la transferencia de GPU (el costo era trivial en comparación con los salarios y las licencias de software). Para nuestras aplicaciones, logramos un rendimiento lo suficientemente cercano al nativo en Windows y todos estaban muy contentos con la configuración.
Estas eran máquinas bastante carnosas para su tiempo (alrededor del 2010): Quadro 4000, Xeons de doble núcleo y 32 GB de memoria. La parte más ardua del ensamblaje de estas configuraciones (por lo que recuerdo), fue algo relacionado con un controlador RAID de hardware. Mantuve aproximadamente una docena de máquinas usando esta configuración y nunca tuvimos un solo problema durante la vida útil del proyecto por el que se compraron estas máquinas (~ 2 años). ¡Este fue un resultado fantástico para nosotros porque si una sola máquina estuviera fuera de servicio por una semana, eso nos hubiera costado más en pérdida de productividad que la estación de trabajo en sí!
Conclusión
Puede lograr un rendimiento muy bueno con la opción de arranque dual descrita anteriormente. Lo hice usando VirtualBox y VMware en diferentes ocasiones, usando una combinación en distribuciones de Linux (Mint, Ubuntu y CentOS) y versiones de Windows (7, 10), y siempre logré un rendimiento adecuado para mis necesidades.
La otra ventaja de esta configuración es que puede destruir cualquier partición y dejar atrás Windows o Linux si a) sus circunstancias cambian, o b) esta configuración no es adecuada para sus necesidades. Si el rendimiento no es suficiente, también tiene la posibilidad de arrancar directamente en el sistema operativo donde necesita un poco más de rendimiento.
Finalmente, una nota sobre las licencias: si inicia Windows de forma nativa , verá hardware diferente y lo interrogará sobre las licencias. Este es un problema menor con Windows 10, que simplemente te molestará a medida que te lleves bien con tu trabajo. No recuerdo cómo resolvimos esto para esas estaciones de trabajo geofísicas; Recuerdo que teníamos una licencia por volumen y posiblemente alguna ayuda de un representante de Microsoft.
Epílogo: Remote X y VirtualGL
También he configurado estaciones de trabajo usando VirtualGL y un clúster de GPU para simulaciones de petróleo de alto rendimiento. Incluso hice esto en AWS, pero no lo recomiendo por varias razones: costo, rendimiento y conveniencia.
fuente
No conozco ningún método para hacer esto que no tenga algunas grandes advertencias asociadas.
Si se tratara de un Chromebook, podría usar Crouton para lograr algo como esto. pero lo que esto hace es compartir el núcleo entre Chrome OS y otra distribución, nominalmente Ubuntu. Dado que Windows y Linux usan diferentes núcleos, este enfoque no sería posible. No jugarían muy bien juntos.
Para arrancar el sistema operativo, el núcleo debe tener acceso de bajo nivel al hardware, y ejecutar dos núcleos diferentes (Windows y Linux) uno al lado del otro no sería muy fácil de lograr, si no imposible.
Probablemente algún tipo de virtualización sea su único recurso si insiste en usar una sola computadora. No uso una Mac, pero por lo que he visto, Parallels es bastante transparente: puede "cambiar" entre sistemas operativos con una tecla de acceso rápido. He usado VMWare tanto en Windows como en Linux y me ha sorprendido el rendimiento del sistema operativo alojado (invitado), es casi nativo (aunque no he probado cargas de trabajo gráficamente intensas). VirtualBox es de código abierto y gratuito, funciona bien, pero VMWare funciona mucho mejor. Creo que hay una versión gratuita limitada.
Si insiste en tener un rendimiento nativo para ambos sistemas operativos, entonces el arranque dual es la única forma de lograrlo. Si tiene un SSD rápido (por ejemplo, un Samsung 960 o similar), el reinicio no tiene que tomar tanto tiempo.
fuente
La virtualización de hardware es demasiado problemática. Si bien es bueno para el 90% de las cosas, el otro 10% a veces te bloquea y termina haciéndote desechar todo el concepto.
Alguien aludió a esto en uno de los comentarios, pero creo que las máquinas en paralelo que usan un conmutador KVM es la forma más eficiente de hacer lo que está pidiendo.
Desde hace un par de años, ahora ejecuto dos máquinas Linux y Windows lado a lado. Tengo dos monitores de 32 "sentados uno al lado del otro; uno conectado a la máquina Linux y el otro conectado a la máquina Windows.
Tengo una mesa giratoria ajustable para teclado / mouse que me permite pararme o sentarme y centrarme frente a cualquiera (o ambos) monitores con mi teclado / mouse.
El truco es que el conmutador KVM le permite cambiar inmediatamente entre controlar el cuadro de Linux o controlar el cuadro de Windows.
También puede ir un paso más allá y comprar Synergy, que elimina la necesidad del interruptor KVM por completo mediante el uso de software para cambiar su mouse y teclado entre máquinas.
No más botas dobles molestas, sobrecarga de KVM / VirtualBox / VMWare o incompatibilidades, y todavía sientes que es una sola computadora.
fuente
Dependiendo de lo que intentes lograr, puedes probar Wine.
Desde https://www.winehq.org/ :
Esto le permitiría ejecutar Linux y (algunas) aplicaciones de Windows en paralelo en Linux.
Puede encontrar una lista de aplicaciones de Windows que funcionan con Wine en https://appdb.winehq.org/ .
Personalmente, lo uso para ejecutar algunos juegos en Linux que usan DirectX, que no tiene una versión de Linux. Se sabe que aplicaciones como Microsoft Office funcionan con él.
fuente
Técnicamente, puede habilitar la hibernación en ambos sistemas y reanudar un sistema desde la hibernación después de poner otro sistema en hibernación. Esto será más rápido y más conveniente que el reinicio real. Lo estoy haciendo en mi máquina actual.
Hasta el momento, no parece haber ningún problema, ya que Linux usa el área de intercambio especial para almacenar la imagen de hibernación, mientras que Windows usa la partición del sistema.
fuente
Quieres colinux . Se ajusta a sus necesidades casi a la perfección: el núcleo de Linux se ejecuta como un proceso privilegiado especial en Windows, sin impacto en el rendimiento dentro del núcleo (aunque los periféricos todavía están virtualizados y los gráficos pasan por el protocolo X11). Pero , desafortunadamente, el proyecto ya no se está desarrollando ... y otros enfoques (VirtualBox, etc.) han madurado desde entonces y ofrecen una experiencia de usuario mucho mejor.
fuente
Todo tiene ventajas y desventajas. Estos son los que funcionan para mí a partir de mayo de 2018:
VirtualBox : esto funciona. Ahora. Cada día. Ejecuto un host de Windows y una VM de Ubuntu. Todo es excelente, incluido el soporte para múltiples monitores y las redes (uso el modo Bridged para que cada VM solo aparezca en la red separada del host). No soy fanático de las soluciones controladas por "los grandes", pero honestamente Oracle ha hecho este producto correctamente (al menos por el momento).
Ejecute varias computadoras, ¡es una excelente manera de hacerlo! Synergy puede incluso permitirle empujar el mouse y el teclado sobre todos ellos. Los DDV USB KVM también son buenos, ¡pero son caros!
Arranque dual: ejecuto arranque cuádruple o más en la mayoría de mis computadoras. Tendrá que aprender sobre las particiones GPT y MBT heredadas y cómo cada uno de sus sistemas operativos las divide. Refind hace un trabajo increíble al ayudarlo a hacerlo bien, especialmente si tiene hardware semi-moderno. Aunque siempre configuro el arranque de Windows-Ubuntu (-Mac) en todas mis PC, en la práctica nunca reinicio en un sistema operativo diferente. Es simplemente demasiado disruptivo. En cambio, siempre termina dedicando cada computadora a un conjunto específico de tareas en un sistema operativo.
Ejecute un servidor X en Windows y extraiga ventanas de Linux desde una VM de red. Se puede hacer; Ejecuté x2go con éxito por un tiempo. Pero vea el siguiente elemento para saber por qué no seguiría esta ruta.
Use una máquina virtual en (cualquier) red: he intentado desarrollar desde una máquina virtual AWS, desde máquinas virtuales vSphere y todo tipo de otras combinaciones, y siempre renunciará a eso en poco tiempo, porque es esclavo de la red problemas con los que NO querrás lidiar en medio de tu desarrollo. Ni siquiera lo pienses, incluso si tienes recursos de red increíblemente sorprendentes.
Como nota final, debo mencionar que siempre desarrollo en una máquina Ubuntu dedicada siempre que sea posible. Las soluciones de VirtualBox me han salvado el trasero en la América corporativa. Acércate con una imagen de VM en tu bolsillo, instala VirtualBox en tu nueva y horrible computadora portátil de Windows, ¡listo!
fuente
Además de las otras soluciones propuestas aquí, también existe un enfoque de "virtualización cruzada" que una vez probé:
/home
yDocuments and Settings
) separada de la partición del sistemaEsto todavía significa que tendrá la sobrecarga de virtualización para uno de los dos sistemas operativos. Pero puede decidir en el arranque cuál será el host y cuál será el invitado.
Los datos se comparten a través de la red (por ejemplo, instalando Samba en la caja de Linux).
Deberá mantener cada configuración del sistema operativo dos veces (la instalación del host y la VM): técnicamente tiene cuatro computadoras, a menos que use el acceso directo que se describe a continuación.
Dado que Linux (al menos los diversos sabores de Ubuntu) se adapta fácilmente al hardware cambiante (hasta el punto de que podría extraer el disco de mi computadora portátil anterior, instalarlo en la nueva y solo tenía los adaptadores de red para reconfigurar), podría También haga que la máquina virtual Linux arranque el sistema desde una partición sin formato. De esa manera, los cambios realizados en el host de Linux también se reflejarían en la VM y viceversa, las únicas excepciones serían las configuraciones vinculadas a un dispositivo de hardware en particular.
Las licencias de Windows pueden ser una advertencia aquí. (En aquel entonces, estaba en Windows 2000, donde todo esto era más fácil). En lo que respecta a Windows, lo está ejecutando en dos configuraciones de hardware diferentes (procesador, disco, adaptador de red). Si bien no estoy seguro de las implicaciones legales, pero el procedimiento de activación del producto puede requerir que obtenga dos licencias. (Si puede hacer que Windows se ejecute desde una partición sin formato en una máquina virtual, probablemente detectará un cambio de hardware y requerirá una reactivación cada vez que cambie entre la configuración de host e invitado).
fuente
Hago esto (aunque cambio entre macOS y Windows) al tener Windows en una VM en la nube y no alojado en mi Mac. Anteriormente utilicé Boot Camp para el arranque dual y luego una máquina virtual local que usaba VMware Fusion, pero descubrí que tener un Windows basado en la nube y usar Conexión a Escritorio remoto era lo más conveniente para cambiar.
(Solo puedo usar CMD-TAB para cambiar de escritorio al instante).
Espero que esta experiencia te sea útil.
fuente
Olvídese de máquinas virtuales, Wine y arranque dual. Recomiendo encarecidamente simplemente tener dos máquinas, la de Windows sin cabeza, y el escritorio remoto de Linux usando algo como Remmina .
Es razonablemente transparente a través del portapapeles compartido y las carpetas de inicio. Puede que no sea práctico para algunos que solo necesitan una computadora portátil, pero es una excelente opción si solo puede estar en su escritorio. No tienen que ser máquinas nuevas; solo envejezca alrededor de 2012, es posible que tenga por ahí.
fuente
Algunas sugerencias innovadoras que pueden adaptarse a ciertos casos de uso de nicho:
Si corres sin cabeza, Linus corre casi en cualquier lugar y es increíblemente liviano. Lo he ejecutado antes como un servicio de Windows y he podido conectarlo desde un cliente ssh o un servidor X que se ejecuta en Windows (por lo que todas las GUI de Linux solo se muestran).
En la misma línea, puede pegar con cinta adhesiva un raspberry pi en la parte posterior de su computadora portátil, conectarlo a su puerto USB y hacer que ambas computadoras funcionen al mismo tiempo. Una vez más, debe usar su máquina Windows para acceder a su máquina Linux, pero con esta solución aún puede ejecutar sin cabeza para el acceso X / ssh, pero también puede usar el escritorio remoto (RDP) en el PI y usar su implementación X, lo que debería brindarle un Mejor experiencia de escritorio de Linux (la última vez que lo comprobé, los servidores X gratuitos para Windows eran lentos, difíciles de configurar y propensos a errores)
Ninguno de estos le proporcionará una estación de trabajo Linux de pantalla completa de alta velocidad, pero para ciertas situaciones ofrecen soluciones interesantes.
Y estaba bromeando sobre la cinta adhesiva ...
principalmente.
fuente
Si bien recomendaría una VM (los modos integrados de VirtualBox y VMWare son realmente útiles para una mejor integración), existe otra posibilidad:
Hay servidores X para ventanas como Xming y potentes soluciones de escritorio remoto como xpra .
Con uno de ellos, puede ejecutar un Linux en una VM (o incluso una solución como AndLinux que ejecuta un kernel de Linux en Windows) y mostrar las aplicaciones en el servidor de visualización nativo o mediante la herramienta de escritorio remoto.
De esta manera, puede obtener más ventanas nativas y, dependiendo de la VM, un mejor rendimiento para las aplicaciones de IU.
fuente
Utilice un sistema GNU / Linux de su elección en su host y luego una solución PaaS. Uno que sea factible para ti sería " Shadow ".
Básicamente se ejecuta como una aplicación en su host, pero en realidad es una computadora en la nube. Simplemente puede cambiar a la aplicación sin problemas, al igual que enfocaría cualquier otra aplicación.
https://youtu.be/vVOKBaIxXVA?t=6
fuente