Ultimate Dual Boot Guide: Windows11 and Ubuntu 25.04#
Ubuntu Plucky Puffin installer
Last Updated: April 2025
Running both Windows 11 and Ubuntu 25.04 on the same computer gives you the best of both worlds. This step-by-step guide makes dual-booting simple, even for beginners!
What Sets This Guide Apart#
Unlike typical dual-boot tutorials, this guide offers:
- UEFI vs. Legacy BIOS instructions for modern computers
- Secure Boot compatibility solutions
- Performance optimization tips for both operating systems
- Advanced partition strategies for optimal system management
- Automated setup scripts to speed up post-installation configuration
- Virtualization options when dual-boot isn’t ideal
- Real-world use case scenarios to maximize your dual-boot experience
What You’ll Need#
- A computer with Windows 11 already installed
- At least 30GB of free space (50GB+ recommended for comfortable usage)
- A USB drive (8GB or larger)
- About 30-45 minutes of your time
- Basic computer knowledge
Part 1: Prepare Your Computer#
1. Back Up Your Data#
Always back up important files before modifying your system.
- Use Windows built-in Backup and Restore
- Consider cloud backup solutions (OneDrive, Google Drive)
- For critical data, create an external drive backup
2. Check Your System Type: UEFI or Legacy BIOS#
- Press Win + R, type
msinfo32
, and press Enter - Look for “BIOS Mode” under System Summary
- If it says “UEFI”, follow the UEFI instructions in this guide
- If it says “Legacy”, follow the Legacy instructions
3. Create Space for Ubuntu#
Using Disk Management:#
- Press Win + X and select Disk Management
- Right-click on your largest partition (usually C:) and select Shrink Volume
- Enter the amount to shrink (minimum 30000 MB recommended for Ubuntu)
- For a more comfortable experience: 50000 MB (50GB)
- For developers/power users: 100000 MB (100GB)
- Click Shrink to create unallocated space
Alternative: Using Disk Cleanup First (Recommended)#
Before shrinking, free up space by:
- Press Win + R, type
cleanmgr
and press Enter - Select your C: drive and click OK
- Click “Clean up system files”
- Select all items, especially “Windows Update Cleanup” and “Previous Windows installations”
- Click OK to reclaim gigabytes of space
4. Disable Fast Startup (Critical Step)#
- Go to Control Panel → Power Options → Choose what the power buttons do
- Click Change settings that are currently unavailable
- Uncheck Turn on fast startup
- Click Save changes
5. Disable BitLocker (If Enabled)#
If you use BitLocker encryption:
- Press Win + X and select PowerShell (Admin) or Terminal (Admin)
- Type
manage-bde -status
to check BitLocker status - If enabled, type
manage-bde -off C:
to decrypt your drive - Wait for decryption to complete (may take hours)
Note: You can re-enable BitLocker after Ubuntu installation, but it requires additional configuration.
6. Create Recovery Drive (Recommended)#
- Search for “Create a recovery drive” in Windows Search
- Follow the wizard to create a Windows recovery USB
- Store it safely in case you need to restore Windows
Part 2: Create Ubuntu Installation Media#
1. Download Ubuntu 25.04#
Download the Ubuntu 25.04 ISO file from ubuntu.com/download/desktop
2. Verify the ISO (For Extra Security)#
- Download the SHA256SUMS and SHA256SUMS.gpg files from the Ubuntu download page
- On Windows, open PowerShell and run:
Get-FileHash -Algorithm SHA256 -Path path\to\ubuntu-25.04-desktop-amd64.iso
- Compare the output hash with the one in the SHA256SUMS file
3. Create Bootable USB#
Using Rufus:#
- Download and install Rufus
- Insert your USB drive
- Open Rufus and select your USB drive
- Click SELECT and choose the Ubuntu ISO file
- For UEFI systems: Make sure “GPT” is selected in the partition scheme
- Click START and select Write in ISO Image mode
Alternative: Using Ventoy (Multi-Boot Solution)#
- Download Ventoy
- Install it to your USB drive
- Copy the Ubuntu ISO directly to the USB
- You can add multiple ISOs to create a multi-boot USB
Part 3: Install Ubuntu Alongside Windows#
1. Adjust UEFI/BIOS Settings#
- Restart your computer
- Enter BIOS/UEFI (usually by pressing F2, F12, Del, or Esc during startup)
- Make these critical changes:
- Disable “Secure Boot” (temporarily)
- Set “SATA Operation” to “AHCI” mode if using SSD
- Disable “Intel Rapid Storage Technology” if present
- Change boot order to prioritize USB
- Save and exit
2. Boot from USB#
- Restart your computer
- Press the boot menu key during startup (F12, F2, or Del - varies by computer)
- Select your USB drive from the boot menu
- On UEFI systems, select the “UEFI” entry for your USB
3. Start Ubuntu Installation#
- Select Try or Install Ubuntu
- Choose your language and click Install Ubuntu
- Select keyboard layout and click Continue
- For wireless connection, connect to your WiFi network
4. Choose Optimal Installation Type#
For Beginners (Automatic Partitioning):#
- Select Install Ubuntu alongside Windows Boot Manager
- Click Install Now
For Advanced Users (Manual Partitioning):#
- Select Something else for manual partitioning
- Create the following partitions in the unallocated space:
- EFI partition (if not already present): 512 MB, use as “EFI System Partition”
- Root partition (/): 20-30 GB, use as “Ext4”, mount point “/”
- Swap partition: Equal to your RAM (for hibernation support), use as “swap”
- Home partition (/home): Remaining space, use as “Ext4”, mount point “/home”
5. Confirm Partition Changes#
Review the changes and click Continue
6. Choose Your Location#
Select your time zone on the map
7. Create Your User Account#
Enter your name, computer name, username, and password
Security Tip: Use a different password than your Windows account
8. Installation Process#
Wait for the installation to complete (usually 10-15 minutes)
9. Restart Your Computer#
When prompted, remove the USB drive and click Restart Now
Part 4: Post-Installation Configuration#
1. Re-enable Secure Boot (Optional)#
If you want to use Secure Boot with Ubuntu:
- Boot into UEFI settings
- Find Secure Boot settings
- Enter “Setup Mode” if available
- Enable Secure Boot
- Save and exit
Ubuntu 25.04 supports Secure Boot, but you may need to manage keys if you encounter boot issues.
2. First Boot and Updates#
- At the GRUB menu, select Ubuntu
- Log in with your credentials
- Run system updates:
sudo apt update && sudo apt upgrade -y
3. Install Ubuntu Restricted Extras#
For media codecs, fonts, and other proprietary software:
sudo apt install ubuntu-restricted-extras
4. Install Hardware-Specific Drivers#
For NVIDIA Graphics:#
sudo ubuntu-drivers autoinstall
For AMD Graphics:#
The open-source drivers are usually included, but you can install the proprietary ones if needed:
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update && sudo apt upgrade
5. Fix Time Synchronization Issues#
To prevent time conflicts between Windows and Ubuntu:
In Ubuntu Terminal:
timedatectl set-local-rtc 1 --adjust-system-clock
6. Post-Installation Script (Exclusive to This Guide)#
Save time with our automated setup script that configures:
- Optimal power settings
- Improved performance tweaks
- Common software installations
- Proper dual-boot time synchronization
Create a file named dual-boot-setup.sh
:
#!/bin/bash
# Update system
sudo apt update && sudo apt upgrade -y
# Install essential software
sudo apt install -y ubuntu-restricted-extras vlc gimp libreoffice timeshift gnome-tweaks
# Fix time synchronization
timedatectl set-local-rtc 1 --adjust-system-clock
# Optimize SSD if present
if [ -d "/sys/block/nvme0n1" ] || [ -d "/sys/block/sda" ]; then
sudo apt install -y util-linux
sudo systemctl enable fstrim.timer
fi
# Improve battery life
sudo apt install -y tlp tlp-rdw
sudo systemctl enable tlp
# Set up auto-cleaning
echo 'APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";' | sudo tee /etc/apt/apt.conf.d/20auto-upgrades
# Performance improvements
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
# Check and repair GRUB if needed
sudo update-grub
echo "Setup complete! Reboot for changes to take effect."
Make it executable and run:
chmod +x dual-boot-setup.sh
./dual-boot-setup.sh
Part 5: Using Your Dual-Boot System#
1. The GRUB Boot Menu#
After restart, you’ll see the GRUB menu where you can select:
- Ubuntu 25.04
- Windows 11
2. Accessing Windows Files from Ubuntu#
Ubuntu can read your Windows files:
- Open Files in Ubuntu
- Look for your Windows drive in the sidebar
Warning: Writing to NTFS partitions from Ubuntu may require additional setup:
sudo apt install ntfs-3g
3. Accessing Ubuntu Files from Windows#
To access Linux files from Windows 11:
- Install WSL2 in Windows
- Install the WSL Ubuntu extension
- Use
\\wsl$\Ubuntu\home\yourusername
in File Explorer
Alternatively, install Paragon Linux File Systems for Windows
4. Changing Default Operating System#
To change which system boots by default:
Graphical Method:#
- Install GRUB Customizer:
sudo apt install grub-customizer
- Launch GRUB Customizer
- Go to “General Settings” tab
- Change “Default entry” to your preference
- Click Save
Terminal Method:#
- In Ubuntu, open Terminal
- Type
sudo nano /etc/default/grub
- Change
GRUB_DEFAULT=0
to your preference (0 is usually Ubuntu) - Set
GRUB_TIMEOUT=10
for a longer selection time - Press Ctrl+X, then Y to save
- Run
sudo update-grub
5. Optimizing Performance in Dual-Boot Configuration#
For Windows:#
- Disable indexing on drives shared with Linux
- Use Storage Sense to automatically free up space
- Disable unnecessary startup programs
For Ubuntu:#
- Reduce swappiness for better performance:
sudo echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
- Enable zRAM for better memory management:
sudo apt install zram-config
Part 6: Advanced Techniques and Alternatives#
1. Using Separate Hard Drives (Ideal Setup)#
If your computer supports multiple drives:
- Install Windows on first drive
- Install Ubuntu on second drive
- Configure BIOS/UEFI boot order or use boot menu to select OS
Benefits:
- No partition resizing needed
- Each OS gets a full drive
- Eliminates most dual-boot conflicts
2. Virtualization as Alternative#
Windows as Host:#
- Enable virtualization in BIOS/UEFI
- Install WSL2 for Linux command-line:
wsl --install
- Or install VirtualBox/VMware for full Ubuntu desktop
Ubuntu as Host:#
- Install VirtualBox or GNOME Boxes:
sudo apt install virtualbox
- Create Windows 11 VM (requires valid license)
3. Timeshift for System Backup#
Create system snapshots before major changes:
sudo apt install timeshift
sudo timeshift --create --comments "Fresh Ubuntu installation"
4. Custom GRUB Theme (Make Your Dual-Boot Stylish)#
- Download a theme from GRUB Themes
- Extract the theme to
/boot/grub/themes/
- Edit GRUB configuration:
sudo nano /etc/default/grub
- Add/modify:
GRUB_THEME="/boot/grub/themes/theme-name/theme.txt"
- Update GRUB:
sudo update-grub
Part 7: Real-World Use Cases#
1. Developer Workstation#
Optimal configuration:
- Windows for Adobe Suite, Microsoft Office, and gaming
- Ubuntu for development (Docker, VS Code, programming languages)
- Shared data partition in exFAT format
- Git repositories on the Linux partition
2. Data Science Setup#
- Windows for Power BI and Excel analysis
- Ubuntu for Python, R, and machine learning frameworks
- Large data storage on separate drive accessible to both OSs
- Jupyter notebooks in shared folder
3. Gaming and Multimedia#
- Windows for AAA gaming titles
- Ubuntu for day-to-day browsing and work
- Steam installed on both systems with shared library folder
- Proton configured for Windows games on Linux
Part 8: Troubleshooting Common Issues#
Windows Not Showing in GRUB Menu#
If Windows doesn’t appear in the boot menu:
- Boot into Ubuntu
- Open Terminal
- Type
sudo os-prober
- Then
sudo update-grub
Ubuntu Won’t Boot After Windows Update#
Windows updates may overwrite GRUB. To fix:
- Boot from Ubuntu USB in “Try Ubuntu” mode
- Open Terminal
- Run Boot Repair:
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair
- Select “Recommended repair”
Fixing Secure Boot Issues#
If Ubuntu won’t boot with Secure Boot enabled:
- Boot into UEFI settings
- Disable Secure Boot temporarily
- Boot into Ubuntu
- Run:
sudo apt install sbsigntool sudo update-secureboot-policy
Recovering Windows Bootloader#
If you need to restore Windows boot without Ubuntu:
- Boot from Windows installation media
- Select “Repair your computer”
- Go to Troubleshoot > Advanced Options > Command Prompt
- Run:
bootrec /fixmbr bootrec /fixboot bootrec /rebuildbcd
Part 9: Uninstalling Either OS (If Needed)#
Removing Ubuntu while keeping Windows:#
- Boot into Windows
- Open Disk Management
- Delete the Ubuntu partitions
- Expand Windows partition
- Repair Windows boot using installation media
Removing Windows while keeping Ubuntu:#
- Boot into Ubuntu
- Use GParted to delete Windows partitions:
sudo apt install gparted sudo gparted
- Expand Ubuntu partitions as needed
- Update GRUB:
sudo update-grub
Conclusion#
Congratulations! You now have a dual-boot system with Windows 11 and Ubuntu 25.04. Enjoy the flexibility of choosing between two powerful operating systems depending on your needs.
Remember that Ubuntu offers amazing performance with lower system requirements than Windows, making it perfect for:
- Programming
- Web development
- Office work
- Multimedia
- Gaming (with Steam’s Proton compatibility layer)
This dual-boot setup gives you the freedom to use the best tool for each job, while our performance optimizations ensure both systems run at their best.
Recommended Next Steps#
- Set up cloud synchronization across both OSs (Dropbox, OneDrive, etc.)
- Configure SSH keys and development environments in Ubuntu
- Create your ideal productivity workflow between the two systems
- Explore Linux gaming with Proton and Steam
If you have any questions, need help with your specific hardware, or want to share your dual-boot experience, leave a comment below!