Skip to content

Instantly share code, notes, and snippets.

@Elorucov
Created March 18, 2026 12:46
Show Gist options
  • Select an option

  • Save Elorucov/207664a8fdf8b4d192ba7b511cfd51d6 to your computer and use it in GitHub Desktop.

Select an option

Save Elorucov/207664a8fdf8b4d192ba7b511cfd51d6 to your computer and use it in GitHub Desktop.

Установка Arch Linux на Hyper-V с EFI, Btrfs, UKI и Budgie

Статья сгенерирована с помощью Claude.

Содержание

  1. Подготовка виртуальной машины
  2. Загрузка и базовая настройка
  3. Разметка дисков
  4. Форматирование и монтирование
  5. Установка базовой системы
  6. Настройка системы
  7. Создание Unified Kernel Image
  8. Настройка загрузчика
  9. Установка графического окружения
  10. Финальная настройка

Подготовка виртуальной машины

Создание ВМ в Hyper-V

  1. Откройте Hyper-V Manager

  2. Нажмите Action → New → Virtual Machine

  3. Укажите параметры:

    • Name: Arch Linux
    • Generation: Generation 2 (для UEFI)
    • Memory: минимум 2048 MB (рекомендуется 4096 MB)
    • Network: подключите к виртуальному коммутатору
    • Virtual Hard Disk: создайте новый диск (минимум 30 GB)
  4. После создания ВМ откройте её настройки:

    • Security → Secure Boot: отключите (Disable Secure Boot)
    • SCSI Controller: подключите ISO-образ Arch Linux к DVD Drive
    • Firmware → Boot order: переместите DVD Drive на первое место

Загрузка и базовая настройка

Загрузка с ISO

  1. Запустите виртуальную машину
  2. Выберите Arch Linux install medium в загрузочном меню
  3. Дождитесь появления приглашения командной строки

Настройка клавиатуры (опционально)

Если нужна русская раскладка:

loadkeys ru

Проверка режима загрузки

Убедитесь, что система загружена в режиме UEFI:

ls /sys/firmware/efi/efivars

Если команда показывает список файлов, то вы в режиме UEFI.

Настройка сети

Проверьте подключение к интернету:

ping -c 3 archlinux.org

Если нет подключения, используйте dhcpcd:

dhcpcd

Синхронизация времени

timedatectl set-ntp true

Разметка дисков

Определение диска

Посмотрите доступные диски:

lsblk

Обычно это /dev/sda.

Создание разделов

Используем gdisk для GPT разметки:

gdisk /dev/sda

Создайте следующие разделы:

  1. EFI раздел (512 MB):

    • Команда: n
    • Partition number: 1
    • First sector: (нажмите Enter)
    • Last sector: +512M
    • Hex code: ef00
  2. Root раздел (остальное место):

    • Команда: n
    • Partition number: 2
    • First sector: (нажмите Enter)
    • Last sector: (нажмите Enter - использовать всё оставшееся место)
    • Hex code: 8300
  3. Сохраните изменения:

    • Команда: w
    • Подтвердите: Y

Проверьте результат:

lsblk

Форматирование и монтирование

Форматирование разделов

EFI раздел:

mkfs.fat -F32 /dev/sda1

Root раздел с Btrfs:

mkfs.btrfs /dev/sda2

Создание подтомов Btrfs

Смонтируйте root раздел:

mount /dev/sda2 /mnt

Создайте подтома:

btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
btrfs subvolume create /mnt/@var
btrfs subvolume create /mnt/@snapshots

Размонтируйте:

umount /mnt

Монтирование подтомов

Монтируйте с оптимизированными опциями:

Root подтом:

mount -o noatime,compress=zstd,space_cache=v2,subvol=@ /dev/sda2 /mnt

Создайте директории для остальных монтирований:

mkdir -p /mnt/{boot,home,var,.snapshots}

Home подтом:

mount -o noatime,compress=zstd,space_cache=v2,subvol=@home /dev/sda2 /mnt/home

Var подтом:

mount -o noatime,compress=zstd,space_cache=v2,subvol=@var /dev/sda2 /mnt/var

Snapshots подтом:

mount -o noatime,compress=zstd,space_cache=v2,subvol=@snapshots /dev/sda2 /mnt/.snapshots

EFI раздел:

mount /dev/sda1 /mnt/boot

Проверьте структуру:

lsblk

Установка базовой системы

Установка базовых пакетов

pacstrap -K /mnt base linux linux-firmware base-devel btrfs-progs

Генерация fstab

genfstab -U /mnt >> /mnt/etc/fstab

Проверьте содержимое:

cat /mnt/etc/fstab

Настройка системы

Chroot в новую систему

arch-chroot /mnt

Установка дополнительных инструментов

pacman -S vim nano networkmanager sudo git

Настройка времени

Установите часовой пояс (для Баку):

ln -sf /usr/share/zoneinfo/Asia/Baku /etc/localtime
hwclock --systohc

Настройка локали

Откройте файл:

nano /etc/locale.gen

Раскомментируйте нужные локали:

en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

Генерируйте локали:

locale-gen

Создайте файл locale.conf:

echo "LANG=en_US.UTF-8" > /etc/locale.conf

Если меняли раскладку:

echo "KEYMAP=ru" > /etc/vconsole.conf

Настройка hostname

echo "archlinux" > /etc/hostname

Отредактируйте /etc/hosts:

nano /etc/hosts

Добавьте:

127.0.0.1   localhost
::1         localhost
127.0.1.1   archlinux.localdomain archlinux

Настройка пароля root

passwd

Создание пользователя

useradd -m -G wheel -s /bin/bash ваше_имя
passwd ваше_имя

Дайте права sudo:

EDITOR=nano visudo

Раскомментируйте строку:

%wheel ALL=(ALL:ALL) ALL

Создание Unified Kernel Image

Установка необходимых пакетов

pacman -S efibootmgr binutils

Определение UUID root раздела

blkid /dev/sda2

Скопируйте UUID (он понадобится дальше).

Создание preset для mkinitcpio

Откройте файл preset:

nano /etc/mkinitcpio.d/linux.preset

Измените содержимое на:

# mkinitcpio preset file for the 'linux' package

ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux"
ALL_microcode=(/boot/*-ucode.img)

PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux.img"
default_uki="/boot/EFI/Linux/arch-linux.efi"
default_options="--splash /usr/share/systemd/bootctl/splash-arch.bmp"

#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/initramfs-linux-fallback.img"
fallback_uki="/boot/EFI/Linux/arch-linux-fallback.efi"
fallback_options="-S autodetect"

Настройка mkinitcpio.conf

Откройте конфигурацию:

nano /etc/mkinitcpio.conf

Измените строку HOOKS (добавьте systemd):

HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)

Создание директории для UKI

mkdir -p /boot/EFI/Linux

Настройка параметров ядра

Создайте файл с параметрами:

nano /etc/kernel/cmdline

Добавьте (замените UUID на ваш):

root=UUID=ваш-uuid-раздела rootflags=subvol=@ rw quiet splash

Пример:

root=UUID=12345678-1234-1234-1234-123456789abc rootflags=subvol=@ rw quiet splash

Генерация UKI

mkinitcpio -P

Проверьте создание UKI:

ls -lh /boot/EFI/Linux/

Должны быть файлы arch-linux.efi и arch-linux-fallback.efi.


Настройка загрузчика

Создание записи в UEFI

efibootmgr --create --disk /dev/sda --part 1 --label "Arch Linux" --loader '\EFI\Linux\arch-linux.efi'

Для fallback образа:

efibootmgr --create --disk /dev/sda --part 1 --label "Arch Linux (Fallback)" --loader '\EFI\Linux\arch-linux-fallback.efi'

Проверка загрузочных записей

efibootmgr -v

Установка порядка загрузки

Узнайте номера записей из предыдущей команды и установите порядок:

efibootmgr -o 0001,0002

(Замените номера на ваши)


Установка графического окружения

Установка Xorg и драйверов

pacman -S xorg xorg-server

Для Hyper-V установите драйвер:

pacman -S xf86-video-fbdev hyperv

Включение служб Hyper-V

systemctl enable hv_fcopy_daemon.service
systemctl enable hv_kvp_daemon.service
systemctl enable hv_vss_daemon.service

Установка Budgie

pacman -S budgie-desktop gnome-control-center gnome-terminal nautilus

Установка LightDM и Slick Greeter

pacman -S lightdm lightdm-slick-greeter

Настройте LightDM для использования Slick Greeter:

nano /etc/lightdm/lightdm.conf

Найдите секцию [Seat:*] и измените/добавьте:

[Seat:*]
greeter-session=lightdm-slick-greeter

Настройте Slick Greeter (опционально):

nano /etc/lightdm/slick-greeter.conf

Добавьте:

[Greeter]
background=/usr/share/backgrounds/default.png
theme-name=Arc-Dark
icon-theme-name=Papirus-Dark
show-hostname=true

Включение NetworkManager и LightDM

systemctl enable NetworkManager
systemctl enable lightdm

Финальная настройка

Установка дополнительных пакетов (рекомендуется)

pacman -S firefox pulseaudio pavucontrol ttf-dejavu ttf-liberation noto-fonts

Выход и перезагрузка

Выйдите из chroot:

exit

Размонтируйте разделы:

umount -R /mnt

Перезагрузите систему:

reboot

Настройка Hyper-V после установки

После перезагрузки отключите ISO-образ:

  1. Выключите ВМ
  2. Откройте настройки ВМ
  3. SCSI Controller → DVD Drive: удалите ISO
  4. Запустите ВМ снова

Проверка системы

После загрузки войдите в систему через LightDM.

Проверьте файловую систему:

df -h
btrfs filesystem show

Проверьте подтома:

sudo btrfs subvolume list /

Проверьте UKI:

ls -lh /boot/EFI/Linux/
efibootmgr -v

Полезные советы

Создание снапшотов Btrfs

sudo btrfs subvolume snapshot / /.snapshots/snapshot-$(date +%Y%m%d-%H%M%S)

Обновление системы

sudo pacman -Syu

После обновления ядра UKI пересоздастся автоматически.

Установка AUR helper (yay)

cd /tmp
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Настройка Enhanced Session Mode (Hyper-V)

Для лучшей интеграции с Hyper-V:

yay -S xrdp xorgxrdp
sudo systemctl enable xrdp
sudo systemctl start xrdp

В настройках ВМ Hyper-V включите Enhanced Session Mode.


Устранение неполадок

Не загружается графический интерфейс

Проверьте статус LightDM:

sudo systemctl status lightdm

Просмотрите логи:

sudo journalctl -xeu lightdm

Проблемы с сетью

Проверьте NetworkManager:

sudo systemctl status NetworkManager
sudo nmcli device

Пересоздание UKI

Если что-то пошло не так:

sudo mkinitcpio -P

Проблемы с загрузкой

Загрузитесь с fallback образа через UEFI меню и проверьте конфигурацию.


Дополнительная настройка Budgie

Установка тем и иконок

sudo pacman -S arc-gtk-theme papirus-icon-theme

Установка апплетов

yay -S budgie-extras

Настройка внешнего вида

Откройте Budgie Desktop Settings и настройте:

  • Тему GTK
  • Тему иконок
  • Панели и апплеты

Заключение

Теперь у вас установлена полностью функциональная система Arch Linux на Hyper-V с:

  • ✅ EFI загрузкой
  • ✅ Unified Kernel Image
  • ✅ Файловой системой Btrfs с подтомами
  • ✅ LightDM с Slick Greeter
  • ✅ Окружением рабочего стола Budgie

Система готова к использованию! Не забывайте регулярно обновлять систему и создавать снапшоты перед важными изменениями.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment