====== Virtualization software ====== === Hosted [[wp>hypervisor|hypervisors]] ([[wp>full virtualization]]) === * [[http://www.vmware.com/products/server/|VMVare]] * [[http://www.virtualbox.org/|VirtualBox]] by Sun, see [[http://virtualboxes.org/images/|images here]]. * [[http://xmodulo.com/2013/04/vmware-player-vs-virtualbox-feature-comparison.html|VMware Player vs. VirtualBox: feature comparison]] * [[habrahabr>222993|VM escape: 101]] -- методы побега из VMware WorkStation и VirtualBox === Bare-metal [[wp>hypervisor|hypervisors]] ([[wp>paravirtualization]]) === * [[http://wiki.xenproject.org/wiki/Xen_Overview|Xen]] * [[http://www.colinux.org/?section=home|coLinux]] is a port of the Linux kernel that allows it to run [[wp>Cooperative Linux|cooperatively]] alongside another operating system on a single machine without using a commercial PC virtualization software such as VMware. \\ From [[http://www.indiastudychannel.com/forum/13570-Cooperative-Linux.aspx|Cooperative Linux article]]: coLinux only runs Linux under Windows: a real Linux kernel will run on your system alongside Windows. CoLinux is a system that consists of a Windows kernel driver, a Linux kernel and some userspace daemon programs. When the ''coLinux-daemon.exe'' is started, it will load the Windows kernel driver ''linux.sys'', load the Linux kernel into memory and start it. The Linux kernel is a slightly modified version of the standard x86 kernel: it has been stripped of all parts that directly access the hardware. Instead the kernel uses (with the help of ''linux.sys'') either defined API in the Windows kernel or user space programs to access needed resources like drive or network. From this perspective coLinux is an implementation of a Linux-specific lightweight VM with I/O virtualization. === Containers virtualization ([[wp>operating-system-level virtualization]]) === * [[http://wiki.qemu.org/|QEMU]] is a fast processor emulator. * [[http://www.linux-kvm.org/page/Main_Page|KVM (for Kernel-based Virtual Machine)]] is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). * [[http://openvz.org|OpenVZ]] is a container-based virtualization for Linux * [[http://www.ubuntu.com/cloud/lxd|LXD]] -- Linux container hypervisor * [[http://www.zdnet.com/article/microsoft-and-canonical-partner-to-bring-ubuntu-to-windows-10/|Microsoft and Canonical partner to bring Ubuntu to Windows 10]] * [[habrahabr>269423|Linux-контейнеры дома: зачем и как]] === Emulators === * [[github>wishstudio/flinux/wiki|Foreign Linux]] is a dynamic binary translator and a Linux system call interface emulator (LLE)((Low level emulator)) for the Windows platform === Other === * [[habrahabr>268529|Запуск DOS-приложения в Linux]] * [[http://www.opennebula.org/|OpenNebula]] is the standard-based open-source toolkit to build private, public and hybrid clouds on the top of Xen/KVM hypervisors. === [[wp>Hypervisor|Comparison of different virtualization techniques]] === * [[github>wishstudio/flinux/wiki/Comparison|LLE/HLE emulators comparison]] * [[http://openvz.org/Introduction_to_virtualization|Introduction to virtualization]] * [[https://habrahabr.ru/company/cloud4y/blog/282918/#comment_8880656|Xen vs KVM]] ===== VirtualBox ===== ==== Setup ==== * Install [[http://www.virtualbox.org/wiki/Downloads|VirtualBox for Windows]] and [[http://www.virtualbox.org/wiki/Downloads|VirtualBox Extension Pack]] (via //File -> Preferences -> Extensions//). * Download Debian NetInstall ISO image ([[http://cdimage.debian.org/cdimage/daily-builds/sid_d-i/current/i386/iso-cd/debian-testing-i386-netinst.iso|sid]], [[http://cdimage.debian.org/cdimage/weekly-builds/i386/iso-cd/debian-testing-i386-netinst.iso|stretch]]), inject the image into VM, boot and install Debian. * Installing guest additions (after installation check //Machine -> Session Information Dialog//): * Manual: Inject ''VBoxGuestAdditions.iso''((You can find it in ''%ProgramFiles%\Sun\VirtualBox'' or inject via //Devices -> Insert Guest Additions CD image...// menu)) and run ''sh ./VBoxLinuxAdditions-x86.run'' as described in [[http://www.virtualbox.org/manual/ch04.html#idm1958|Guest Additions for Linux]] and in [[https://forums.virtualbox.org/viewtopic.php?f=29&t=15679|Install Linux Guest Additions]]. The installation will create ''/usr/lib/VBoxGuestAdditions'', add system startup scripts (''/etc/init.d/vboxadd*'') and put modules to ''/lib/modules/.../updates/dkms''. Installation requires gcc and kernel headers be present. * Automatic: Install Debian package ''[[http://packages.debian.org/search?searchon=names&keywords=virtualbox-guest-dkms|virtualbox-guest-dkms]]'' with version that is compatible with your VirtualBox version (:OPT: [[https://snapshot.debian.org/binary/virtualbox-guest-dkms/|search Debain snapshot]]). Package installation will compile [[wp>Dynamic Kernel Module Support|DKMS]] modules from sources and install them. ==== Questions answered ==== === How to disable notification popup messages? === From [[https://forums.virtualbox.org/viewtopic.php?f=3&t=24273|VirtualBox PopUp Dialogs]]: Run this command before creating a new VM: VBoxManage setextradata global GUI/SuppressMessages remindAboutAutoCapture,remindAboutMouseIntegrationOff or add this to your existing VM configuration: === How to access guest from host? === Either use port forwarding on NAT interface or create second interface with type //Host-only Adapter//. === How to access external USB drive? === Normally selecting USB device in //Devices -> USB Devices// should deattach it from host and attach to guest machine. The first time you do this, new driver will be installed (confirm that installation). Check that you have additions installed and USB 2.0 controller (EHCI) is enabled in settings. Otherwise check [[archlinux>VirtualBox#USB_subsystem_is_not_working_on_the_host_or_guest|here]]. If USB devices still do not work, try [[http://www.virtualbox.org/ticket/3033|this thread]]. === How to boot from bootable USB drive? === To boot from drive/USB use the advise given in [[superuser>318227|How to boot from a flash drive?]] * Provided the drive is partitioned and you want to check the list of partitions use (identifier of the drive corresponds to the one displayed by //Computer Management → Disk Management//): \\ ''VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive1'' * Then create a drive descriptor using: \\ ''VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive1'' \\ (replace file name and drive number with one you need) * Now you can create dummy virtual machine (start VirtualBox as administrator), add hard drive using ''C:\usb.vmdk'' as location and boot from it. === [[https://forums.virtualbox.org/viewtopic.php?f=6&t=86736#p471234|Boot from USB fails]] with error ''I/O cache encountered an error'' === The I/O cache encountered an error while updating data in medium "ahci-0-0" (rc=VERR_ACCESS_DENIED). Make sure there is enough free space on the disk and that the disk is working properly. Operation can be resumed afterwards. Solution is to enable //Virtual Box settings -> Storage -> Controller: SATA -> Use Host I/O Cache// === Installation from USB fails with message "CD/DVD drive device driver is missing" === Same problems: * [[askubuntu>165665/installing-win7-x64-in-virtualbox-error-driver-device-missing|installing win7 x64 in VirtualBox - error driver device missing]] * [[superuser>705747/installing-win7-on-virtualbox-select-the-driver-to-be-installed-what|Installing Win7 on Virtualbox: "Select the driver to be installed"]] Solution is to use original ISO for installation.