[Решено] Ошибка при монтировании /boot раздела после обновления ядра + кривое uefi

Всем привет. Сегодня после обновления ядра столкнулся с ошибкой при загрузке - невозможно примонтировать раздел /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
Два вопроса:
1. Зачем бут отдельный?
2. Кто надоумил делать его в fat32?
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
zotkindm, затем, что UEFI и ему нужен только fat32)

Heinardt, а у тебя случаем не Manjaro?
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
Попробуй так:
sudo nano /etc/mkinitcpio.conf

Добавь в MODULES:
ahci sd_mod
Потом
sudo mkinitcpio -p linux
Аккуратней, смотри выхлоп на предмет ошибок.
Это через чрут, наверное, нужно будет делать,- у тебя ж система не запускается?)
Morisson
Это через чрут, наверное, нужно будет делать,- у тебя ж система не запускается?)

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

Система сейчас работает. Я просто выясняю на будущее, чтобы ситуация не повторилось. Вдруг не будет при себе live-usb. Из emergency не получится примонтировать же.
Heinardt, testing?
))))
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
какая то пагубная тенденция пошла монтировать UEFI раздел просто в /boot, а не как везде в /boot/efi (((
замечена у новичков...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.