вторник, 24 января 2017 г.

Установка Arch Linux рядом с Windows 10. UEFI. systemd-boot (без GRUB)

Установка Arch Linux рядом с Windows 10. UEFI.systemd-boot (без GRUB)

 Предлагаю посмотреть на базовую установку Arch Linux 64 рядом с Windows UEFI с использованием менеджера загрузки systemd-boot




Исходные данные

Комп ASUS K53BR x64 с UEFI
Графика AMD
Оператива 4 Gb
Винт 465,8 Gb с системой разделов GPT
Установлена Windows 10 64-бит
Сеть WIFI
Образ скачан отсюда https://www.archlinux.org/download/ и записан на USB-носитель в Windows 10 при помощи приложения Rufus



Требуется

Установка  базовой системы Arch Linux 64-bit рядом с Windows 10. UEFI. 
Использование менеджера загрузки systemd-boot. 

Запускаемся с USB в режиме EFI

Проверяем режим EFI

efivar -l

Должны вывестись список строк.





Подключаем интернет

wifi-menu

Выбираем сеть, вводим пароль.

Проверяем наличие интернет

ping ya.ru

Должны начать выводиться списки загружаемых пакетов

Прерываем и выходим из ping командой ctrl+c





Синхронизация системных часов

timedatectl set-ntp true

Посмотрим наши старые загрузочные записи (если есть)

efibootmgr




1. Видим, что загрузились через USB UEFI

2. Загрузчик Windows
3-5. Записи прочих загрузчиков. Если в свое время устанавливались другие дистрибутивы в раздел EFI, то таких записей может быть несколько. В любом случае визуально все можно понять.

Удаляем не нужные записи командой efibootmgr -b x -B,  где x - номер записи в списке по последней цифре. В моем случае это записи 3,4,5.

efibootmgr -b 0 -B
efibootmgr -b 2 -B
efibootmgr -b 5 -B




Просмотрим разделы Windows

Видим, что раздел EFI находится на /dev/sda2. Сюда будем подключать наш загрузчик.
/dev/sda3 и /dev/sda4 - это, соответственно, диски C и D на Windows.




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

cfdisk

На свободном месте добавляем разделы

Для root
new 20 type system linux  подтверждаем write
Для swap
new 4.8G  type linux swap  подтверждаем write

Раздел /dev/sda2 с EFI не трогаем, раздел под  /home я не создавал, так как пользоваться им практически не придется. Вся инфа лежит на windows разделе. Размер для root и swap, каждый выбирает на свое усмотрение.

Выходим из cfdisk через quit




Получaем разделы

root - sda5
boot - sda2
swap - sda6

Форматирование и подключение

#root
mkfs.ext4 /dev/sda5 -L "ARCH"
mount /dev/sda5 /mnt

#boot
mkdir -p /mnt/boot
mount /dev/sda2 /mnt/boot

#swap
mkswap /dev/sda6 
swapon /dev/sda6

Просматриваем и проверяем разделы и подключение

cfdisk





Выходим из cfdisk

Обновляем пакеты

pacman -Syy

При обновлении пакетов видна скорость скачивания с сервера. Если устраивает,то следующий пункт можно пропустить. 



Настройка сервера загрузки, как пример, для российского сервера.

nano /etc/pacman.d/mirrorlist

Вверху прописываем 


Записываем изменения командой ctrl+o 
Подтверждаем enter Выходим из редактора ctrl+x
P.S. Для выбора лучшего сервера по скорости и локализации можно воспользоваться ссылкой https://www.archlinux.org/mirrorlist/






Устанавливаем базовую систему и пакет для будущего использования AUR.

 pacstrap /mnt base linux linux-firmware base-devel

Генерируем fstab

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



Просмотрим созданный fstab

nano /mnt/etc/fstab




Переходим в систему

arch-chroot /mnt 

Устанавливаем редактор nano

pacman -S nano
Настроим локаль, время, имя компьютера

loadkeys ru
setfont cyr-sun16

nano /etc/locale.gen

Здесь раскомментирум строки
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

Записываем изменения командой ctrl+o 
Подтверждаем enter 
Выходим из редактора ctrl+x

locale-gen

nano /etc/locale.conf

Прописываем строку
LANG=ru_RU.UTF-8

Записываем изменения командой ctrl+o 
Подтверждаем enter 
Выходим из редактора ctrl+x

export LANG=ru_RU.UTF-8

nano /etc/vconsole.conf

Прописываем строки
KEYMAP=ru
FONT=cyr-sun16

Записываем изменения командой ctrl+o 
Подтверждаем enter 
Выходим из редактора ctrl+x

Настраиваем зону и системное время, как пример, для Россия Москва

ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

hwclock --systohc

Настраиваем имя компьютера

nano /etc/hostname

Прописываем
userhost - имя вашего компьютера

Записываем изменения командой ctrl+o 
Подтверждаем enter 
Выходим из редактора ctrl+x

nano /etc/hosts 

Прописываем строчку
127.0.1.1 userhost.localdomain userhost

Записываем изменения командой ctrl+o 
Подтверждаем enter 
Выходим из редактора ctrl+x




Устанавливаем пароль для root

passwd

Здесь же добавляю нового пользователя

useradd -G wheel -s /bin/bash -m username
где username - ваше имя пользователя

Открываем права для нового пользователя

nano /etc/sudoers

Раскомментируем строку %wheel ALL=(ALL) ALL

Записываем изменения командой ctrl+o 
Подтверждаем enter 
Выходим из редактора ctrl+x



Устанавливаем пароль для нового пользователя

passwd username

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

pacman -S  efibootmgr iw wpa_supplicant dialog netctl dhcpcd

Для работы с дисками

pacman -S ntfs-3g mtools fuse2

Запускаем менеджер загрузки

bootctl install

Будут созданы  необходимые директории и точка входа загрузчика



Настраиваем менеджер загрузки

nano /boot/loader/loader.conf

Закомментируем все строки, добавим свои

default arch                   
timeout 5
editor 1

Инфа из WIKI


Получаем


Создаем файлы конфигурации

Для пользователей процессоров Intel нужно установить дополнительный пакет 
pacman -S intel-ucode

nano /boot/loader/entries/arch.conf

title Arch Linux
linux /vmlinuz-linux
# initrd  /intel-ucode.img       # раскомментировать для пользователей Intel
initrd /initramfs-linux.img
options root=/dev/sda5 rw

Здесь sda5 - это наш примонтированный root раздел

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


efibootmgr

Установим выбранную последовательность загрузки 

efibootmgr -o 0,3,4,1  # в моем случае Arch будет первым




Выходим

exit

Отмонтируем диски

umount -R /mnt


Перегружаемся

reboot







Базовая система установлена. Остальное  устанавливаем на свой вкус и цвет.

...далее

Arch «будет тем, что вы из него сделаете»


Удачи!

13 комментариев:

  1. Дядька, не ну все олично расписал... Но даже я,сисадмин с диким стажем.... Подумаю прежде чем ставить.

    ОтветитьУдалить
  2. Выполнил все по описанию. Меню появляется но запускается только winsows.При запуске archlinux загрузка заканчивается на начальном этапе с сообщением:
    Error: device "not found. Skipping fsk:mouting" or real root
    mount:/new_root: no filesystem type specefied. You are now being dropped info an emegency shell.
    Sh: can`t access tty:job control turnet off.
    Где копать?

    ОтветитьУдалить
    Ответы
    1. В /boot/loader/entries/arch.conf неверно указан root раздел.

      Удалить
  3. шикарно: всё стало с первого раза и даже винда не легла. спасибо!!

    ОтветитьУдалить
  4. Премного благодарен автору! Первая попытка по другому гайду была неудачная, по этому найду все отлично заработало. Огромное спасибо!!!

    ОтветитьУдалить
  5. Здравствуйте, нету пункта ARCH LINUX в меню загрузки. Есть Windows Boot Windows и Reboot Into Firmware Interface.

    ОтветитьУдалить
    Ответы
    1. такая же проблема, у меня после установки

      Удалить
    2. Такая же фигня. Ума не приложу что не так, всё делал чётко. Возможно проблема из-за nvme диска, хз

      Удалить
  6. После команды bootctl install выдаёт ошибку : Failed to create "/boot/EFI/systemd": no sapce left on device. Что делать?

    ОтветитьУдалить
  7. Всё работает! Спасибо! Первый раз не получилось - не было пункта Arch Linux, т.к. не всё выполнял по инструкции. Переразбил разделы, всё по Вашим пунктам - всё получилось! Ещё раз спасибо!!

    ОтветитьУдалить
  8. Спасибо мужик, все чеко, по твоей инструкции поставил все гуд.

    ОтветитьУдалить
  9. Спасибо огромное, получилось далеко не с первого раза, торопился, но когда всё шаг за шагом сделал, всё заработало ещё переживал, что 100М на boot EFI не хватит, но всё сработало. Ещё раз спасибо большое.

    ОтветитьУдалить