[РЕШЕНО]error: file vmlinuz not found

Доброго времени суток. Есть 2- а ssd. На ssd1: arch grub + ext4, на ssd2: arch systemd-boot + btrfs. Хочу отключить systemd-boot и сделать дуалбут через grub.
Для этого на ssd2:
1. копирую ядро и инит с /boot в другой каталог (esp примонтирован в /boot)
2. размонтирую /boot
3. редактирую fstab, закоментировав строку с /boot
4. перемещаю ядро и инит в /boot
В результате при попытке загрузки получаю ошибку: error: file '/root/boot/vmlinuz...' not found error: you need to load the kernel first

Содержимое grub.cfg Нужный пункт меню номер 2.
  1 # по-умолчанию выбран пункт меню 0
  2 set default=0
  3
  4 # разрешение экрана
  5 set gfxmode=console
  6
  7 # управляет видеорежимом, в котором загружается ядро Linux
  8 set gfxplayload=text
  9
 10 # загрузить модули поддержки графического режима для uefi
 11 insmod efi_gop
 12 insmod efi_uga
 13
 14 # при бездействии пользователя загрузка через n секунд
 15 set timeout=3
 16
 17 # пункт меню номер 0
 18 menuentry "ArchLinux" {
 19  linux /boot/vmlinuz-linux-lts root=UUID=df8c5030-729c-47ee-b2e3-5db8c49be422 rw audit=0 mitigations=off #nvidia-drm.modeset=1
 20  initrd /boot/initramfs-linux-lts.img
 21 }
 22
 23 # пункт меню номер 1
 24 menuentry "ArchLinuxFallback" {
 25  linux /boot/vmlinuz-linux-lts root=UUID=df8c5030-729c-47ee-b2e3-5db8c49be422 rw audit=0
 26  initrd /boot/initramfs-linux-lts-fallback.img
 27 }
 28
 29 # пункт меню номер 2
 30 menuentry "ArchLinux_btrfs" {
 31  linux /root/boot/vmlinuz-linux-lts root=UUID=82a15126-db71-4d16-8137-3d760d33d8ae rw rootflags=subvol=root audit=0 mitigations=off #nvidia-drm.modeset=1
 32  initrd /root/boot/initramfs-linux-lts.img
 33 }
 34
 35 # пункт меню номер 3
 36 menuentry "ArchLinux_btrfsFallback" {
 37  linux /boot/vmlinuz-linux-lts root=UUID=82a15126-db71-4d16-8137-3d760d33d8ae rw rootflags=subvol=root audit=0
 38  initrd /boot/initramfs-linux-lts-fallback.img
 39 }                        

Содержимое fstab с ssd2
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2 LABEL=root
UUID=82a15126-db71-4d16-8137-3d760d33d8ae	/         	btrfs     	rw,noatime,compress=zstd:2,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/root	0 0

# /dev/sda1
#UUID=68F9-2CA1      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2
# /dev/sda3
UUID=0680686c-59ed-434a-aad3-a6eca6a5a0d8	none      	swap      	defaults  	0 0

# /dev/sdc1
UUID=7332c09d-cfec-4256-8f8c-df7dd9391eb1   /home/acid/kvm_vm/  ext4    rw,noatime,discard 0 0

Подскажите что я делаю не так. Спасибо.
«Load universe into cannon. Aim at brain. Fire.» ©
acid_raccoon
и сделать дуалбут через grub
… что я делаю не так
В таких случаях трудно сказать, что делаешь не так - самому всегда виднее и рекомендую в таких случаях загрузится в консоль grub и посмотреть где что находится и попробовать загрузиться в ручную (прямо из консоли grub) - это часто помогает понять где ошибка - как это делать, описано в нескольких топиках, поищи.

PS - можно еще посмотреть лог grub при загрузке - что он делает, где что ищет (как это делать, тоже описано)
Ошибки не исчезают с опытом - они просто умнеют
initramfs должен лежать на разделе c fat32, а у вас он на brtfs. (а лучше и ядро туда положить, так вам будет проще)
/root/boot/
ну и это каталог пользователя, я бы очень сильно не рекомендовал пытаться вообще где-нибудь его использовать.
Ошибки в тексте-неповторимый стиль автора©
acid_raccoon
В результате при попытке загрузки получаю ошибку: error: file '/root/boot/vmlinuz…' not found error: you need to load the kernel first
acid_raccoon
root=UUID=df8c5030-729c-47ee-b2e3-5db8c49be422
Не чего, что UUID не совпадает немного с:
acid_raccoon
UUID=82a15126-db71-4d16-8137-3d760d33d8ae / btrfs rw,noatime,compress=zstd:2,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/root 0 0
?

indeviral
initramfs должен лежать на разделе c fat32, а у вас он на brtfs.
Кому должен?
grub всё прекрасно грузит с btrfs.
Не понятно зачем вообще что то переносить?
Почему просто в грубе не прописать загрузку с обоих дисков он же уже давно brtfs поддерживает?
RusWolf
Кому должен?
мне! Ну и на некоторых устройствах тогда его можно вообще без загрузчика запустить, прикольно ведь!
Ошибки в тексте-неповторимый стиль автора©
RusWolf
Не чего, что UUID не совпадает немного с:

# /dev/sda2 LABEL=root
UUID=82a15126-db71-4d16-8137-3d760d33d8ae / btrfs rw,noatime,compress=zstd:2,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/root 0 0

# пункт меню номер 2
30 menuentry "ArchLinux_btrfs" {
31 linux /root/boot/vmlinuz-linux-lts root=UUID=82a15126-db71-4d16-8137-3d760d33d8ae

разве?

vasek
рекомендую в таких случаях загрузится в консоль grub

спасибо за наводку, попробую
«Load universe into cannon. Aim at brain. Fire.» ©
acid_raccoon обьясните смысл переноса ядра
acid_raccoon
копирую ядро и инит с /boot в другой каталог (esp примонтирован в /boot)
так при чём тут /root/boot просто /boot оставьте.
Ошибки в тексте-неповторимый стиль автора©
indeviral
initramfs должен лежать на разделе c fat32, а у вас он на brtfs. (а лучше и ядро туда положить, так вам будет проще)
У меня по этому поводу сомнения. Когда grub будет искать ядро в /boot, который является точкой монтирования для esp, и в нем на самом деле ничего нет, он будет искать на esp разделе или в пустом /boot? Поэтому я и скопировал ядро с раздела esp в / и убрал esp из fstab.
indeviral
/root/boot/

ну и это каталог пользователя, я бы очень сильно не рекомендовал пытаться вообще где-нибудь его использовать.

/root/boot/ - root в данном случае имя субволуме btrfs, без привычной @root может ввести в заблуждение.
«Load universe into cannon. Aim at brain. Fire.» ©
 
Зарегистрироваться или войдите чтобы оставить сообщение.