you can install any Linux OS like Arch Linux, Gentoo, ubuntu for UEFI partition from windows using VirtualBox directly into hard Disk.Download VirtualBox here https://www.virtualbox.org/wiki/Downloads.
Step One: Create Your Virtual Disk
Open up a Command Prompt(PowerShell) as an administrator(win+x) and run the following command: wmic diskdrive list brief /format:list
Find the drive which you want to install Linux here \.\PhysicalDrive0 is my internal hard disk so I am using it.
CD to VirtualBox directory. For me,it's: CD "C:\Program Files\Oracle\VirtualBox"
Run this next command:
VBoxManage internalcommands createrawvmdk -filename "C:\Disk.vmdk" -rawdisk \.\PhysicalDrive0
Replace the file path with wherever you want to put your VMDK file. Replace the 0 in \.\PhysicalDrive0 with your disk number.
You should get a message saying the VMDK was created successfully. If not, make sure you followed these steps exactly, and if you're still having problems read this manual chapter. You may have special needs that we didn't discuss here.
Step Two:Install linux os
Run VirtualBox as an administrator. Click the New button and name your virtual machine. Choose the amount of RAM to allocate to the virtual machine as normal.At the next step, choose "Use an existing virtual hard drive file." Click the browse button on the right, and browse to the VMDK file we made earlier. Click the Create button.
If all goes well, you should see it show up in VirtualBox's sidebar.
Select your new virtual machine in the sidebar and click the Settings button. Under Storage, select "Controller: IDE" and click the plus sign next to it. Press "Choose Disk" and navigate to the linux.iso file you want to boot. Remove the empty iso file.
Also for EFI partition if you want to install EFI bootloader goto system and on Extended features: Tick Enabled EFI.
Click OK and return to the main VirtualBox screen.We can use GRUB2Win and skip bootloader installation.
Select your new virtual machine and click the Start button. Choose Linux from the GRUB menu that pops up.
If all goes well, you should see your Linux screen.
free disk space using windows disk management(win+x) and shrinking partitions.20-50 GB will do a fine job.
start installer here in my case install linux mint and choose something else option for partitioning disks.
create efi partition as fat32 and mount point as /boot/efi about 256-512MB
create other partitions like root partition as mount point / ,swap partiton about size of your ram.
and optional /home, /proc etc if you are advance user .
Complete installation and you have got Linux from windows which you can also boot directly without VirtualBox if you prefer.
you can also boot windows from Linux following similar procedure from VirtualBox, create another disk image form Linux VirtualBox and use the disk as /dev/sdX pattern, not as ///.physicaldrive0.you can use super boot grub as virtualbox iso if it doesnt detect windows.
IMPORTANT NOTE: Never try to mount or read from your Windows partition while you're running Linux in VirtualBox. This is where the danger of this method comes in. If you try to read your Windows partition, your machine will crash and you could cause data corruption (since your host OS is already using that partition). In fact, I recommend removing it from your fstab file so it never pops up in Linux, thus keeping you much safer.
arch installation is also easy this way as you don't need to make bootable usb simply install directly to hard disk and isntall all wifi tools like wpa_supplicant,wifi-menu,etc.
have you guys tried Deepin os it can also install directly from windows without usb .