Skip to content

Instantly share code, notes, and snippets.

@hisnameisjimmy
Last active July 31, 2025 02:19
Show Gist options
  • Save hisnameisjimmy/faaf7ed777f72121559a20f697226d0d to your computer and use it in GitHub Desktop.
Save hisnameisjimmy/faaf7ed777f72121559a20f697226d0d to your computer and use it in GitHub Desktop.
Guide to dual booting Windows 11 and Arch Linux / Omarchy using a Lenovo ThinkPad t490s

Dual‑Boot Playbook — Lenovo T490s

Windows 11 + Arch/Omarchy (2025)

This is the result of a lot of back and forth with ChatGPT o3 along with my own troubleshooting. While this contains a fair amount of detail, I would probably recommend starting with this as part of your prompt and have ChatGPT walk you through it. I don't totally understand why Linux Boot Manager didn't install, or why the partition references got screwed up when I moved them around when resizing the ESP. Regardless, this works!


0 Prerequisites

Item Notes
ISOs gparted-live.iso, archlinux-x86_64.iso
USB writer KDE ISO/USB Writer or Rufus
Goal layout ESP 512 MB FAT32 → MSR 16 MB → C: NTFS → Arch ext4/btrfs

1 Shrink Windows C: & disable trouble‑makers

  1. Win + X → Disk Management → C: → Shrink Volume → free ≥ 60 GB
  2. Suspend BitLocker — Control Panel ▸ BitLocker Drive Encryption ▸ Suspend
  3. Disable Fast Startup — Power Options ▸ Choose what the power buttons do ▸ untick
  4. Write GParted USB — GParted ISO → KDE Writer

2 Re‑arrange partitions in GParted

  1. Boot USB (Enter → F12 → USB)

  2. Delete Windows recovery partition at end (≈ 900 MB NTFS)

  3. Drag‑move C: right; unallocated space now sits between ESP and C:

  4. Resize ESP (FAT32) 100 MB → 512 MB
    If resize fails (“fat32 resize failed”):

    # Ctrl+Alt+F2 to TTY in GParted Live
    mkdir /tmp/efi && mount /dev/nvme0n1p1 /tmp/efi
    cp -a /tmp/efi /tmp/efibak
    mkfs.fat -F32 /dev/nvme0n1p1
    cp -a /tmp/efibak/* /tmp/efi/
    umount /tmp/efi
  5. Apply → Reboot to Windows (confirm C: boots)


3 Create Arch USB & boot it

  • Write Arch ISO → USB
  • Reboot → EnterF12 → choose Arch stick → first “UEFI” entry

4 Connect to Wi‑Fi (live ISO)

iwctl
device list                      # note iface (e.g. wlp0s20f3)
station <IFACE> connect "SSID"
exit
ping -c3 archlinux.org

5 Install with archinstall (manual disks)

  1. Disk configuration ▸ Partitioning ▸ Manual
  2. Create root in free space
    • FS ext4 or btrfs
    • Format Yes • Mount /
  3. Select ESP (nvme0n1p1) → Format No → Mount /boot
  4. Write & Exit; table shows / and /boot
  5. Bootloader = systemd‑boot
  6. Create user (wheel) & pick extra pkgs (wget, …)
  7. Install → wait ~5 min → Reboot (remove USB)

6 Fix Windows boot‑loop (if it happens)

HTML table used so multi‑line code blocks render correctly.

StepCLI command / Action
Enter WinRE

Let Windows fail to boot twice – on the third restart it will show Automatic Repair.
Choose Advanced options → Troubleshoot → Command Prompt.

Identify letters
diskpart
list vol
exit

Note: EFI (FAT32) is typically S:; Windows (NTFS) is C: (may be D:).

Repair & rebuild
chkdsk C: /f
bcdboot C:\Windows /s S: /f UEFI
bootrec /scanos
bootrec /rebuildbcd
bootrec /fixboot
BitLocker unlock
(only if prompted)
manage-bde -unlock C: -RecoveryPassword <48-digit-key>
manage-bde -protectors -disable C:
Exit & reboot

Type exit then choose Continue. Windows should now boot normally.


7 Add “Linux Boot Manager” (if missing)

# Boot Arch USB again
mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
bootctl install
efibootmgr --create   --disk /dev/nvme0n1 --part 1   --label "Linux Boot Manager"   --loader '\EFI\systemd\systemd-bootx64.efi'
exit
umount -R /mnt && reboot

(Optional) BIOS F1 ▸ Startup ▸ Boot ▸ move Linux Boot Manager above Windows.


8 Post‑install polish

sudo pacman -Syu

# (btrfs only)
sudo pacman -S snapper
sudo btrfs subvolume create /@snapshots

Install Omarchy:

wget -qO- https://omarchy.org/install | bash

Appendix A — Final partition map

nvme0n1p1  512M  FAT32      /boot
nvme0n1p2   16M  MSR
nvme0n1p3  …    NTFS       C:nvme0n1p4  …    ext4/btrfs /

Appendix B — Common pitfalls

Symptom Fix
Arch boots to blinking cursor Boot USB → arch-chroot → fix /etc/fstab
Windows missing in systemd‑boot bootctl update && bootctl install
Windows update deletes Linux entry Re‑run §7 or disable Fast Startup

End of checklist – enjoy your dual‑boot T490s.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment