A step-by-step guide for beginners who want a gaming PC and a real enterprise Linux environment on the same machine — with every decision explained in plain English.
Table of Contents
- What Is Dual-Booting and Why Rocky Linux?
- Key Concepts You Must Understand First
- Before You Begin — Checklist
- Phase 1 — Shrink Your Windows Partition
- Phase 2 — Download & Flash Rocky Linux
- Phase 3 — Configure the HP BIOS
- Phase 4 — Boot the Rocky Linux Installer
- Phase 5 — Anaconda Installer Walkthrough
- Phase 6 — First Boot & the GRUB Menu
- Phase 7 — Post-Install DevOps Setup
- Troubleshooting Common Problems
1. What Is Dual-Booting and Why Rocky Linux?
Dual-booting means installing two separate operating systems on the same physical computer, each living in its own isolated section of the hard drive called a partition. When you power on your laptop, a small program called a bootloader wakes up and shows you a menu: pick Windows or pick Rocky Linux. The two systems never interfere with each other.
This is different from a virtual machine, where you'd run Linux inside a window on top of Windows. Dual-booting gives each OS full, direct access to your hardware — better performance, real GPU access for your DevOps tools, and a genuine feel for what it's like to administer a server.
Why Rocky Linux specifically? Rocky Linux is a free, community-maintained and designed for 1:1, bug-for-bug downstream binary compatibility with Red Hat Enterprise Linux (RHEL) — the operating system that runs a huge chunk of the world's servers, cloud infrastructure, and enterprise data centres. When companies say they want "Linux experience", they usually mean RHEL-family experience.Rocky Linux is fullRocky Linux 10.1 is fully supported until May 2035, giving you a stable, long-term learning platform.
Rocky Linux will push you further: its default security model (SELinux), firewall tool (firewalld), and package manager (DNF) are all standard in enterprise environments that other linux distributions rarely appear in.
2. Key Concepts You Must Understand First
Before touching a single setting, you need to understand why you're making each decision. Skipping this section is how people accidentally wipe their Windows installation. Take ten minutes to read it.
UEFI, BIOS, and Secure Boot
What is UEFI / BIOS?
UEFI (or its older predecessor, BIOS) is firmware — a tiny program burned into a chip on your motherboard. It's the very first thing that runs when you press the power button, before any operating system loads. Its job is to inventory your hardware (CPU, RAM, drives) and then hand control to a bootloader on one of your storage devices.
Your computer mostly likely uses UEFI, the modern standard. UEFI uses a special partition called the EFI System Partition (ESP) — a small FAT32 partition that stores bootloader files for every OS installed. Windows already placed its bootloader there. Rocky Linux will add its own file alongside it without deleting Windows.
What is Secure Boot?
Secure Boot is a UEFI feature that checks a digital signature on every bootloader before running it. It prevents malware from hijacking the boot process. However, it can also block Linux installers that aren't signed with a trusted key.
Rocky Linux does have Secure Boot support, but to avoid any complications on first install, we will disable Secure Boot in the BIOS before installing. You can re-enable it afterwards once everything is working.
Partitions, File Systems, and GPT
What is a partition?
Imagine your hard drive as a single large plot of land. A partition is like drawing property lines to divide it into separate sections. Each section is completely independent — one can have Windows on it, another can have Linux, and they don't mix.What is a file system?
A file system is the internal structure that a partition uses to organise files. Windows uses NTFS. Rocky Linux defaults to XFS — the same file system used on most RHEL enterprise servers.What is GPT?
GPT (GUID Partition Table) is the modern standard for how partition information is stored on a disk. Your computer mostly already uses GPT since it might have come with Windows 10/11 already on it.
Here is what your disk will look like after the installation is complete:
[ EFI ][ Windows (C:) — ~400 GB ][ /boot ][ swap ][ / root ][ /home ]
| Mount Point | Size | File System | Purpose |
|---|---|---|---|
/boot/efi |
Reuse existing | FAT32 | Already exists. Stores bootloaders for all OSes. Never format. |
/boot |
1 GB | ext4 | Stores the Linux kernel. Kept separate for boot-process compatibility. |
swap |
= your RAM size | swap | Overflow RAM storage. Required for hibernation. |
/ (root) |
40–60 GB | xfs | The OS, all installed software, and system configs. |
/home |
Remaining space | xfs | Your personal files and projects. Survives an OS reinstall intact. |
The GRUB Bootloader
What is GRUB?
GRUB (Grand Unified Bootloader) is the program that Rocky Linux installs to manage booting. After installation, GRUB detects all installed operating systems and shows you a menu. When you select Windows, GRUB hands control to the Windows Boot Manager. When you select Rocky Linux, GRUB loads the Linux kernel directly.
GRUB installs itself into the EFI System Partition alongside the Windows bootloader. This is why we never format the EFI partition — doing so would delete the Windows bootloader and make Windows unbootable.
3. Before You Begin — Checklist
Work through this checklist completely before proceeding. Every item matters.
Back up your Windows data first. Partitioning operations carry inherent risk. If something goes wrong mid-operation, data loss is possible. Copy your important files to an external drive, a cloud service, or both. This is non-negotiable.
Check 1 — CPU Compatibility
Rocky Linux 10 requires a CPU supporting the x86-64-v3 instruction set. Any AMD Ryzen 2000+ or Intel 8th Gen (Coffee Lake)+ processor qualifies.
To confirm, open PowerShell on Windows and run:
wmic cpu get name
Check 2 — Disable Windows Fast Startup
Windows Fast Startup leaves the Windows file system in a "partially mounted" state on shutdown. If Linux then tries to read the Windows partition, it can corrupt the file system. Disable it permanently:
- Press
Win + S, search for Control Panel, open it - Go to Hardware and Sound → Power Options
- Click "Choose what the power buttons do" in the left sidebar
- Click "Change settings that are currently unavailable"
- Under "Shutdown settings", uncheck "Turn on fast startup"
- Click Save changes
Check 3 — Free Disk Space
Open Disk Management (Win + X → Disk Management). You need at least 60–80 GB of free space on your C: drive to shrink comfortably. You'll be carving that space out as unallocated room for Rocky Linux.
Check 4 — A 16 GB+ USB Drive
You'll flash the Rocky Linux ISO onto this drive. It will be completely erased. Don't use one with files you need.
Check 5 — Stable Power
Plug your laptop in during the entire process. A laptop dying mid-partition or mid-install can corrupt both operating systems.
Phase 1 — Shrink Your Windows Partition
Right now, Windows occupies the entire drive. Before we can install Rocky Linux, we need to shrink the Windows partition and leave behind unallocated space that the Rocky Linux installer will carve into its own partitions.
We use Windows' own built-in tool for this — not a third-party app, not the Linux installer. This ensures Windows is aware of the change and updates its own boot records accordingly.
How Much Space to Allocate?
| Use Case | Minimum | Recommended |
|---|---|---|
| Occasional learning / labs | 50 GB | 70 GB |
| Active DevOps work, Docker, VMs | 80 GB | 120 GB |
| Heavy Kubernetes / container dev | 120 GB | 150+ GB |
For a DevOps workstation, 80–100 GB is the sweet spot. Docker images alone can consume 20–30 GB over time.
Step 1 — Open Disk Management
Press Win + X on your keyboard. In the menu that appears, click Disk Management. You'll see a graphical view of your disk with all current partitions shown as coloured bars.
Step 2 — Identify Your C: Drive Partition
In the graphical area at the bottom, look for the large partition labelled (C:). This is your Windows installation. Right-click it.
Step 3 — Click "Shrink Volume..."
A dialog box appears. Enter your desired amount in the field "Enter the amount of space to shrink in MB". Convert GB to MB by multiplying by 1024:
- 80 GB → enter 81920
- 100 GB → enter 102400
- 120 GB → enter 122880
Step 4 — Click Shrink and Wait
Windows will resize the partition (typically 30 seconds to 2 minutes). When done, you'll see a new block of black/dark unallocated space in the disk map. Do not create a new volume in that space — leave it as "Unallocated". The Rocky Linux installer will handle it.
If Windows won't let you shrink enough: This happens when Windows has "immovable" system files near the end of the partition. Fix: disable hibernation by opening an Administrator Command Prompt and running
powercfg /h off, then try shrinking again.
Phase 2 — Download & Flash Rocky Linux
Step 2.1 — Download the ISO
An ISO file is a complete, exact copy of the entire Rocky Linux installer. Go to:
https://rockylinux.org/download
Under Rocky Linux 10, select the x86_64 architecture and download the DVD ISO (~10 GB). Also download the accompanying CHECKSUM file from the same page.
Step 2.2 — Verify the ISO (Don't Skip This)
Verifying the checksum confirms the file downloaded completely and without corruption. A partially downloaded or tampered ISO can cause strange installer errors that are very hard to diagnose.
Open PowerShell and run (adjust the filename to yours):
Get-FileHash "$env:USERPROFILE\Downloads\Rocky-10.1-x86_64-dvd1.iso" -Algorithm SHA256
The 64-character hash must exactly match the SHA256 value in the CHECKSUM file. If they differ — even by one character — delete the ISO and re-download it.
Step 2.3 — Flash the USB Drive with Rufus
Download Rufus from https://rufus.ie. Plug in your 16 GB+ USB drive and open Rufus. Configure it as follows:
| Rufus Setting | Value | Why |
|---|---|---|
| Device | Your USB drive | Double-check it's the USB, not your internal drive |
| Boot selection | Click SELECT → choose the ISO | Rufus will auto-detect most settings |
| Partition scheme | GPT | Required for UEFI systems |
| Target system | UEFI (non CSM) | Forces UEFI mode. CSM is a legacy compatibility mode. |
| File system | Leave as Rufus default | Rufus knows best for bootable drives |
Click START. If a dialog appears, choose "Write in ISO Image mode" and click OK.
The USB drive will be completely wiped. All data on the USB will be gone after this step.
The flashing process takes 5–15 minutes. When Rufus shows READY in green, the USB is ready.
Phase 3 — Configure the HP BIOS
The BIOS needs to be told two things: disable Secure Boot and boot from the USB instead of the hard drive.
Step 1 — Enter the BIOS Setup
Fully shut down your laptop (not restart — shut down). Plug in the Rocky Linux USB. Power on and immediately, repeatedly tap F10 until you see the BIOS setup screen.
Alternative: power on → tap Esc → HP startup menu → press F10 to enter Setup.
Step 2 — Disable Secure Boot
Navigate to the Security tab. Find Secure Boot and set it to Disabled. You can re-enable it after installation.
Step 3 — Confirm UEFI Boot Mode
Under Advanced or Boot Options, verify UEFI Boot Mode is selected. Ensure CSM / Legacy Boot is disabled.
Step 4 — Set USB as First Boot Device
Go to Boot Order. Move the USB storage device to the top of the list using the function keys shown on screen (usually F5/F6 or +/-).
Step 5 — Save and Exit
Press F10 to save changes and exit. The laptop will reboot and boot from your Rocky Linux USB.
Alternative: One-time boot menu. Power on and press
F9immediately to choose a boot device for that startup only, without permanently changing the boot order.
Phase 4 — Boot the Rocky Linux Installer
With the BIOS configured, your laptop will boot into the Rocky Linux installer. You'll see a dark GRUB menu. Use the arrow keys to highlight "Install Rocky Linux" and press Enter.
The screen may go black for 30–60 seconds after you press Enter. The Linux kernel is loading and initializing your hardware. Do not panic and do not press any keys. Wait for the graphical installer (Anaconda) to appear.
Select English (United States) and click Continue.
Phase 5 — Anaconda Installer Walkthrough
Anaconda uses a hub-and-spoke model: one main summary screen with several sections listed. Complete them in any order. The "Begin Installation" button activates only once every required section has a green checkmark.
Time & Date
Click Time & Date. Click your region on the world map. Enable Network Time if connected to Wi-Fi. Click Done.
Software Selection
Recommended for a DevOps workstation: Choose "Workstation" for the full GNOME desktop. For a leaner, server-like experience, choose "Server with GUI" instead.
Under Additional Software, also check:
- Development Tools — gcc, make, git, and other build essentials
- System Tools — useful system administration utilities
- Headless Management — includes the SSH server for remote access
- Container Management — Podman and container tools (RHEL's Docker equivalent)
Click Done.
Installation Destination — Partitioning (Most Critical Step)
This is the most important step in the entire guide. Read every instruction carefully before clicking anything. An incorrect choice here can erase your Windows installation. There is no undo button once you accept changes.
Click Installation Destination. Select your internal drive. Under Storage Configuration, select Custom. Click Done to enter the manual partitioning screen.
Partitioning Scheme: Standard vs LVM
| Scheme | Best For | Verdict |
|---|---|---|
| Standard Partition | Simplicity — what you see is what you get | Fine for beginners who want clarity |
| LVM | Flexibility — resize partitions later without data loss | Recommended for DevOps — standard in enterprise RHEL |
What is LVM? LVM adds an abstraction layer between physical partitions and what the OS sees as drives. Instead of a fixed partition of exactly 40 GB, you have a "logical volume" that can be grown or shrunk while the system is running. In enterprise environments you'll constantly encounter LVM-managed disks. Choose LVM.
Creating the Partitions
Use the + button to add each partition in this order:
Never format the EFI partition. It contains the Windows Boot Manager. Formatting it will make Windows unbootable. Set the mount point to
/boot/efiand ensure the format checkbox is unchecked.
Partition 1 — Reuse the EFI Partition
Click on the existing EFI System Partition in the left panel, then in the right panel:
- Mount Point:
/boot/efi - File System: FAT32
- Ensure "Do not format" is selected
Partition 2 — /boot
- Mount point:
/boot - Desired capacity:
1 GiB - File system:
ext4
Why ext4 for /boot? GRUB reads /boot at a very early stage when LVM may not yet be available. ext4 is simple, widely supported, and reliable in this context.
Partition 3 — swap
- Mount point:
swap - Desired capacity: same as your RAM (e.g.,
16 GiBfor 16 GB of RAM) - File system:
swap
What is swap? When physical RAM fills up, Linux moves less-used data to the swap partition. It's also required for hibernation.
Partition 4 — / (Root)
- Mount point:
/ - Desired capacity:
50 GiB - File system:
xfs
Why XFS? XFS is the default file system for RHEL 7+ and Rocky Linux. It excels at large files, high I/O workloads, and parallel access — all common in server environments.
Partition 5 — /home
- Mount point:
/home - Desired capacity: leave blank (uses all remaining unallocated space)
- File system:
xfs
Why a separate /home? If you ever reinstall Rocky Linux, your user data, configurations, and project files survive untouched. Simply reinstall, mount /home without formatting it, and pick up where you left off.
Review & Accept Changes
Click Done. In the "Summary of Changes" dialog, verify:
- The EFI partition is listed as "mount only" (not format)
-
/boot,swap,/, and/homeare listed as "format and mount" - Your Windows C: partition does not appear in this list at all
If everything looks correct, click "Accept Changes".
Network & Hostname
Connect to Wi-Fi. Set your hostname. Click Apply then Done.
Root Account & User Creation
What is the root account? In Linux,
rootis the superuser with unlimited power over the entire system. In Rocky Linux, the root account is disabled by default — a deliberate security choice that mirrors how enterprise RHEL systems are configured. Instead, you create a regular admin user that usessudoto gain root-level privileges when needed.
- Root Account: Leave it disabled (the default).
-
User Creation: Set a full name, a short lowercase username , and a strong password. Check "Make this user administrator" — this adds your user to the
wheelgroup, granting sudo access.
Begin Installation
Click "Begin Installation". The installer will format partitions, install the OS and all selected packages, and configure GRUB. This takes 15–45 minutes. When finished, click "Reboot System" and remove the USB.
Phase 6 — First Boot & the GRUB Menu
After the reboot, you'll see the GRUB boot menu with two entries:
- Rocky Linux (and older kernel entries)
- Windows Boot Manager
By default, GRUB auto-selects Rocky Linux after a 5-second countdown. Select Rocky Linux and let it boot to the GNOME login screen.
If GRUB doesn't appear and Windows boots directly: The HP BIOS is still prioritising the Windows Boot Manager over GRUB. Enter BIOS (
F10on startup) and move "Rocky Linux" or "GRUB" above "Windows Boot Manager" in the boot order. See the Troubleshooting section for a permanent fix.
Phase 7 — Post-Install DevOps Setup
Open the Terminal application (Ctrl + Alt + T) and run the following in order.
Step 7.1 — Full System Update
dnf is Rocky Linux's package manager:
sudo dnf -y upgrade
Step 7.2 — Enable EPEL Repository
EPEL (Extra Packages for Enterprise Linux) provides thousands of additional packages not in the base RHEL repos — like a major PPA trusted across the enterprise Linux world.
sudo dnf install -y epel-release
sudo dnf upgrade -y
Step 7.3 — Understand SELinux (Don't Disable It)
Do not disable SELinux. The most common beginner advice online is to set SELinux to permissive or disabled. This destroys the entire point of using a RHEL-based system. Every enterprise RHEL deployment runs SELinux in enforcing mode. Learning to work with it — not around it — is a core career skill.
sestatus # view current SELinux status
getenforce # should say "Enforcing"
sudo ausearch -m avc -ts recent # view recent SELinux denials
sudo sealert -a /var/log/audit/audit.log # human-readable SELinux explanations
Step 7.4 — Understand firewalld
Rocky Linux uses firewalld instead of Ubuntu's ufw. Same concept, different syntax:
sudo firewall-cmd --state # check it's running
sudo firewall-cmd --list-all # see current rules
sudo firewall-cmd --permanent --add-service=http # allow HTTP traffic
sudo firewall-cmd --reload # apply changes
Troubleshooting Common Problems
Problem: Windows Boots Directly (No GRUB Menu)
The HP BIOS is loading the Windows Boot Manager before GRUB. Open Command Prompt as Administrator on Windows and run:
bcdedit /set {bootmgr} path \EFI\rocky\grubx64.efi
Alternatively, boot from the Rocky Linux USB → Troubleshooting → Rescue, then run:
grub2-install /dev/nvme0n1 # for NVMe drives
grub2-mkconfig -o /boot/grub2/grub.cfg
Problem: Windows Missing from GRUB Menu
GRUB didn't detect Windows. Install os-prober and regenerate the GRUB config:
sudo dnf install -y os-prober
sudo os-prober # should output a line mentioning Windows
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
Problem: Wi-Fi Doesn't Work After Install
Identify your network card first:
lspci | grep -i network
lspci | grep -i wireless
For Realtek cards:
sudo dnf install -y linux-firmware
sudo reboot
For Intel cards, check:
sudo nmcli device status # list all network devices
sudo nmcli radio wifi on # ensure Wi-Fi radio is enabled
Problem: Can't Shrink Windows Enough (Phase 1)
Disable hibernation and the pagefile temporarily. Run in Administrator Command Prompt on Windows:
powercfg /h off
Then retry Disk Management → Shrink Volume.
Problem: "No Space Left" Errors When Installing Packages
Your root partition (/) is full. Check usage:
df -h # shows partition sizes and usage
du -sh /* # shows what's consuming space in root
If you used LVM, you can extend the root logical volume using space from another volume — one of the main advantages of LVM over standard partitioning.
Problem: SELinux Blocking an Application
Don't disable SELinux — diagnose it:
sudo ausearch -m avc -ts recent | audit2why # explains the denial in plain English
sudo ausearch -m avc -ts recent | audit2allow -M myfix # generates a policy fix
sudo semodule -i myfix.pp # applies the fix
Conclusion
Congratulations, you have now completely dual-booted Windows 11 & Rocky Linux on the same physical hardware!
Top comments (0)