This is a guide for dualbooting your laptop with a linux based os. I made this repo for my own future reference.
- Dell Inspiron 5000 series
- Preinstalled windows 10
- NVIDIA Geforce MX250 GPU
- 512 GB SSD
- SATA mode should be AHCI and nor RAID/IDE(E.g. Intel Rapid Storage Technology)
To check the SATA mode use Device Manager and check your storage drivers.
If the SATA mode is RAID, follow the below link for conversion to AHCI: (do not use the ALT commands)
https://support.thinkcritical.com/kb/articles/switch-windows-10-from-raid-ide-to-ahci - UEFI booting
- Secure Boot should be disabled
Open the boot menu using F2 key(maybe different for different laptops).
In the boot options disable secure boot by unchecking it.
- Download the iso image of the OS you want to dualboot your system with from the corresponding website.
- Install Rufus/Ventoy/USBImager/balenoEtcher for preparing the boot media.
- Run Rufus, settings as GPT and UEFI(non CMS).
- Allocate some space for your OS in the disk management.
Shrink the drive that has free space.
- Restart the system.
- Tap f12.
- Choose the boot media as the boot option in the GRUB screen.
- Try liveboot first to check if preinstalled nvidia drivers are working.
This is not needed for Pop!_OS. It already has Nvidia drivers installed.
Just check if all essential devices work with the OS in the live boot.
Check wifi, bluetooth, speakers, headphones, graphics etc. - If liveboot does not work try again after appending nomodeset=0 at the end of the linux line in the GRUB.
For more info check this:
https://askubuntu.com/questions/747314/is-nomodeset-still-required#:~:text=Highlight%20the%20Ubuntu%20entry%20in,line%20%2D%20press%20F10%20to%20boot.&text=Generally%20it%20is%20recommended%20to,from%20the%20official%20Ubuntu%20repositories. - Play around in the liveboot and once sure that everything works fine continue with the installation.
- In the installation, if you get an option for automatic partitioning i.e. the OS will handle allocation of memory to different partitions, you can go for it.
- However, in systems like Pop!_OS, you have to go for a custom install i.e. make the partitions yourself:
Make the partitions as follows:
- boot - 512 MiB (EFI)
- swap - 4096 MiB (linux-swap)
- root - whatever space remains (ext4)
A further /home partition can be added but it is optional. That too will be ext4.
- Systems like Pop!_OS won't have GRUB as the bootloader, instead they have systemd.
To install GRUB on a Pop!_OS installation follow this link:
https://jacci.net/linux/pop-os/how-to-install-grub-on-pop-os-20-04/
- Open BIOS settings by tapping on f2 after restarting.
- Open Boot Options.
- Remove the boot option that has the Linux OS name.
- Make Sure Windows boot Manager is at the top of the boot list.
- Exit from BIOS settings.
- In windows, open Disk Management and delete the volumes of the partitions that held your OS.
- You will have to delete the /boot partition using cmd.
- Extend your current drives to take in the unallocated space.
- Restart to check once more.
- For Pop!_OS:
- Complete tutorial:
https://www.youtube.com/watch?v=hbzCSjlbInY (This has uninstallation instructions too)
https://forum.bpgc-cte.org/d/111-dualboot-guide-faq-with-pop-os - Add windows in the default bootloader of POp!_OS:
https://pop-planet.info/forums/threads/copy-the-microsoft-bootloader-into-pops-efi-beginners-guide.357/
- Complete tutorial:
- For computers with Intel(RST):
- For general dualbooting:
- For NVIDIA Laptops:
- https://www.pugetsystems.com/labs/hpc/The-Best-Way-To-Install-Ubuntu-18-04-with-NVIDIA-Drivers-and-any-Desktop-Flavor-1178/
- https://www.reddit.com/r/Ubuntu/comments/b5tcf7/dualbooting_ubuntu_with_the_latest_nvidia/
- https://gist.github.com/bitsurgeon/b0f4440984c9e60dcd8fe8bbc346c029
- https://www.forbes.com/sites/jasonevangelho/2018/08/30/ubuntu-guide-how-to-install-nvidia-drivers-and-play-windows-games-on-linux/?sh=4ab8a17b3a2d
Note:
I was getting the below error for ubuntu-based Linux installations(except Pop!_OS):
Failed to parse WDG method when booting
This error arises because the laptop hardware is too new for the old kernels used by Ubuntu. Hopefully this should be fixed in newer releases.
To prevent this error try installing rolling release distros like arch, openSUSE, fedora, or POP!_OS(if you want ubuntu based)