Previous: How to boot an OS directly with GRUB, Up: How to boot operating systems [Contents][Index]

#### 5.1.2 Chain-loading an OS

Operating systems that do not support Multiboot and do not have specific support in GRUB (specific support is available for Linux, FreeBSD, NetBSD and OpenBSD) must be chain-loaded, which involves loading another boot loader and jumping to it in real mode.

The `chainloader` command (see chainloader) is used to set this up. It is normally also necessary to load some GRUB modules and set the appropriate root device. Putting this together, we get something like this, for a Windows system on the first partition of the first hard disk:

    menuentry "Windows" {
    	insmod chain
    	insmod ntfs
    	set root=(hd0,1)
    	chainloader +1
    }

On systems with multiple hard disks, an additional workaround may be required. See DOS/Windows.

Chain-loading is only supported on PC BIOS and EFI platforms.