Dual Boot Arch Linux and Windows, Step-By-Step Commands!
Arch Linux is one of the very popular Linux Distro. Especially among Linux enthusiasts as it can be highly customized according to the user’s need. We are free to add or remove additional files and programs. The installation is a little complex as we need to run a lot of commands. But once figured out the result is very worthwhile. Let’s see how we can Dual Boot Arch Linux with Windows 10/11.
Download
We will first download the ISO file from here. You can download from your country server or from a worldwide server. Once downloaded we will make a bootable USB.
I’m using Ventoy to make a multi-bootable USB but you can use Rufus as well. Install Ventoy and select partition as GPT and then install it on your USB. Then just copy the ISO to this USB.
Installation
Make sure you have a 20GB or above partition made for the OS. Then we will boot into our BIOS. We will select the Boot Devices option and then choose our USB from the list.
It will show the Ventoy interface with the ISO files. Select Arch Linux and hit enter. You will see some loading commands and finally a terminal interface with a blinking cursor.
Commands to Dual Boot Arch Linux
Connect to Wifi or alternatively use an Ethernet cable and skip the wifi setup commands.
Now type,
to open the wifi interface
Type,
To see the name of the wifi interface which is mostly wlan0
station (devicename) get-networks
station (devicename) connect (wifiname)
Or we can use an Ethernet cable to get connected.
Create 512MB of the type EFI system
Select the remaining storage and create new for the whole size. Linux File system will be automatically created for the partition.
to see block numbers of created partitions
Put your own block numbers below:
mkfs.fat -F32 /dev/sda (in /dev/sda put your blocknumber for efi)
-for root
mount /dev/(rootpartition) /mnt
-for boot
mkdir /mnt/boot
mount /dev/(efipartition) /mnt/boot
Install base system, Linux kernel, and other required packages:
pacstrap /mnt base linux linux-firmware util-linux grub efibootmgr os-prober intel-ucode networkmanager nano (replace intel-ucode with amd-ucode for amd cpu)
genfstab -U /mnt >> /mnt/etc/fstab
-setting timezone and language
ln -sf /usr/share/zoneinfo/(countinent)/(city) /etc/localtime
Find & uncomment line (delete #) en_US.UTF-8 UTF8
then run
echo LANG=EN_US.UTF-8 > /etc/locale.conf then run export LANG=en_US.UTF-8
echo (hostname) > /etc/hostname
127.0.0.1 (tab key) localhost
::1 (tab key) localhost
127.0.1.1 (tab key) (hostname)
pacman -S grub efibootmgr os-prober ntfs-3g netwrkmanager network-manager-applet wireless_tools wpa_supplicant
dialog mtools dosfstools base-devel linux-headers git bluez bluez-utils pulseaudio-bluetooth cups openssh
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
systemctl enable NetworkManager
systemctl enable bluetooth
systemctl enable sshd
grub-mkconfig -o /boot/grub/grub.cfg
If there is an OS Prober that will not be executed error then run:
- Scroll down and you should see #GRUB_DISABLE_OS_PROBER=false. Remove the # to uncomment it.
- If there is no such line then you can add GRUB_DISABLE_OS_PROBER=false at the free space.
useradd -m -g users -G wheel -s /bin/bash (username)
passwd (username)
pacman -S sudo
nano /etc/sudoers
uncomment line %wheel ALL= (ALL) ALL
pacman -S pulseaudio pulseaudio-alsa
sudo pacman -S gnome gnome-extra gnome-tweaks
systemctl enable gdm.service
systemctl start gdm.service
Dual boot ArchLinux и Windows 8 на UEFI без GRUB c помощью rEFInd
Инструкция для новичков, о том, как сделать красивый dualboot windows и archlinux (и других ОС) через efi без grub и лишних заморочек.
Фото для привлечения внимания:
Можете посмотерть в google как это ещё может выглядеть.
Сразу оговорюсь.
Предполагается, что вы уже поставили windows и archlinux, понимаете как размечать диски и что куда монтировать и осталось вам только разобраться с загрузчиком. Если нет, то рекомендую посмотреть для начала вот это видео.
Я пробовал различные варианты, как описано тут, тут и тут и прочие выкрутасы с efibootmgr. Пытался добавлять опции прямо в «BIOSе» — ничего хорошего у меня не получилось, то рут раздел не находит то ещё что-то. Да и сам подход к переключению систем (жать Esc при включении ПК для выбора системы) меня не очень радовал.
Провозившись весь выходной, нашёл для себя простое и элегантное решение — пакет refind-efi (ArchWiki).
Если коротко, — достаточно установить этот пакет (pacman -S refind-efi) и выполнить refind-install, — всё.
В /boot/efi/EFI/ будет создан каталог refind и в опции загрузки добавлен новый пунк «rEFInd boot manager ».
Предупреждение
Добавлю к этой статье предупреждение: запись в NVRAM из ОС — достаточно опасная операция, которая может приводить к «кирпичу» на некоторых моделях ноутбуков с BIOSами на платформе Phoenix SCT. У автора BIOS на платформе AMI Aptio, с ним таких проблем нет.
Именно поэтому я настоятельно не рекомендую использовать на ноутбуках как саму efibootmgr, так и все, что ее вызывает, и устанавливать любые загрузчики вручную, либо заменяя имеющийся загрузчик по умолчанию (fs0:/EFI/BOOT/bootx64.efi), либо прописывая новый загрузчик из UEFI Shell командой bсfg boot add 0 fs0:/path/to/bootloader.efi «My Fancy Bootloader» — это намного безопаснее.
Всё что вы делаете, вы делаете на свой страх и риск!
Теперь подробнее об установке и конфигурировании
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 119.2G 0 disk ├─sda1 8:1 0 300M 0 part ├─sda2 8:2 0 100M 0 part /boot/efi ├─sda3 8:3 0 128M 0 part ├─sda4 8:4 0 59.1G 0 part ├─sda5 8:5 0 9G 0 part / └─sda6 8:6 0 50G 0 part /home
Device Start End Size Type /dev/sda1 2048 616447 300M Windows recovery environment /dev/sda2 616448 821247 100M EFI System /dev/sda3 821248 1083391 128M Microsoft reserved /dev/sda4 1083392 125036543 59.1G Microsoft basic data /dev/sda5 125036544 143910911 9G Linux filesystem /dev/sda6 143910912 248768511 50G Linux filesystem
Раздел с типом «EFI System» созданный инсталятором windows, монтируем в /boot/efi/ ( /mnt/boot/efi/ ведь мы загрузились с liveiso верно?)
mkdir -p /mnt/boot/efi mount /dev/sdaX /mnt/boot/efi
где X это номер вашего EFI раздела ( например mount /dev/sda2 /mnt/boot/efi ).
Далее перейдя в уже установленный arch ( arch-chroot /mnt/ ) устанавливаем сам refind:
Если вдруг такой пакет не найден, поищите в yaourt:
yaourt refind 1 extra/refind-efi 0.7.9-1 [installed] Rod Smith's fork of rEFIt UEFI Boot Manager - built with Tianocore UDK libs
После перезагрузки можно поставить в «биосе» в настройках приоритета загрузки «rEFInd boot manager » на первое место.
И не забудьте отключить «Secure Boot».
В каталоге /boot/efi/EFI создана дирректория refind. В ней есть refind.conf в котором можно установить время отображения списка ОС и настроить внешний вид.
Refind сам находит установленные ОС и определяет параметры их загрузки. Так же мне очень понравилось что если вставлена загрузочная флешка или диск они тоже появляются в списке.
Мне понравилась тема Next-Theme (вы можете подобрать что-то на свой вкус), положил её в /boot/efi/EFI/refind/next-theme и прописал в конфиге:
icons_dir next-theme/icons banner next-theme/background_1200.png
Конфиг хорошо документирован и вопросов вызывать не должен.
Буду благодарен за замечания и дополнения.