Dualbooting: Difference between revisions
(→Configuring the bootloader: use cat template) |
Prabuanand (talk | contribs) (rephrased the sentence) |
||
(17 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{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, or use [[Tutorials_and_Howtos#Virtualization|virtualization]]}} | |||
It's assumed you have a box where you already run another operating system, and would like to be able to boot either the installed system or Alpine. | 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. | ||
= | === Complete the basic setup === | ||
Alpine | Follow the [[Installation]] steps until the [[Installation#Base_configuration|base configuration]]. | ||
i.e set up Alpine without installing to a disk. | |||
<!-- If the "answerfile" functionality of setup-alpine is changed to permit specifying "-m none" for setup-disk, this sequence could be expressed more concisely.--> | |||
=== Identify and mount partition === | |||
To Dual boot Alpine Linux, it 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. | |||
{{Note| 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]]}}. | |||
Follow the [[Setting_up_disks_manually#Custom_Layout|Hard Disk Installation using custom Layout]] to mount the chosen partition. | |||
{{Cmd|# mount /dev/sdXY /mnt}} | |||
If you're using EFI, pay special attention to ESP partition. ESP partition is shared between Windows, Mac OS and most 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 <code>esp</code> partition and mount it on the above mount point : | |||
{{Cmd|# mount /dev/esp /mnt/boot/efi}} | |||
=== Install Alpine Linux === | |||
Follow the [[Setting_up_disks_manually#Custom_Layout|custom Layout based Installation ]] to install Alpine Linux on the chosen partition. | |||
{{Cmd| | |||
{{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. | |||
<!-- | |||
== Format the partition == | |||
First format your partition. During the above [[#Create_a_Partition|partioning]] step, you would have installed the necessary formatting tool {{pkg|e2fsprogs|repo=main}}. If not, install the tool for formatting the partition. | |||
{{ | |||
{{Cmd|# apk add e2fsprogs}} | |||
{{Cmd| | |||
{{Warning|Make sure you format the right partition! The {{Path|/dev/sdXY}} is only a example. If you choose the wrong partition, your data will be gone. Make a backup first if you are unsure.}} | |||
{{Cmd|# mkfs.ext4 /dev/sdXY}} | |||
== Mount the partition == | |||
Mount the newly formatted partition. After mounting, the partition will be available at {{Path|/mnt}}. | |||
{{Cmd|# mount -t ext4 /dev/sdXY /mnt}} | |||
== Install Alpine on the mounted partition == | |||
Now install Alpine Linux using the [[Alpine_setup_scripts#setup-disk|setup-disk]] script to the formatted partition(s) that was mounted on /mnt. | |||
{{Cmd|setup-disk -m sys /mnt}} | {{Cmd|# setup-disk -m sys /mnt}} | ||
The above command would have installed [[Bootloaders#GRUB|grub]] and {{pkg|grub-efi|repo=main}} and no further configuration should be required. | |||
--> | |||
<!--- | |||
{{Tip|If you use extlinux (default) and didn't create a separate boot partition, ({{Path|/boot}} resides on the root partition {{Path|/}}). | {{Tip|If you use extlinux (default) and didn't create a separate boot partition, ({{Path|/boot}} resides on the root partition {{Path|/}}). | ||
You might need to adjust the paths to the boot files in {{Path|/boot/extlinux.conf}}, eg.: | You might need to adjust the paths to the boot files in {{Path|/boot/extlinux.conf}}, eg.: | ||
Line 68: | Line 72: | ||
Check that the <code>LINUX</code> and <code>INITRD</code> paths actually point to the files shipped in your Alpine Linux release. | Check that the <code>LINUX</code> and <code>INITRD</code> paths actually point to the files shipped in your Alpine Linux release. | ||
}} | }} | ||
---> | |||
=== | === Configure bootloader === | ||
There are different [[Bootloaders|bootloaders]] to get a boot menu that allows selecting the operating system to boot. It is easiest to simply install and use [[Bootloaders#rEFInd|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/Multiboot with Linux ==== | |||
The following example is given to give you some ideas for adjusting [[Bootloaders#GRUB|grub]] to boot Alpine. | |||
== | |||
Reboot your system ''(start Ubuntu)''. | Reboot your system ''(start Ubuntu)''. | ||
Line 104: | Line 90: | ||
Take notes of the UUID of the partition you are planning to use: | Take notes of the UUID of the partition you are planning to use: | ||
{{Cmd| | {{Cmd|# blkid /dev/sdXY}} | ||
Start editing the grub2 configuration | Start editing the grub2 configuration | ||
{{Cmd| | {{Cmd|# gedit /etc/grub.d/40_custom}} | ||
I edited the file to look something like this: | I edited the file to look something like this: | ||
Line 121: | Line 107: | ||
{{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.}} | {{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: | Finally the configuration changes need to be applied to the grub2 bootloader: | ||
{{Cmd|update- | {{Cmd|update-grub}} | ||
Now it's time to test. Reboot your box. | 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.}} | {{Note|You might need to press SHIFT when booting your box in order to see the grub-menu.}} | ||
== Windows == | ==== 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. | |||
{{Cmd|# fdisk -l /dev/sda}} | |||
<pre> | |||
Device Start End Sectors Size Type | |||
/dev/sda1 2048 309247 307200 150M EFI System | |||
</pre> | |||
{{Cmd|# mkdir /boot/efi}} | |||
{{Cmd|# mount /dev/sda1 /boot/efi/}} | |||
{{Cmd|# apk add efibootmgr}} (If your system supports UEFI. Most PC's from 2010, support UEFI) | |||
Install grub | |||
<pre> | |||
# grub-install –root-directory=/mnt | |||
</pre> | |||
After grub re-installation, unmount efi partition: | |||
{{Cmd|# umount /boot/efi/}} | |||
== References == | |||
* [https://brittanymitchell.co/index.php/2024/03/06/dual-boot-windows-11-and-alpine-linux-part-2/ Dual Boot Windows 11 and Alpine Linux] | |||
* [https://unix.stackexchange.com/questions/405472/cannot-find-efi-directory-issue-with-grub-install/679800#679800 Mount EFI] | |||
* [[Install_Alpine_on_a_btrfs_filesystem_with_refind_as_boot_manager|Dual boot on a btrfs filesystem]] | |||
[[Category:Installation]] | [[Category:Installation]] |
Latest revision as of 15:10, 17 September 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.
Complete the basic setup
Follow the Installation steps until the base configuration. i.e set up Alpine without installing to a disk.
Identify and mount partition
To Dual boot Alpine Linux, it needs a separate partition. If you don't have a partition refer Manual partitioning to create and format it.
.
Follow the Hard Disk Installation using custom Layout to mount the chosen partition.
# mount /dev/sdXY /mnt
If you're using EFI, pay special attention to ESP partition. ESP partition is shared between Windows, Mac OS and most other operating systems. Make sure you create a mount point /mnt/boot/efi
.
# mkdir -p /mnt/boot/efi
Find the correct partition name for esp
partition and mount it on the above mount point :
# mount /dev/esp /mnt/boot/efi
Install Alpine Linux
Follow the custom Layout based Installation to install Alpine Linux on the chosen partition.
# setup-disk -m sys /mnt
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 make additional changes.
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/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
Finally the configuration changes need to be applied to the grub2 bootloader:
update-grub
Now it's time to test. Reboot your box.
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.
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/