|
| 1 | +# Dual Boot Guide: Windows + AxOS |
| 2 | + |
| 3 | +How to do a full **dual boot installation** with **Windows 11** and **AxOS** (Windows 10 should work as well). |
| 4 | + |
| 5 | +> **System Requirements**: [Check here](https://www.axos-project.com/docs/get-started/installation/#required) |
| 6 | +> Minimum disk space: **10 GB** (but **50 GB or more is strongly recommended** for a smoother experience) |
| 7 | +
|
| 8 | +## Step 0: Before You Begin |
| 9 | + |
| 10 | +> I will **skip the steps** for flashing AxOS to a USB. Please make sure you’ve already created a **bootable USB**. |
| 11 | +
|
| 12 | + |
| 13 | +## Step 1: Create Free Space on Your Disk (Windows) |
| 14 | + |
| 15 | +We need to shrink an existing partition to make room for AxOS. |
| 16 | + |
| 17 | +### Instructions: |
| 18 | + |
| 19 | +1. Press `Win + X` → choose **Disk Management** |
| 20 | + *or* |
| 21 | + Press `Win + R`, type `diskmgmt.msc`, and hit Enter. |
| 22 | +2. In the Disk Management window: |
| 23 | + * Right-click on a partition with enough free space (e.g. your D: drive) |
| 24 | + * Click **"Shrink Volume"** |
| 25 | + * Enter how much you want to shrink (in MB). For example, `50000` for 50 GB |
| 26 | + * Click **"Shrink"** |
| 27 | + |
| 28 | +This will create **unallocated space** which we’ll use to install AxOS. |
| 29 | + |
| 30 | + |
| 31 | +## Step 2: Boot into AxOS from USB |
| 32 | + |
| 33 | +1. Reboot your computer |
| 34 | +2. Enter your **BIOS/UEFI menu** |
| 35 | +3. Select your **bootable USB** device |
| 36 | +4. Boot to AxOS |
| 37 | + |
| 38 | + |
| 39 | +## Step 3: Verify Free Space in AxOS |
| 40 | + |
| 41 | +Once inside the live AxOS, open the terminal (`Win + Enter`) and run: |
| 42 | + |
| 43 | +```bash |
| 44 | +sudo parted -l |
| 45 | +``` |
| 46 | + |
| 47 | +This will list all available disks and their partitions. |
| 48 | + |
| 49 | +Look for something like: |
| 50 | + |
| 51 | +``` |
| 52 | +Unallocated space: 50GB |
| 53 | +``` |
| 54 | + |
| 55 | +Or run: |
| 56 | + |
| 57 | +```bash |
| 58 | +sudo parted -l | grep "Unallocated" |
| 59 | +``` |
| 60 | + |
| 61 | +> **Note:** Take note of your disk’s name — it could be something like: |
| 62 | +> |
| 63 | +> * `/dev/sda` |
| 64 | +> * `/dev/nvme0n1` |
| 65 | +> |
| 66 | +> We’ll use that name in the next step. |
| 67 | +
|
| 68 | + |
| 69 | +## Step 4: Create Partitions with `gdisk` |
| 70 | + |
| 71 | +We’ll now use `gdisk` to manually create two partitions: |
| 72 | + |
| 73 | +* One for the **EFI System** (`/boot/efi`) |
| 74 | +* One for the **Linux Root** (`/`) |
| 75 | + |
| 76 | +Replace `yourdiskname` below with your actual disk name (e.g. `/dev/sda` or `/dev/nvme0n1`). |
| 77 | + |
| 78 | +```bash |
| 79 | +sudo gdisk /dev/yourdiskname |
| 80 | +``` |
| 81 | + |
| 82 | +### Inside `gdisk`: |
| 83 | + |
| 84 | +1. Press `n` to create a **new partition** |
| 85 | +2. Press `Enter` to accept default partition number |
| 86 | +3. Press `Enter` to accept default first sector |
| 87 | +4. Type `+512M` → this creates a 512MB partition |
| 88 | +5. Type `EF00` → this sets it as an **EFI System** partition |
| 89 | + |
| 90 | +EFI partition done! |
| 91 | + |
| 92 | + |
| 93 | +### Create the Root Partition (`/`): |
| 94 | + |
| 95 | +1. Press `n` again |
| 96 | +2. Press `Enter` for all prompts (partition number, first/last sector, partition type) |
| 97 | +3. Type `w` and press `Enter` to **write changes** |
| 98 | + |
| 99 | +> Confirm with `y` if asked. |
| 100 | +
|
| 101 | +We’ve now created two partitions. |
| 102 | + |
| 103 | +> ⚠️ The **partition names** depend on your disk: |
| 104 | +> |
| 105 | +> * If your disk is `/dev/sda`, partitions will be `/dev/sda1`, `/dev/sda2`, etc. |
| 106 | +> * If your disk is `/dev/nvme0n1`, partitions will be `/dev/nvme0n1p1`, `/dev/nvme0n1p2`, etc. |
| 107 | +> *(Note the **"p"** before the number of partition)* |
| 108 | +
|
| 109 | + |
| 110 | +## Step 5: Mount the Partitions |
| 111 | + |
| 112 | +### Mount the Root Partition (Linux filesystem): |
| 113 | + |
| 114 | +```bash |
| 115 | +sudo mount /dev/nvme0n1p2 /mnt |
| 116 | +``` |
| 117 | + |
| 118 | +### Create and Mount EFI Directory: |
| 119 | + |
| 120 | +```bash |
| 121 | +sudo mkdir -p /mnt/boot/efi |
| 122 | +sudo mount /dev/nvme0n1p1 /mnt/boot/efi |
| 123 | +``` |
| 124 | + |
| 125 | +> **Adjust disk and partition names and numbers as needed.** |
| 126 | +
|
| 127 | +Now we’re ready to launch the installer. |
| 128 | + |
| 129 | + |
| 130 | +## Step 6: Launch the AxOS Installer |
| 131 | + |
| 132 | +1. Open the **AxOS Install** application from the menu. |
| 133 | +2. Proceed through the installation. |
| 134 | +3. When you get to **"Installation disk and partitioning"**, choose **Manual Partitioning**. |
| 135 | + |
| 136 | +### Configure the Mount Points: |
| 137 | + |
| 138 | +* For the **EFI partition**: |
| 139 | + |
| 140 | + * Set **FAT32** format |
| 141 | + * Set mount point to `/boot/efi` |
| 142 | + |
| 143 | +* For the **Linux root partition**: |
| 144 | + |
| 145 | + * Set **ext4** format |
| 146 | + * Set mount point to `/` |
| 147 | + |
| 148 | +4. Continue through the installer |
| 149 | +5. Once installation finishes, reboot |
| 150 | + |
| 151 | +> **Adjust disk and partition names and numbers as needed.** |
| 152 | +
|
| 153 | +## Step 8: Configure GRUB to Detect Windows |
| 154 | + |
| 155 | +After rebooting into AxOS: |
| 156 | + |
| 157 | +### 1. Open a terminal and edit the GRUB config: |
| 158 | + |
| 159 | +```bash |
| 160 | +sudo nano /etc/default/grub |
| 161 | +``` |
| 162 | + |
| 163 | +### 2. Find this line: |
| 164 | + |
| 165 | +```bash |
| 166 | +GRUB_DISABLE_OS_PROBER |
| 167 | +``` |
| 168 | + |
| 169 | +Change it to: |
| 170 | + |
| 171 | +```bash |
| 172 | +GRUB_DISABLE_OS_PROBER=false |
| 173 | +``` |
| 174 | + |
| 175 | +> **Save and Exit Nano**: |
| 176 | +> |
| 177 | +> * Press `Ctrl + O` (to save) |
| 178 | +> * Press `Enter` (to confirm filename) |
| 179 | +> * Press `Ctrl + X` (to exit) |
| 180 | +
|
| 181 | +### 3. Detect Windows: |
| 182 | + |
| 183 | +```bash |
| 184 | +sudo os-prober |
| 185 | +``` |
| 186 | + |
| 187 | +If it returns your Windows installation, proceed. |
| 188 | + |
| 189 | + |
| 190 | +## Step 9: Generate GRUB Config |
| 191 | + |
| 192 | +Choose the appropriate command depending on your system: |
| 193 | + |
| 194 | +### BIOS Systems: |
| 195 | + |
| 196 | +```bash |
| 197 | +sudo grub-mkconfig -o /boot/grub/grub.cfg |
| 198 | +``` |
| 199 | + |
| 200 | +### UEFI Systems: |
| 201 | + |
| 202 | +```bash |
| 203 | +sudo grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg |
| 204 | +``` |
| 205 | + |
| 206 | +> ⚠️ If you are not sure what to choost stick to BIOS System. |
| 207 | +
|
| 208 | + |
| 209 | +## Final Step: Reboot |
| 210 | + |
| 211 | +Now reboot your system: |
| 212 | + |
| 213 | +```bash |
| 214 | +sudo reboot now |
| 215 | +``` |
| 216 | + |
| 217 | +You should now see the **GRUB boot menu**, with both **AxOS** and **Windows** listed. |
| 218 | + |
| 219 | +--- |
| 220 | + |
| 221 | +## Done |
0 commit comments