Forest OS

A free and open source operating system, written from scratch. A Bluethefox project, hosted by Enclica.

← Back to Wiki

Dual-Boot Forest OS Alongside Another OS

Run Forest OS on the same machine as Linux, Windows, or another install without wiping that system.

Warning: any bootloader or partition mistake can make the other OS unbootable. Back up first (see Backup), triple-check device names with fdisk -l / lsblk before every write, and never install ForeB to a disk or partition you did not reserve for Forest OS. Bootloader overwrite risk is real on both BIOS and UEFI — read this whole page before starting.

1. Shrink the existing OS first — from that OS

  1. Boot into the existing OS (Windows / Linux), not the Forest OS installer.
  2. Back up important data.
  3. Shrink from that OS's own tools so its filesystem stays consistent:
    • Windows: Disk Management → Shrink Volume (disable Fast Startup / BitLocker first, defragment if offered).
    • Linux: gparted or resize2fs + fdisk/parted from a live session for the root filesystem.
  4. Leave the freed space as unallocated — do not format it yet. forinstall / Forest fdisk + mkfs will claim it.
  5. Reboot back into the existing OS once to confirm it still boots after the shrink before touching Forest OS.

2. Pick a layout: separate disk (recommended) vs same disk

Option A — Separate disk (recommended)

  • One disk per OS: e.g. Disk 0 = Windows/Linux, Disk 1 = Forest OS.
  • No partition-gap conflicts, no bootloader fight on the same MBR/ESP.
  • Disconnect (or in firmware, disable) the other OS disk during Forest OS install if possible, then reconnect after. This removes the chance of picking the wrong of= target.
  • Pick the boot disk per boot via the firmware one-time boot menu (F12 / F8 / F9 / Esc depending on vendor).

Option B — Same disk, separate partition

Only if a second disk is not available:

  1. You must already have unallocated space from §1.
  2. Forest OS partition must start at sector 63 or later. Sectors 1–62 are the ForeB gap (MBR stage1 lives in sector 0, stage2/stage3 and reserved space follow in 1–62) — do NOT create a filesystem or partition that overlaps sectors 1–62.
  3. Typical same-disk MBR layout:
SectorsContent
0MBR + existing partition table (shared — edit, do not wipe)
1–62ForeB gap — keep free / reserved for ForeB stages, no partition data here
63+Existing OS partition(s), then Forest OS partition in the freed space

Create the Forest OS partition in the freed space only (fdisk /dev/sdY → new primary/logical partition starting ≥ 63), leaving the existing OS partitions untouched.

3. Install Forest OS into its partition only

  1. Boot the Forest OS live USB (see Install on Real Hardware).
  2. Identify disks — sizes tell USB stick vs target apart:
    fdisk -l
    blkid
  3. Run forinstall (or fdisk + mkfs by hand) and select only the Forest OS partition created in §2 as the target.
  4. Install ForeB to the Forest partition only — never to the whole shared disk MBR or to the other OS's partition/ESP:
    • BIOS: install ForeB stages/bootsector to the Forest partition's boot record, keeping the existing MBR bootloader in charge. Do not dd the first 16 MiB over the whole disk — that overwrites the other OS's MBR and partition table.
    • UEFI: copy BOOTX64.EFI / kernel.elf / forebo.cfg / initrd to a Forest-owned directory on the ESP or a separate ESP entry; do not delete or rename the other OS's EFI/ directory.
  5. Verify before rebooting: fdisk -l still lists the other OS partition(s) with correct types/sizes, and the Forest partition mounts with the new system on it.

4. Booting each OS (chainload / boot menu)

There is no Forest OS auto-prober — the other OS's bootloader stays in charge, or you pick per boot:

  • Firmware boot menu (simplest, works for both layouts): on power-on press F12 (or F8 / F9 / Esc) and pick the Forest disk / Forest partition entry to boot Forest OS, or the other OS disk/entry to boot the other OS. Best choice for the separate-disk layout.
  • GRUB chainload (same-disk convenience): keep GRUB (or the existing bootloader) as the disk MBR owner and add a chainload entry pointing at the Forest partition, e.g.:
    menuentry "Forest OS (chainload)" {
      set root=(hd0,msdos2)   # replace with the Forest partition
      chainloader +1
    }
    Adjust (hd0,msdosN) / (hd0,gptN) to the actual Forest partition, then update-grub (or edit grub.cfg) from the Linux side. On UEFI, add a firmware/efibootmgr entry pointing at Forest's loader instead of chainloading sectors.
  • If either entry fails, boot the live USB and re-check §3 — do not reinstall blindly over the other OS.

5. Time / date note (UTC)

Forest OS expects the hardware clock (RTC) in UTC, like Linux. Windows by default treats the RTC as local time, so dual-booting Forest OS + Windows shows the wrong clock in one of them after each switch.

  • Recommended: set Windows to use UTC (RealTimeIsUniversal registry key), keeping the RTC in UTC for both sides.
  • Alternative: accept a clock offset and correct with date / NTP after each switch. Either way, decide once — flipping back and forth corrupts file timestamps and pac history.

6. Shared FAT32 data partition for file exchange

Forest OS cannot safely write the other OS's native partition (NTFS/ext4 write support is limited/unsafe for exchange). For moving files between the two systems:

  1. Create a small extra partition in the freed space, formatted FAT32.
  2. Both sides mount FAT32 read/write natively, so it works as a drop box: save from one OS, reboot, read from the other.
  3. Keep it modest (a few hundred MiB to a few GiB), label it clearly (e.g. SHARED), and do not install either OS onto it.
  4. Back it up like any other partition — a corrupt shared FAT affects both sides.

7. Issues and fixes

SymptomCauseFix
Other OS no longer boots after Forest installForeB overwrote the shared MBR / ESP entryBoot live media, restore the other OS bootloader (Windows recovery / Linux grub-install), then redo §3 installing ForeB to the Forest partition only
Forest OS partition overlaps boot failure / s2! / stage errorsPartition starts inside sectors 1–62, clobbering ForeB stagesRepartition so Forest starts at sector 63+, reinstall ForeB stages to the correct sectors, verify per Install on Real Hardware
Wrong disk wipedif= / of= swapped, or picked the other OS disk in forinstallRestore from backup — there is no undo. Next time disconnect extra disks and confirm sizes with fdisk -l / lsblk first
Clock wrong in one OS after rebootUTC vs local-time RTC mismatchSet Windows to UTC RTC (see §5) or resync after each switch
GRUB entry drops to prompt / chainload failsWrong (hdX,msdosN) partition numberList partitions from the GRUB shell (ls), fix root= to the Forest partition, regenerate grub.cfg

See also: Partitioning, Backup, Install on Real Hardware, Remove / Uninstall.

← Back to Wiki