Встановлення Arch Linux (UEFI + Wi‑Fi + Робочий стіл) без звичних страждань

Було корисно?

Більшість негараздів при інсталяції Arch — це не «Linux складний». Це смерть від тисячі дрібних припущень: невірний диск, неправильний час, неправильна назва Wi‑Fi-пристрою, неправильна ціль завантажувача, неправильне розуміння того, що означає «UEFI» саме на цьому ноутбуці.

Якщо ставитися до інсталяції так само, як до змін у продуктивному середовищі — ідентифікувати систему, зафіксувати стан, робити одну зміну за раз, перевіряти, після чого продовжувати — Arch стає нудним. Нудне — це добре. Нудна система завантажується.

Підхід як у продукційному середовищі: як не вивести з ладу свій ноутбук

Встановлення Arch не є обрядом ініціації. Це запит на зміну. Ваша мета — завантажувальна система з мережею, робочим столом і шляхом для відновлення. І нічого зайвого. Пишність опцій — необов’язкова.

Правила, що запобігають класичним катастрофам

  • Ідентифікуйте диск-ціль трьома різними способами перед тим, як записувати таблицю розділів. Люди погано розрізняють «/dev/nvme0n1 vs /dev/nvme1n1» о першій ранку.
  • Зробіть статус UEFI фактом, а не відчуттям. Якщо /sys/firmware/efi відсутній, ви не в UEFI-режимі, незалежно від того, що каже екран прошивки.
  • Мережа першою, інсталяція другою. Напіввстановлена система без мережі — незумовлена помилка.
  • Тримайте можливість відкотитися. Використовуйте просту схему розділів, збережіть ESP недоторканою і не робіть хитромудрих трюків з завантаженням у перший день.
  • Надавайте перевагу налаштуванням, які інші зможуть дебажити. systemd-boot + NetworkManager + поширений робочий стіл — нудно. Саме тому це добре.

Цитата, що має бути в кожному on-call runbook — вільна парафраза відомого SRE голосу, ідея Бена Трейнора Слосса (Google SRE): парафраз: надійність — це фіча, і її проектують навмисно — не сподіваючись, що зміни поводитимуться правильно.

Жарт №1: Найшвидший спосіб знайти невірний диск — розбити невірний диск. Другий за швидкістю — запустити lsblk спочатку.

Цікаві факти та коротка історія (контекст запобігає помилкам)

  1. UEFI замінило старий світ BIOS не тільки через підтримку великих дисків, а й через стандартизований менеджер завантаження та довередне середовище перед завантаженням. Така «стандартизація» все ще сильно відрізняється в залежності від вендора.
  2. GPT — це не просто «нова таблиця розділів». Вона зберігає резервні заголовки та CRC, саме тому іноді можна відновити дані після часткової корупції.
  3. EFI System Partition (ESP) за специфікацією — файловий розділ FAT. Це не для Windows; це для прошивки. Ставтеся до нього як до спільної інфраструктури.
  4. systemd-boot раніше називався gummiboot. Перейменування було не лише косметичним — воно підкреслило, що це частина екосистеми systemd і залишається навмисно мінімалістичним.
  5. wpa_supplicant роками був основою Wi‑Fi, але багато користувачів взаємодіють з ним опосередковано через iwd або NetworkManager. Діагностика часто означає розуміти, який шар ви насправді використовуєте.
  6. pacman та роллінгові релізи Arch штовхають вас до сучасних ядер та драйверів — це добре для нових ноутбуків і трохи гостро для команд «не чіпайте робочу станцію».
  7. Підтоми Btrfs стали популярними на десктопах частково тому, що снапшоти дають реальну операційну вигоду при невдалих оновленнях.
  8. Мікрокодні оновлення (Intel/AMD) — це не «опціональні приємні налаштування». Вони містять виправлення помилок ЦП, які можуть бути критичними для стабільності й безпеки.

Передпольотні перевірки з live ISO (UEFI, диски, Wi‑Fi)

Завантажте Arch ISO. Якщо можливо, використайте найновіший місячний образ, щоб ваше ядро та прошивка Wi‑Fi не були з палеозою. Ви перевірите три речі перед тим, як торкатися диска: режим UEFI, час і виявлення мережевого пристрою.

Завдання 1: Підтвердити, що ви в UEFI-режимі

cr0x@server:~$ ls /sys/firmware/efi
config_table  efivars  fw_platform_size  runtime  runtime-map  systab

Що це означає: Якщо цей каталог існує і має записи, ISO завантажився в UEFI-режимі.

Рішення: Якщо він відсутній, перезавантажтеся і в прошивці оберіть UEFI-завантаження (часто для того самого USB-носія є два записи). Не продовжуйте з UEFI-планом у legacy-режимі.

Завдання 2: Знайти диски й зрозуміти номенклатуру

cr0x@server:~$ lsblk -o NAME,MODEL,SIZE,TYPE,FSTYPE,MOUNTPOINTS
NAME         MODEL                 SIZE TYPE FSTYPE MOUNTPOINTS
nvme0n1      Samsung SSD 980 PRO  931.5G disk
nvme0n1p1                          512M part vfat
nvme0n1p2                          100G part
nvme0n1p3                        831.0G part
sda          USB SanDisk 3.2       28.7G disk iso9660

Що це означає: Ви бачите внутрішній NVMe (ймовірно ваш цільовий диск) і USB-пристрій ISO (не ваш ціль). Моделі важливі; імена можуть вводити в оману.

Рішення: Запишіть диск-ціль (наприклад, /dev/nvme0n1). Якщо є кілька внутрішніх дисків, вирішіть зараз, на який встановлюватимете, а який залишите недоторканим.

Завдання 3: Перевірити годинник (бо TLS не любить подорожі в часі)

cr0x@server:~$ timedatectl
               Local time: Sat 2026-02-05 12:41:02 UTC
           Universal time: Sat 2026-02-05 12:41:02 UTC
                 RTC time: Sat 2026-02-05 12:41:01
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no

Що це означає: Ви ще не синхронізовані. Якщо час неправильний, завантаження пакетів і TLS-перевірки дзеркал можуть падати у вигляді мережевих помилок.

Рішення: Якщо Wi‑Fi працює, синхронізуйте час. Якщо Wi‑Fi ще не підключений — підключіть його спочатку, потім повертайтеся сюди.

cr0x@server:~$ timedatectl set-ntp true

Wi‑Fi в Arch ISO: підключити, а потім зробити так, щоб працювало

У сучасних Arch ISO найкращий шлях зазвичай — iwd + iwctl (часто вже є) або NetworkManager (встановити пізніше в цільовій системі). Завдання live-середовища просте: підключитися надійно на час інсталяції.

Завдання 4: Ідентифікувати Wi‑Fi-пристрій і драйвер

cr0x@server:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
2: wlp0s20f3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DORMANT group default qlen 1000

Що це означає: Інтерфейс Wi‑Fi існує (wlp0s20f3). Якщо бездротового інтерфейсу не видно — це питання драйвера/прошивки.

Рішення: Якщо бездротового інтерфейсу немає, перевірте dmesg на помилки прошивки та підтвердіть апаратне забезпечення.

cr0x@server:~$ dmesg -T | grep -iE 'firmware|iwlwifi|ath|brcm|rtw'
[Sat Feb  5 12:44:11 2026] iwlwifi 0000:00:14.3: loaded firmware version 78.8f3d2a8a.0

Що це означає: Прошивка завантажена. Це зелений сигнал.

Рішення: Продовжуйте підключення. Якщо бачите «failed to load firmware», можливо, потрібний новіший ISO або відповідний пакет прошивки пізніше; для live ISO зазвичай швидше взяти новіший образ, ніж вигадувати героїчні рішення.

Завдання 5: Підключення через iwctl (iwd)

cr0x@server:~$ iwctl
[iwd]# device list
                                    Devices
----------------------------------------------------------------
  Name              Address          Powered   Adapter   Mode
----------------------------------------------------------------
  wlp0s20f3         34:de:1a:xx:xx   on        phy0      station

[iwd]# station wlp0s20f3 scan
[iwd]# station wlp0s20f3 get-networks
                               Available networks
----------------------------------------------------------------
  Network name                    Security      Signal
----------------------------------------------------------------
  CorpGuest                       open          -63 dBm
  HomeNet                         psk           -48 dBm

[iwd]# station wlp0s20f3 connect HomeNet
Type the network passphrase for HomeNet psk.
Passphrase: ********

Що це означає: Ви можете сканувати й підключатися. Сила сигналу має значення; «-85 dBm» — це місце, де інсталяції помирають під час завантаження пакетів.

Рішення: Якщо сигнал слабкий — підійдіть ближче, перемкніться на інший діапазон або використайте tether. Виправляйте фізику перед тим, як дебажити «випадкові помилки pacman».

Завдання 6: Перевірити, чи отримали IP і чи працює DNS

cr0x@server:~$ ip addr show wlp0s20f3
2: wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 34:de:1a:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.44/24 brd 192.168.1.255 scope global dynamic wlp0s20f3
       valid_lft 86371sec preferred_lft 86371sec
cr0x@server:~$ resolvectl status
Global
       Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Current DNS Server: 192.168.1.1
       DNS Servers: 192.168.1.1

Link 2 (wlp0s20f3)
Current Scopes: DNS
     Protocols: +DefaultRoute

Що це означає: У live ISO налаштовано DHCP і DNS через systemd-resolved.

Рішення: Якщо DNS не працює, не «ламаємо» його випадковими правками /etc/resolv.conf поки не перевірили роутер і іншу мережу. Ви переживете нестабільну інсталяцію, але будете себе ненавидіти.

Розділення диска, яке зрозуміє майбутнє «Я»

UEFI + GPT. Один ESP. Один корінь. Опційно swap. Оце — адекватна базова конфігурація. Якщо робите dual-boot, залишайте існуючий ESP; не створюйте два ESP, якщо вам не до вподоби рулетка прошивки.

Розумний стандартний макет (одно-дисковий ноутбук)

  • ESP: 512 МіБ, тип EFI System, FAT32, змонтований у /boot (або /efi). Оберіть одне й дотримуйтеся.
  • Root: решта (або більша частина) як ext4 або Btrfs, змонтовано в /.
  • Swap: опціонально. Якщо хочете гібернацію — swap має бути розміром не менше оперативної пам’яті (і з запасом).

Завдання 7: Перегляньте існуючу таблицю розділів перед редагуванням

cr0x@server:~$ sgdisk -p /dev/nvme0n1
Disk /dev/nvme0n1: 1953525168 sectors, 931.5 GiB
Model: Samsung SSD 980 PRO
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 8A2D7C7D-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Partition table holds up to 128 entries
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB  EF00  EFI system partition
   2         1050624      210763775   100.0 GiB  8300  Linux root
   3       210763776     1953523711   831.0 GiB  8300  Linux home

Що це означає: У вас уже є ESP і окремі розділи root/home. Чудово, якщо цього ви й очікували.

Рішення: Якщо перевстановлюєте, вирішіть, чи повторно використовувати p1 як ESP і відформатувати p2/p3. Якщо dual-boot — не видаляйте ESP, якщо не хочете виходити на відновлення у вихідні.

Завдання 8: Створити розділи через parted (приклад: новий диск)

cr0x@server:~$ parted -s /dev/nvme0n1 mklabel gpt
cr0x@server:~$ parted -s /dev/nvme0n1 mkpart ESP fat32 1MiB 513MiB
cr0x@server:~$ parted -s /dev/nvme0n1 set 1 esp on
cr0x@server:~$ parted -s /dev/nvme0n1 mkpart root 513MiB 100%

Що це означає: Створено GPT; перший розділ — ESP, другий — root.

Рішення: Якщо потрібні окремі /home або swap — додайте їх зараз. Інакше тримайте простоту: одна файлова система простіша для бекапу й перевстановлення.

Завдання 9: Відформатувати ESP і root

cr0x@server:~$ mkfs.fat -F32 /dev/nvme0n1p1
mkfs.fat 4.2 (2021-01-31)
cr0x@server:~$ mkfs.ext4 -F /dev/nvme0n1p2
mke2fs 1.47.2 (2025-01-05)
Creating filesystem with 244170752 4k blocks and 61046784 inodes
Filesystem UUID: 8e2f3c2a-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Що це означає: Файлові системи створені; ext4 віддає кількість блоків і UUID, що потрапить у fstab.

Рішення: Якщо ви очікували Btrfs, а відформатували ext4 — зупиніться й виправте. Так, я бачив людей, які «пізніше конвертують» і тихо цього ніколи не роблять.

Вибір файлової системи: ext4 чи Btrfs (і що я б використовував)

Ext4 досі — це «потрібно, щоб мій ноутбук завантажувався щодня». Btrfs — це «я хочу снапшоти і готовий розуміти підтоми». Обидві підходять. Обирайте за вашими операційними звичками, а не за Reddit‑героїзмом.

Моя різка думка

  • Обирайте ext4, якщо це ваш перший Arch, ви цінуєте передбачуваність, і ваша стратегія бекапу — «я обіцяю, що зроблю пізніше».
  • Обирайте Btrfs, якщо ви справді будете використовувати снапшоти (перед оновленням, перед змінами в ядрі) і готові тримати макет послідовним.

Завдання 10 (опційно): Макет підтомів Btrfs, що не ускладнює життя

cr0x@server:~$ mkfs.btrfs -f /dev/nvme0n1p2
btrfs-progs v6.15
cr0x@server:~$ mount /dev/nvme0n1p2 /mnt
cr0x@server:~$ btrfs subvolume create /mnt/@
Create subvolume '/mnt/@'
cr0x@server:~$ btrfs subvolume create /mnt/@home
Create subvolume '/mnt/@home'
cr0x@server:~$ umount /mnt
cr0x@server:~$ mount -o subvol=@,compress=zstd:3 /dev/nvme0n1p2 /mnt
cr0x@server:~$ mkdir -p /mnt/home
cr0x@server:~$ mount -o subvol=@home,compress=zstd:3 /dev/nvme0n1p2 /mnt/home

Що це означає: Окремі підтоми дозволяють робити снапшоти кореня без снапшотування home щоразу.

Рішення: Якщо ви так робите — дотримуйтеся цього підходу. «Один підтом сьогодні, одинадцять завтра» — це шлях до незрозумілої робочої станції.

Базова інсталяція: pacstrap, fstab, локаль, час

Тепер робимо нудну частину, яка має бути нудною. Змонтуйте файлові системи, встановіть базові пакети, згенеруйте fstab та налаштуйте час/локаль. Тримайте набір пакетів невеликим. Ви завжди можете додати пакети пізніше. Видалити плутанину важче.

Місця монтування

cr0x@server:~$ mount /dev/nvme0n1p2 /mnt
cr0x@server:~$ mkdir -p /mnt/boot
cr0x@server:~$ mount /dev/nvme0n1p1 /mnt/boot

Завдання 11: Оберіть дзеркала (швидка перевірка, не фанатизм)

cr0x@server:~$ reflector --country "United States" --latest 10 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

Що це означає: Список дзеркал оновлено до розумного набору.

Рішення: Якщо reflector падає через DNS або TLS — зупиніться й виправте час/мережу. Не продовжуйте з напівполаманим менеджером пакетів.

Завдання 12: Встановити базову систему + необхідне

cr0x@server:~$ pacstrap -K /mnt base linux linux-firmware sof-firmware nano sudo man-db man-pages networkmanager iwd
:: Synchronizing package databases...
 core                 129.2 KiB   623 KiB/s 00:00 [######################] 100%
 extra               1640.8 KiB  4.21 MiB/s 00:00 [######################] 100%
:: Installing packages...
(1/155) installing filesystem ...
(155/155) installing linux ...

Що це означає: Базова ОС встановлена. Прапорець -K копіює keyring у нову систему, щоб pacman довіряв всередині chroot одразу.

Рішення: Якщо у вас сучасне аудіообладнання — залиште sof-firmware. Для ноутбуків це запобігає сюрпризам «немає звукового пристрою» пізніше.

Згенерувати fstab і зайти в chroot

cr0x@server:~$ genfstab -U /mnt >> /mnt/etc/fstab
cr0x@server:~$ arch-chroot /mnt

Завдання 13: Встановити часовий пояс, системний час і локаль

cr0x@server:/# ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
cr0x@server:/# hwclock --systohc
cr0x@server:/# sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
cr0x@server:/# locale-gen
Generating locales...
  en_US.UTF-8... done
Generation complete.
cr0x@server:/# printf "LANG=en_US.UTF-8\n" > /etc/locale.conf

Що це означає: Ви задаєте передбачувану локаль і коректну поведінку годинника.

Рішення: Якщо у вас dual-boot з Windows, подумайте про збереження RTC у локальному часі на боці Windows замість псування Linux. Linux краще тримати UTC RTC.

Завдання 14: Ім’я хоста та базові мережеві сервіси

cr0x@server:/# printf "archbox\n" > /etc/hostname
cr0x@server:/# systemctl enable NetworkManager
Created symlink '/etc/systemd/system/multi-user.target.wants/NetworkManager.service' → '/usr/lib/systemd/system/NetworkManager.service'.

Що це означає: NetworkManager стартуватиме під час завантаження і керуватиме Wi‑Fi на вашому десктопі як звичайна ОС.

Рішення: Для ноутбуків/десктопів NetworkManager — правильний дефолт. «systemd-networkd усюди» залиште для серверів або для тих, хто любить писати YAML з емоціями.

Користувачі, sudo і мікрокод

cr0x@server:/# passwd
New password:
Retype new password:
passwd: password updated successfully
cr0x@server:/# useradd -m -G wheel -s /bin/bash cr0x
cr0x@server:/# passwd cr0x
New password:
Retype new password:
passwd: password updated successfully
cr0x@server:/# EDITOR=nano visudo

Що це означає: У вас є некореневий користувач у групі wheel. У visudo слід розкоментувати %wheel ALL=(ALL:ALL) ALL.

Рішення: Не користуйтеся root на постійній основі. Це не круто; це недбало.

cr0x@server:/# pacman -S --noconfirm intel-ucode
resolving dependencies...
looking for conflicting packages...
Packages (1) intel-ucode-20260120.1-1
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring                     [######################] 100%
(1/1) installing intel-ucode                       [######################] 100%

Що це означає: Мікрокод встановлено. Для AMD використовуйте amd-ucode.

Рішення: Встановіть правильний мікрокод пакет зараз. Це мало зусиль і зменшує таємничу нестабільність.

Завантажувач на UEFI: systemd-boot зроблено чисто

На UEFI-ноутбуках systemd-boot — чудовий дефолт: мінімалістичний, передбачуваний і не намагається перехитрити прошивку. GRUB теж підходить, але якщо вам не потрібні його фічі — не платіть податок складності.

Завдання 15: Встановити systemd-boot на ESP

cr0x@server:/# bootctl install
Created "/boot/EFI/systemd".
Created "/boot/EFI/BOOT".
Created "/boot/loader".
Created "/boot/loader/entries".
Random seed file /boot/loader/random-seed successfully written (32 bytes).
Created EFI boot entry "Linux Boot Manager".

Що це означає: Файли завантажувача розміщені на ESP, та створено NVRAM-запис завантаження.

Рішення: Якщо bootctl каже, що не знайде ESP — ваш монтаж /boot неправильний. Виправте монтування перед продовженням.

Завдання 16: Створити запис завантаження з правильним ідентифікатором кореня

Отримайте UUID файлової системи кореня:

cr0x@server:/# blkid /dev/nvme0n1p2
/dev/nvme0n1p2: UUID="8e2f3c2a-xxxx-xxxx-xxxx-xxxxxxxxxxxx" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="root" PARTUUID="f0a1b2c3-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Що це означає: У вас є UUID для параметрів ядра і перевірки в fstab.

Рішення: Віддавайте перевагу UUID у параметрах ядра. Імена пристроїв можуть змінюватися; UUID — ні (якщо ви не відформатуєте).

Створіть /boot/loader/entries/arch.conf:

cr0x@server:/# cat > /boot/loader/entries/arch.conf <<'EOF'
title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root=UUID=8e2f3c2a-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw
EOF

І встановіть конфігурцію завантажувача за замовчуванням:

cr0x@server:/# cat > /boot/loader/loader.conf <<'EOF'
default arch.conf
timeout 3
console-mode max
editor no
EOF

Рішення: Тримайте таймаут коротким. Якщо потрібно дебажити — завжди можна натиснути клавішу. Якщо залишити довгим, ви будете дивитися на нього щодня.

Завдання 17: Побудувати initramfs і перевірити встановлення ядра

cr0x@server:/# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  - Building image with: /usr/bin/mkinitcpio -g /boot/initramfs-linux.img
==> Image generation successful

Що це означає: Ваш initramfs знаходиться на ESP-монтуванні /boot, де systemd-boot його шукатиме.

Рішення: Якщо ви монтували ESP у /boot, це правильно. Якщо ESP змонтовано в /efi, ваше ядро й initramfs, ймовірно, знаходяться на корені — інший підхід. Оберіть один шлях і дотримуйтеся його послідовно.

Налаштування робочого столу: NetworkManager, драйвери GPU, KDE/GNOME

Завантаження — перший етап. Робочий стіл, який можна використовувати — другий. Хитрість проста: увімкніть правильні сервіси, встановіть потрібні драйвери і уникайте маневру «встановив три дисплей-менеджери на всяк випадок».

Завдання 18: Увімкнути NetworkManager і (опційно) бекенд iwd

Ви вже увімкнули NetworkManager. Якщо хочете, щоб NetworkManager використовував iwd замість wpa_supplicant, налаштуйте це явно.

cr0x@server:/# mkdir -p /etc/NetworkManager/conf.d
cr0x@server:/# cat > /etc/NetworkManager/conf.d/wifi_backend.conf <<'EOF'
[device]
wifi.backend=iwd
EOF

Рішення: Не змішуйте стеки Wi‑Fi навмання. Оберіть один і дебажте в межах цього стека.

Завдання 19: Встановити стек графіки (один шлях)

З’ясуйте ваш(і) GPU:

cr0x@server:/# lspci -k | grep -A3 -E 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller
        Subsystem: Lenovo Device xxxx
        Kernel driver in use: i915
        Kernel modules: i915

Що це означає: Intel iGPU використовує i915. Зазвичай це «просто працює» з Mesa.

Рішення: Якщо у вас NVIDIA — встановлюйте пакети NVIDIA свідомо і приймайте те, що будете відслідковувати драйвери. Для AMD/Intel відкритий стек зазвичай простіший.

Встановіть базові пакети для сесії робочого столу:

cr0x@server:/# pacman -S --noconfirm xorg-server xorg-xinit mesa

Завдання 20: Обрати робочий стіл і дисплей-менеджер (по одному)

KDE Plasma (з SDDM):

cr0x@server:/# pacman -S --noconfirm plasma kde-applications sddm
cr0x@server:/# systemctl enable sddm
Created symlink '/etc/systemd/system/display-manager.service' → '/usr/lib/systemd/system/sddm.service'.

Рішення: Plasma — хороший вибір «працює з коробки», особливо якщо хочете GUI‑контролі мережі і розумні налаштування за замовчуванням.

Або GNOME (з GDM):

cr0x@server:/# pacman -S --noconfirm gnome gdm
cr0x@server:/# systemctl enable gdm
Created symlink '/etc/systemd/system/display-manager.service' → '/usr/lib/systemd/system/gdm.service'.

Рішення: Оберіть KDE або GNOME у перший день. Встановлення обох — хороший спосіб дебажити теми й сесійні файли замість того, щоб виконувати роботу.

Завдання 21: Аудіо та Bluetooth (для ноутбуків)

cr0x@server:/# pacman -S --noconfirm pipewire pipewire-audio pipewire-pulse wireplumber bluez bluez-utils
cr0x@server:/# systemctl enable bluetooth
Created symlink '/etc/systemd/system/dbus-org.bluez.service' → '/usr/lib/systemd/system/bluetooth.service'.
Created symlink '/etc/systemd/system/multi-user.target.wants/bluetooth.service' → '/usr/lib/systemd/system/bluetooth.service'.

Рішення: PipeWire — нинішня реальність. Не реанімуйте поради епохи PulseAudio, якщо не дебажите конкретну проблему.

Перший перезапуск

cr0x@server:/# exit
cr0x@server:~$ umount -R /mnt
cr0x@server:~$ reboot

Жарт №2: Якщо перше завантаження пройшло — не святкуйте зарано; ваш ноутбук дочекається того моменту, коли ви запізнитеся на зустріч, щоб виявити відсутню прошивку Wi‑Fi.

Практичні завдання (команди + вивід + рішення)

Ви вже бачили багато завдань у тексті. Ось додаткові високосигнальні перевірки, що економлять час, коли щось не працює. Це команди, які я реально запускаю, коли хочу отримати відповіді, а не відчуття.

Завдання 22: Підтвердити, що ESP змонтовано там, де ви думаєте

cr0x@server:~$ findmnt /boot
TARGET SOURCE         FSTYPE OPTIONS
/boot  /dev/nvme0n1p1 vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro

Що це означає: ESP змонтовано в /boot, отже ядра/initramfs знаходяться на FAT, якщо ви не обрали інший макет.

Рішення: Якщо /boot — ext4, а ESP — в іншому місці, не запускайте bootctl навмання. Підтвердіть обрану архітектуру і дотримуйтеся її.

Завдання 23: Перевірити записи завантаження в NVRAM

cr0x@server:~$ efibootmgr -v
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0001,0000
Boot0003* Linux Boot Manager  HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x100000)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0001* UEFI: USB SanDisk 3.2  PciRoot(0x0)/Pci(0x14,0x0)/USB(0x3,0x0)
Boot0000* Windows Boot Manager  HD(1,GPT,yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)

Що це означає: Прошивка знає про ваш завантажувач. Порядок визначає, що завантажується першим.

Рішення: Якщо «Linux Boot Manager» зникає після перезавантаження, прошивка може бути «допоміжною». У такому випадку тримайте fallback: переконайтеся, що \EFI\BOOT\BOOTX64.EFI існує (systemd-boot його інсталює).

Завдання 24: Перевірити Wi‑Fi в установленій системі (NetworkManager)

cr0x@server:~$ systemctl status NetworkManager --no-pager
● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; preset: disabled)
     Active: active (running) since Sat 2026-02-05 13:21:12 UTC; 2min ago

Що це означає: NetworkManager запущено.

Рішення: Якщо він не активний — виправте це перед тим, як чіпати драйвери Wi‑Fi. Стан сервісу — перший шар.

cr0x@server:~$ nmcli device status
DEVICE      TYPE      STATE         CONNECTION
wlp0s20f3   wifi      connected     HomeNet
lo          loopback  unmanaged     --

Що це означає: Wi‑Fi підключено через NetworkManager.

Рішення: Якщо стан «disconnected», але пристрій існує — перевірте rfkill, облікові дані та регуляторну домену. Не перевстановлюйте ОС через зміну пароля Wi‑Fi.

Завдання 25: Перевірити rfkill (пастка «режим літака»)

cr0x@server:~$ rfkill list
0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

Що це означає: Блокування відсутнє. Якщо hard blocked — так, є фізичний перемикач або прошивка.

Рішення: Якщо заблоковано — вирішіть це спочатку. Жодна перевстановлення драйверів не переможе RF kill‑вимикач.

Завдання 26: Підтвердити, що DNS в порядку в встановленій системі

cr0x@server:~$ resolvectl query archlinux.org
archlinux.org: 95.217.xx.xx                     -- link: wlp0s20f3
              (archlinux.org)

-- Information acquired via protocol DNS in 34.1ms.
-- Data is authenticated: no

Що це означає: DNS‑резолюція працює і затримка прийнятна.

Рішення: Якщо DNS падає, але IP‑зв’язок є — зосередьтеся на інтеграції resolved/NetworkManager, а не на «інтернеті впав».

Завдання 27: Діагностика логів завантаження, коли графічний вхід не з’являється

cr0x@server:~$ journalctl -b -p err --no-pager
Feb 05 13:20:58 archbox sddm[612]: Authentication error: SDDM::Auth::ERROR_INTERNAL
Feb 05 13:21:01 archbox kernel: i915 0000:00:02.0: [drm] *ERROR* failed to load DMC firmware

Що це означає: Помилки з моменту завантаження. Деякі фатальні, деякі — шум.

Рішення: Якщо помилки дисплей-менеджера — перевірте пакети сесії/користувача. Якщо помилки прошивки GPU — переконайтеся, що linux-firmware встановлено й оновлено, і що ви не фіксуєте старі ядра.

Завдання 28: Перевірити, що initramfs містить те, що ви очікуєте

cr0x@server:~$ lsinitcpio -a /boot/initramfs-linux.img | head
usr/lib/modules/6.12.8-arch1-1/kernel/drivers/
usr/lib/modules/6.12.8-arch1-1/kernel/drivers/base/
usr/lib/modules/6.12.8-arch1-1/kernel/drivers/block/

Що це означає: Ви можете інспектувати вміст initramfs. Це корисно, якщо драйвери кореневого пристрою або файлової системи недоступні на ранньому етапі завантаження.

Рішення: Якщо ви використовуєте шифрування, RAID або незвичайні контролери зберігання — переконайтеся, що потрібні хуки в /etc/mkinitcpio.conf і перебудуйте initramfs.

План швидкої діагностики: як швидко знайти вузьке місце

Коли щось не вдається — не метушіться. Визначте, який шар зламався. Більшість повідомлень «Arch зламався» — це одне з: не завантажилися в UEFI, невірний розділ змонтовано, відсутня прошивка або сервіс не увімкнено.

Перш за все: чи завантажується те, що ви думаєте?

  • Перевірте UEFI-режим: ls /sys/firmware/efi
  • Перевірте запис завантаження: efibootmgr -v
  • Перевірте cmdline ядра: cat /proc/cmdline

Мета: Підтвердити, що прошивка завантажила задуманий завантажувач і ядро з потрібним параметром root=.

Друге: чи правильно і послідовно змонтовано зберігання?

  • Список блок-пристроїв: lsblk -f
  • Перевірити монтування: findmnt
  • Перевірити fstab: cat /etc/fstab

Мета: Переконатися, що root і ESP відповідають вашому задуму. «Ядро на ext4, а завантажувач очікує його на ESP» — класична самостійно створена рана.

Третє: чи мережа падає на лінку, IP чи DNS?

  • Стан лінку: ip link, rfkill list
  • IP/DHCP: ip addr, nmcli device status
  • DNS: resolvectl status, resolvectl query example.com

Мета: Не дебагуйте DNS, якщо немає IP, і не перевстановлюйте драйвери, якщо інтерфейс hard-blocked.

Четверте: чи не падає робочий стіл через дисплей-менеджер, GPU чи сесію?

  • Стан дисплей-менеджера: systemctl status sddm або systemctl status gdm
  • Виявлення GPU: lspci -k
  • Помилки завантаження: journalctl -b -p err

Мета: Розділити «немає GUI» на єдиний збій сервісу або проблему драйвера/ядра.

Типові помилки: симптом → корінна причина → виправлення

1) Симптом: «bootctl install» пройшов, але система не завантажується (прошивка йде в BIOS або в іншу ОС)

Корінна причина: Ви встановили в legacy-режимі, або ESP не була змонтована там, де ви думали, або запис NVRAM не закріпився.

Виправлення:

  • Перевірте UEFI: ls /sys/firmware/efi.
  • Перевірте монтаж ESP: findmnt /boot і переконайтеся, що /boot/EFI/systemd/systemd-bootx64.efi існує.
  • Перевірте записи: efibootmgr -v. Якщо відсутні — перевстановіть з ESP змонтованим і знову запустіть bootctl install.

2) Симптом: pacstrap падає з TLS або «could not resolve host»

Корінна причина: Неправильний годинник, поламані DNS, captive portal або слабкий Wi‑Fi, що перериває з’єднання.

Виправлення:

  • Синхронізуйте час: timedatectl set-ntp true і перевірте timedatectl.
  • Перевірте DNS: resolvectl query archlinux.org.
  • Для captive portal використайте tether або відому добру мережу. ISO не пройде умови обслуговування готельного Wi‑Fi.

3) Симптом: Wi‑Fi-пристрій зовсім відсутній

Корінна причина: Відсутній драйвер ядра або прошивка; іноді Secure Boot або вендорські особливості.

Виправлення:

  • Перевірте dmesg на помилки прошивки: dmesg -T | grep -i firmware.
  • Використайте новіший Arch ISO (часто найкраще рішення).
  • Якщо в установленій системі бракує прошивки — підтвердіть, що встановлено і оновлено linux-firmware.

4) Симптом: Завантаження йде, але падає в emergency shell із повідомленням, що не знайдено root

Корінна причина: Невірний root= UUID у записі завантажувача, відсутній драйвер файлової системи в initramfs або ви переформатували та забули оновити конфіги.

Виправлення:

  • З ISO запустіть blkid і порівняйте з /boot/loader/entries/arch.conf.
  • Перебудуйте initramfs всередині chroot: mkinitcpio -P.

5) Симптом: Петля входу в десктоп (вводите пароль, екран миготить, повертає на екран входу)

Корінна причина: Неправильна конфігурація сесії, неправильні права на home, поламаний стек GPU або встановлено кілька дисплей-менеджерів/сесій.

Виправлення:

  • Перевірте помилки: journalctl -b -p err та journalctl -u sddm (або gdm).
  • Переконайтеся в правах на домашню теку: ls -ld /home/cr0x має показувати, що теку володіє користувач.
  • Не встановлюйте кілька дисплей-менеджерів одночасно. Оберіть один і увімкніть його.

6) Симптом: Немає звукових пристроїв в десктопі

Корінна причина: Відсутній sof-firmware (поширено для Intel-ноутбуків), PipeWire не встановлено або WirePlumber не запущено.

Виправлення:

  • Встановіть: pacman -S sof-firmware pipewire wireplumber
  • Перевірте сервіси користувача/логи: systemctl --user status wireplumber

Чеклісти / покроковий план

Чекліст A: Мінімальний план «потрібен робочий десктоп сьогодні»

  1. Завантажити ISO в UEFI-режимі; підтвердити, що /sys/firmware/efi існує.
  2. Підключити Wi‑Fi через iwctl; підтвердити IP та DNS.
  3. Ідентифікувати диск-ціль через lsblk -o NAME,MODEL,SIZE.
  4. Створити GPT: ESP (512 МіБ FAT32) + root (решта).
  5. Відформатувати ESP FAT32; відформатувати root ext4.
  6. Змонтувати root у /mnt, ESP у /mnt/boot.
  7. pacstrap base + ядро + firmware + NetworkManager.
  8. Згенерувати fstab; зайти в chroot.
  9. Задати часовий пояс, локаль, hostname; встановити пароль root; створити користувача; налаштувати sudo.
  10. Встановити мікрокод; встановити systemd-boot; створити запис завантаження.
  11. Увімкнути NetworkManager; встановити робочий стіл (KDE+SDDM або GNOME+GDM); увімкнути дисплей-менеджер.
  12. Перезавантажитись; перевірити Wi‑Fi через GUI; виконати оновлення.

Чекліст B: План безпеки для dual-boot (Windows вже встановлено)

  1. Зробіть резервні копії ключів BitLocker (якщо використовуєте). Якщо ви не знаєте, що це означає — зупиніться і вивчіть перед редагуванням розділів.
  2. У Windows звузьте том за потреби через інструменти Windows. Не зменшуйте NTFS з Linux, якщо не полюбляєте ризики.
  3. В ISO не форматувати існуючий ESP. Змонтируйте його й використайте повторно.
  4. Створіть новий Linux root у вільному місці.
  5. Встановіть systemd-boot; переконайтеся, що efibootmgr показує записи і для Windows, і для Linux.
  6. Збережіть запис Windows Boot Manager. Прошивка може «віддати перевагу» йому пізніше; ви хочете, щоб обидва працювали.

Чекліст C: План «я хочу снапшоти» (Btrfs)

  1. Створіть Btrfs root, створіть підтоми @ і @home.
  2. Монтуйте з compress=zstd і послідовними опціями підтомів.
  3. Згенеруйте fstab, перевірте підтоми в /etc/fstab перед перезавантаженням.
  4. Впровадьте робочий процес зі снапшотами до оновлень. Якщо не будете ним користуватися — Btrfs не дасть вам додаткової вигоди.

Три корпоративні міні-історії зі світу «в мене працює»

Міні-історія 1: Інцидент через неправильне припущення

Компанія вирішила стандартизувати розробницькі ноутбуки на Arch, бо важлива була підтримка нового апаратного забезпечення. Розгортання йшло добре — доки не прийшла партія машин з двома внутрішніми NVMe-дисками. Один — менший «системний», інший — більший «дані», залежно від моделі.

Внутрішні нотатки з інструкцією казали: «Встановлюйте на /dev/nvme0n1». Це було вірно місяцями. Потім версія від постачальника змінила порядок нумерації. Кілька інсталяцій стерли не той диск. Нічого зловмисного — просто неправильне припущення, що імена пристроїв постійні.

Постмортем був нудним і корисним. Процедуру змінили: вимагати ідентифікацію диска за моделлю + розміром і вставляти в тикет вивід lsblk -o NAME,MODEL,SIZE,SERIAL перед розміткою. Також додали перевірку «переконайтесь, що ви не на USB», перевіривши ім’я ISO-пристрою і впевнившись, що воно не є ціллю.

Після цього проблема зникла. Не тому, що Linux став добрішим, а тому, що процес став менш довірливим до людської пам’яті.

Міні-історія 2: Оптимізація, що обернулася проти них

IT‑команда захотіла пришвидшити інсталяції. Хтось запропонував тримати локальний кеш пакетів і обрізати список пакетів у образі ISO: «Нам не потрібен linux-firmware; він великий. Додамо його пізніше.» На папері це зменшувало час завантаження.

На практиці це створило клас помилок, які важко діагностувати. Машини завантажувалися, але Wi‑Fi і часом графіка не працювали на певних моделях. Розробники виправляли це, встановлюючи прошивку пізніше — якщо у них був Ethernet. Без Ethernet вони застрягали з системою, яка не могла завантажити пакет, що зробив би мережу працюючою. Дуже елегантно.

Команда відмінила оптимізацію і задокументувала принцип: пакети прошивок — це базова частина, а не опція. Не оптимізуйте, видаляючи те, що дозволяє апаратному забезпеченню працювати. Оптимізуйте дзеркала, кешування або використовуйте кращу пропускну здатність під час provisioning.

Пізніше вони досягли прискорення з розумнішим вибором дзеркал і локальним кешуванням, без перетворення першого завантаження на пошук скарбів.

Міні-історія 3: Нудна, але правильна практика, що врятувала день

Інша організація використовувала Arch на флоті кіосків. Роллінгові релізи нервували менеджмент, тому вони зробили щось геть несексуальне: перед кожним вікном оновлення робили снапшот (Btrfs) і перевіряли, що можуть завантажитися в попередній снапшот з меню завантажувача.

Одне оновлення принесло регресію в драйвер GPU для їхнього апаратного забезпечення, і кіоски перезавантажилися в чорний екран. Ні віддаленого доступу, ні GUI — лише кілька людей могли фізично дістатися пристроїв.

Оскільки вони репетирували відкат, реакція була проста. Вони завантажилися в попередній запис снапшота, відновили сервіс і затримали проблемний пакет, координуючи виправлення. Ніякої паніки, ніякого героїчного дебагу перед клієнтами.

Ця практика не потрапила в заголовки. Вона забезпечила час роботи. В операціях — це єдина оплески, що мають значення.

Питання й відповіді

1) Чи монтувати ESP у /boot чи /efi?

Якщо ви використовуєте systemd-boot, монтування ESP у /boot зберігає модель простою: завантажувач, ядро й initramfs живуть разом. Монтати у /efi теж працюють, але тоді потрібно гарантувати, що завантажувач знайде ядро/initramfs (інколи через окремі кроки). Оберіть один підхід і дотримуйтеся його.

2) Чи потрібен swap у 2026 році?

Не обов’язково, але він корисний під час пам’ятевого навантаження і необхідний для гібернації. Якщо не гібернуєте і маєте багато RAM — можна обійтися без swap. Якщо ноутбук і ви використовуєте гібернацію — плануйте swap відповідно.

3) iwd чи wpa_supplicant?

Користуйтеся iwd як бекенд, якщо ваша конфігурація з ним працює; він легкий і добре інтегрується. Якщо з’являються крайові корпоративні випадки (певні EAP-конфігурації), wpa_supplicant може бути суміснішим. Головне — не змішувати стекі без розуміння, який саме активний.

4) Чому pacman скаржиться на ключі чи підписи?

Зазвичай через застарілий keyring або неправильний годинник. В ISO часто допомагає «налаштувати мережу, синхронізувати час, повторити». В установленій системі переконайтеся, що archlinux-keyring оновлено.

5) Чи можу я встановити Arch без Ethernet?

Так. Live ISO і iwctl зазвичай достатні. Типовий режим збоїв — відсутність прошивки для дуже нових Wi‑Fi чіпів; найпростіше — взяти новіший ISO.

6) systemd-boot vs GRUB: що обрати?

systemd-boot — якщо хочете мінімум рухомих частин і лише UEFI. GRUB — якщо потрібні складні мультизавантажувальні можливості, підтримка legacy або незвичайні конфігурації. Для сучасного одиночного OS-ноутбука systemd-boot зазвичай спокійніший вибір.

7) Чи потрібен Secure Boot?

Потрібна модель загрози, а не просто галочка. Secure Boot може бути корисним, але додає складності: підписування ядер або використання підписаних артефактів. Спочатку отримайте чисту інсталяцію без Secure Boot, потім додайте його після того, як зможете завантажуватися й відновлювати систему стабільно.

8) Чому мій UEFI-запис зникає після перезавантаження?

Деяка прошивка «чистить» записи, які їй не подобаються. Файл fallback systemd-boot у \EFI\BOOT\BOOTX64.EFI допомагає. Також переконайтеся, що ESP здоровий і що ви не скидаєте налаштування прошивки.

9) Чи варто використовувати Btrfs снапшоти на ноутбуці?

Якщо ви справді будете користуватися ними перед оновленнями і розумієте, що саме знімкуєте (root чи home) — так. Якщо не готові до цієї звички — ext4 простіший і поводитиметься надійніше.

Наступні кроки, що справді окупаються

У вас є завантажувальна система Arch з Wi‑Fi і робочим столом. Тепер зробіть операційну гігієну, що запобігатиме майбутнім проблемам:

  1. Перевірте оновлення: запустіть pacman -Syu і переконайтеся, що немає проблем з підписами/часом/мережею.
  2. Збережіть макет розділів: збережіть вивід lsblk -f десь, де зможете дістати, якщо система не завантажиться.
  3. Протестуйте відновлення: тримайте ISO‑USB під рукою. Переконайтеся, що можете змонтувати root і ESP з ISO і зайти в chroot.
  4. Визначте снапшоти чи бекапи: якщо Btrfs — задайте рутину зі снапшотами; якщо ext4 — план бекапів. «Пізніше» — це не план.
  5. Тримайте прошивки й ядро в актуальному стані: особливо на ноутбуках. Підтримка апаратного забезпечення змінюється з часом.

Arch не обов’язково болісний. Неперевірені припущення — ось що болісно. Ставтеся до інсталяції як до зміни, яку, можливо, доведеться дебажити о 2‑й годині ночі, — і ви спатимете краще.

← Попередня
Знаходження та безпечне видалення старих оновлень Windows за допомогою PowerShell
Наступна →
«Мережевий шлях не знайдено» (0x80070035): виправлення за 5 хвилин

Залишити коментар