Dualbooting: Difference between revisions

From Alpine Linux
(simplified the steps to align with setup-disk based Installation)
(rephrased to add clarity on / partition)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
It's assumed you have a box where you already run another operating system, and would like to be able to dual boot either the installed system or Alpine Linux.  
It's assumed you have a box where you already run another operating system, and would like to be able to dual boot either the installed system or Alpine Linux.  
{{Warning|This Dualboot manual is intended for experienced users. You will have to manually edit partitions on your harddisk. Take adequate backup of important data before proceeding further.  
{{Warning|This Dualboot manual is intended for experienced users. You will have to manually edit partitions on your harddisk. Take adequate backup of important data before proceeding further.  
If you want to avoid partitioing your existing hard disk, it may be better for you to buy an additional disk and use [[Installation#setup-alpine_based_System_Disk_Install|setup-alpine based Install]], or use [[Tutorials_and_Howtos#Virtualization|virtualization]]}}
If you want to avoid partitioing your existing hard disk, it may be better for you to buy an additional disk and use [[Installation#setup-alpine_based_System_Disk_Install|setup-alpine based Install]], or use [[Tutorials_and_Howtos#Virtualization|virtualization]]}}
== Install Alpine Linux ==
== Install Alpine Linux ==


To Dual boot Alpine Linux, you must follow the [[Setting_up_disks_manually#setup-disk based Installation|setup-disk based Installation]].
To Dual boot Alpine Linux, you must follow the [[Setting_up_disks_manually#setup-disk based Installation|setup-disk based Installation]], except for the following points:
# Follow the [[Installation#General_course_of_action|Installation guide]] to complete the [[#Base_configuration|base configuration]], if not already done.
 
# To Dualboot, Alpine Linux needs a separate partition. If you don't have a partition refer [[Setting_up_disks_manually#Manual partitioning|Manual partitioning]] to create and format it. If you are using [[btrfs]] filesystem, there is no need to create a partition. Refer [[Install_Alpine_on_a_btrfs_filesystem_with_refind_as_boot_manager|btrfs tutorial]]
# To Dualboot, Alpine Linux needs a separate partition. If you don't have a partition refer [[Setting_up_disks_manually#Manual partitioning|Manual partitioning]] to create and format it. If you are using [[btrfs]] filesystem, there is no need to create a partition. Refer [[Install_Alpine_on_a_btrfs_filesystem_with_refind_as_boot_manager|btrfs tutorial]]
# Mount the partition, where you'd like to install Alpine Linux. {{Cmd|# mount /dev/sdXY /mnt}}
# Mount the '''/ (root)''' partition i.e partition(here sdXY), where you'd like to install Alpine Linux on a mount point i.e say /mnt. {{Cmd|# mount /dev/sdXY /mnt}}  
# If you're using EFI, pay special attention to ESP partition. ESP partition is also used by other operating systems. Make sure you create a mount point <code>/mnt/boot/efi</code>. {{Cmd|# mkdir -p /mnt/boot/efi}}
# If you're using EFI, pay special attention to ESP partition. ESP partition is also used by other operating systems. Make sure you create a mount point <code>/mnt/boot/efi</code>. {{Cmd|# mkdir -p /mnt/boot/efi}}
# Find the correct partition name for ESP partition and mount it on the above mount point: {{Cmd|# mount /dev/sdXY /mnt/boot/efi}}
# Identify the correct partition name for ESP partition and mount it on the above mount point. {{Cmd|# mount /dev/sdXY /mnt/boot/efi}}
# Install Alpine Linux on the chosen partition. {{Cmd|# setup-disk -m sys /mnt}}
# Install Alpine Linux on the chosen partition. {{Cmd|# setup-disk -m sys /mnt}}
# Your dual boot installation can be considered complete. You be should be able to dual boot once you [[Installation#Reboot|reboot]]. Refer [[#Configure_bootloader|configure bootloader]] section, if you would like to make additional changes.  
# Your dual boot installation can be considered complete. You be should be able to dual boot once you [[Installation#Reboot|reboot]].  
Refer [[#Configure_bootloader|configure bootloader]] section, if you would like to change your default [[Bootloaders|bootloader]](Optional).


== Configure bootloader ==
== Configure bootloader ==
Line 19: Line 22:
Otherwise, one may adjust the bootloader that has already been installed by the other operating system.   
Otherwise, one may adjust the bootloader that has already been installed by the other operating system.   


=== Dual/Multiboot with Linux ===
=== Dual or Multiboot with Linux ===
The following example is given to give you some ideas for adjusting [[Bootloaders#GRUB|grub]] to boot Alpine.
The following example is given to give you some ideas for adjusting [[Bootloaders#GRUB|grub]] to boot Alpine.


Line 70: Line 73:
After grub re-installation, unmount efi partition:
After grub re-installation, unmount efi partition:
{{Cmd|# umount /boot/efi/}}
{{Cmd|# umount /boot/efi/}}
== Troubleshooting ==
Check [[Setting_up_disks_manually#Mounting_on_/dev/sdXY_sysroot_failed|Mounting on /dev/sdXY sysroot failed]] if encountered.


== References ==
== References ==

Latest revision as of 10:38, 16 December 2024

It's assumed you have a box where you already run another operating system, and would like to be able to dual boot either the installed system or Alpine Linux.

Warning: This Dualboot manual is intended for experienced users. You will have to manually edit partitions on your harddisk. Take adequate backup of important data before proceeding further. If you want to avoid partitioing your existing hard disk, it may be better for you to buy an additional disk and use setup-alpine based Install, or use virtualization


Install Alpine Linux

To Dual boot Alpine Linux, you must follow the setup-disk based Installation, except for the following points:

  1. To Dualboot, Alpine Linux needs a separate partition. If you don't have a partition refer Manual partitioning to create and format it. If you are using btrfs filesystem, there is no need to create a partition. Refer btrfs tutorial
  2. Mount the / (root) partition i.e partition(here sdXY), where you'd like to install Alpine Linux on a mount point i.e say /mnt.

    # mount /dev/sdXY /mnt

  3. If you're using EFI, pay special attention to ESP partition. ESP partition is also used by other operating systems. Make sure you create a mount point /mnt/boot/efi.

    # mkdir -p /mnt/boot/efi

  4. Identify the correct partition name for ESP partition and mount it on the above mount point.

    # mount /dev/sdXY /mnt/boot/efi

  5. Install Alpine Linux on the chosen partition.

    # setup-disk -m sys /mnt

  6. Your dual boot installation can be considered complete. You be should be able to dual boot once you reboot.

Refer configure bootloader section, if you would like to change your default bootloader(Optional).

Configure bootloader

There are different bootloaders to get a boot menu that allows selecting the operating system to boot. It is easiest to simply install and use rEFInd boot manager for dual boot between Alpine Linux and Windows.

Otherwise, one may adjust the bootloader that has already been installed by the other operating system.

Dual or Multiboot with Linux

The following example is given to give you some ideas for adjusting grub to boot Alpine.

Reboot your system (start Ubuntu).

Start a 'terminal' (ALT-F2 + "terminal" + [Run])

Take notes of the UUID of the partition you are planning to use:

# blkid /dev/sdXY

Start editing the grub2 configuration

# gedit /etc/grub.d/40_custom

I edited the file to look something like this:

Contents of /etc/grub.d/40_custom

#!/bin/sh echo "Adding Alpine" >&2 cat << EOF menuentry "Alpine Linux" { set root=(hd0,3) linux /boot/vmlinuz-lts root=UUID=8de6973a-4a8c-40ed-b710-c4e2b42d6b7a modules=sd-mod,usb-storage,ext4 quiet initrd /boot/initramfs-lts } EOF
Note: The root, linux, initrd, and UUID values mentioned above should be replaced with those of your system, e.g. the UUID you got when running the 'blkid' command.

Finally the configuration changes need to be applied to the grub2 bootloader:

update-grub

Now it's time to test. Reboot your box.

Note: You might need to press SHIFT when booting your box in order to see the grub-menu.

Dualboot with Windows

For Windows partitions to be detected with grub, you need `os-prober` and `grub-mount` installed at the time grub-mkconfig runs.

Note: The following needs to be tested

To upgrade the grub installation, the efi directory must be mounted in /boot/efi/. To know in which partition the efi is, we must examine the partition table, so if your main disk is /dev/sda then.

# fdisk -l /dev/sda

Device             Start        End   Sectors   Size Type
/dev/sda1           2048     309247    307200   150M EFI System

# mkdir /boot/efi

# mount /dev/sda1 /boot/efi/

# apk add efibootmgr

(If your system supports UEFI. Most PC's from 2010, support UEFI)

Install grub

# grub-install –root-directory=/mnt

After grub re-installation, unmount efi partition:

# umount /boot/efi/

Troubleshooting

Check Mounting on /dev/sdXY sysroot failed if encountered.

References