То есть должна получится примерно такая разбивка:

/dev/sda1  512Mb  ESP  fat32
/dev/sda2  ??G     /   ext4
...
В корне на sda2 создается /boot/efi, туда устаналивается grub с параметром --efi-directory=/boot/efi. А esp раздел никуда монтировать на надо. Все правильно?
RusWolf
Поддержу вопрос, накой ляд делать отдельно раздел /boot в fat32???
Ляд, не ляд, а я старался делать так, как описано в официальном источнике (читай arch wiki). Как тогда по вашему правильно нужно разбить, отформатировать, примонтировать разделы и установить систему?
Но разве при наличии initramfs, создаваемой mkinitcpio, которая обновляется автоматически при обновлении ядра, не обеспечивает мне загрузку последних модулей по умолчанию вне зависимости от расположения загрузчика?
vasek
Не смотрел до исправления совпадение версий ядра в выводах uname -r и pacman -Q linux ?
Как то встречалось очень похожее на BBS и причина не загрузки модуля vfat была именно в этом, т. е. загружалась старая версия ядра.
Через пакман не догадался посмотреть, но через uname точно было последнее установленное ядро 4.12.12-1.
nafanja
а не как везде в /boot/efi (
В вики же в примерах монтируют в /boot. Кроме того, в статье о EFI написано:
For sake of simplicity, you can also use the ESP as the /boot partition itself instead of a separate /boot partition, for EFISTUB booting. In other words, after creating and formatting the EFI System Partition as instructed above, simply mount it at /boot.
Но если это и есть причина (хотя я не понимаю, как связаны модули ядра fat/vfat и папка для монтирования раздела с загрузчиком), тогда исправить дело нескольких минут.
Morisson
Heinardt, testing?
))))
Нет, обычная дефолтная установка. Подключены только мультилибы для работы steam.

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta    = 0.7
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
ILoveCandy
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

#[community-testing]
#Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
Morisson
Это через чрут, наверное, нужно будет делать,- у тебя ж система не запускается?)

Heinardt
Проблему я конечно устранил с live-usb, пересоздав раздел с новым ядром и подправив fstab

Система сейчас работает. Я просто выясняю на будущее, чтобы ситуация не повторилось. Вдруг не будет при себе live-usb. Из emergency не получится примонтировать же.
Morisson
Heinardt, а у тебя случаем не Manjaro?
Linux arch 4.12.12-1-ARCH #1 SMP PREEMPT Sun Sep 10 09:41:14 CEST 2017 x86_64 GNU/Linux
zotkindm
Два вопроса:
1. Зачем бут отдельный?
2. Кто надоумил делать его в fat32?
https://wiki.archlinux.org/index.php/Installation_guide

For example, an EFI System Partition must contain a FAT32 (mkfs.vfat) file system, and the file system containing the /boot directory must be supported by the boot loader.
Create mount points for any remaining partitions and mount them accordingly, for example:
# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot
Всем привет. Сегодня после обновления ядра столкнулся с ошибкой при загрузке - невозможно примонтировать раздел /boot, из-за того, что система не понимает формат vfat. Погуглил немного и большинство полученной информации говорит о том, что в новом ядре обновился модуль vfat(fat) и он не загрузился, т.к. загружались модули старого ядра. Я проверил в аварийном режиме, действительно модуля vfat или вообще какого-либо fat по lsmod не было. Но раз проблема возникла только у меня, значит я где то накосячил. Проблему я конечно устранил с live-usb, пересоздав раздел с новым ядром и подправив fstab, но если я не ошибаюсь, такого не должно происходить при правильной установке. Прошу помочь в определении изначальной причины.
/dev/sda1      2048 41945087 41943040   20G Linux root (x86)
/dev/sda2  41945088 83888127 41943040   20G Linux home
/dev/sda3  83888128 84936703  1048576  512M EFI System
/dev/sda4  84936704 93325311  8388608    4G Linux swap
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sda
├─sda1 ext4         88e83a97-67fd-44bd-af65-f030d37b84b0 /
├─sda2 ext4         3f34f909-d05c-49ed-a178-a811ac0e3b42 /home
├─sda3 vfat         7545-47B8                            /boot
└─sda4 swap         6fcbefbe-e4a9-4fb0-a772-d5777cc664ac [SWAP]
/boot
drwxr-xr-x 4 root root     4096 Sep 11 11:26 EFI
drwxr-xr-x 6 root root     4096 Sep 11 11:27 grub
-rwxr-xr-x 1 root root 24210689 Sep 11 11:26 initramfs-linux-fallback.img
-rwxr-xr-x 1 root root  6684310 Sep 11 11:26 initramfs-linux.img
-rwxr-xr-x 1 root root  5437712 Sep 10 10:42 vmlinuz-linux

#
# /etc/fstab: static file system information
#
# <file system>	<dir>	<type>	<options>	<dump>	<pass>
# /dev/sda1
UUID=88e83a97-67fd-44bd-af65-f030d37b84b0	/         	ext4      	rw,relatime,data=ordered	0 1

# /dev/sda2
UUID=3f34f909-d05c-49ed-a178-a811ac0e3b42	/home     	ext4      	rw,relatime,data=ordered	0 2

# /dev/sda3
UUID=7545-47B8      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro	0 2

# /dev/sda4
UUID=6fcbefbe-e4a9-4fb0-a772-d5777cc664ac	none      	swap      	defaults  	0 0