rescue:/ # ls -la /boot/syslinux
total 416
drwxr-xr-x 1 root root 146 Aug 18 08:10 .
drwxr-xr-x 1 root root 530 Aug 18 07:59 ..
-r--r--r-- 1 root root 122356 Aug 18 08:02 ldlinux.c32
-rw-r--r-- 1 root root 184780 Aug 18 08:06 libcom32.c32
-rw-r--r-- 1 root root 23964 Aug 18 08:06 libutil.c32
-rw-r--r-- 1 root root 25756 Aug 18 08:06 memdisk
-rw-r--r-- 1 root root 26480 Aug 18 08:06 menu.c32
-rw-r--r-- 1 root root 241 Aug 18 08:11 syslinux.cfg
-rw-r--r-- 1 root root 26964 Aug 18 08:09 vesamenu.c32
cat /boot/syslinux/syslinux.cfg:
rescue:/ # cat /boot/syslinux/syslinux.cfg
TIMEOUT 30
ONTIMEOUT gentoo
UI vesamenu.c32
MENU TITLE Boot
LABEL opensuse_test
MENU LABEL opensuse_test
LINUX /boot/vmlinuz
Попробовал ещё с boot флагом поиграть, получается вот так:
• Если boot flag стоит на /dev/sda1, то он пишет:
An operating system wasn't found. Try disconnecting any drives that don't contain an operating system.
Press Ctrl+Alt+Del to restart.
• Если boot flag стоит на /dev/sda2, то он пишет:
Failed to load ldlinux.c32
Boot failed: please change disks and press a key to continue
P.S: Да, стоит Windows 10, но сама система на SSD, а это HDD (на нем тоже NTFS). С HDD я отрезал место под openSUSE
Так, блин, чувак, у тебя syslinux.cfg невменяемый. Где у тебя там указан корневой раздел? Ты конфиг сам составлял? Он вообще-то автоматически создается и его просто нужно подправить.
Смотри, как он должен выглядеть:
# Config file for Syslinux -
# /boot/syslinux/syslinux.cfg
#
# Comboot modules:
# * menu.c32 - provides a text menu
# * vesamenu.c32 - provides a graphical menu
# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
# * hdt.c32 - hardware detection tool
# * reboot.c32 - reboots the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
# of copying them.
#
# If you do not use a menu, a 'boot:' prompt will be shown and the system
# will boot automatically after 5 seconds.
#
# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
# The wiki provides further configuration examples
DEFAULT artix
PROMPT 0 # Set to 1 if you always want to display the boot: prompt
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl
# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
UI menu.c32
#UI vesamenu.c32
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU TITLE Artix Linux
#MENU BACKGROUND splash.png
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
# boot sections follow
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*
LABEL artix
MENU LABEL Artix Linux
LINUX ../vmlinuz-linux
APPEND root=UUID=9df8ad8e-8f71-4815-abc8-8e9a589b66c6 rw
INITRD ../initramfs-linux.img
LABEL artix-56RT
MENU LABEL Artix-rt
LINUX ../vmlinuz56RT
APPEND root=UUID=9df8ad8e-8f71-4815-abc8-8e9a589b66c6 rw
INITRD ../linux56RT-initramfs.img
LABEL archfallback
MENU LABEL Artix Linux Fallback
LINUX ../vmlinuz-linux
APPEND root=UUID=9df8ad8e-8f71-4815-abc8-8e9a589b66c6 rw
INITRD ../initramfs-linux-fallback.img
#LABEL windows
# MENU LABEL Windows
# COM32 chain.c32
# APPEND hd0 1
LABEL hdt
MENU LABEL HDT (Hardware Detection Tool)
COM32 hdt.c32
LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32
LABEL poweroff
MENU LABEL Poweroff
COM32 poweroff.c32
Обрати внимание на LABEL artix или LABEL artix-56RT.
Так. Поскольку у тебя биос, связанные с efi файлы тебе ненужны. Для нормальной работы все-же надо указать корень и initramfs. Еще в DEFAULT должен быть прописан реально существующий LABEL.
Правильно. Но, насколько я понимаю, нужно выбрать что-то одно. Либо vesamenu, либо menu. И корневой раздел можно указывать по UUID, чтобы не было ошибок в дальнейшем.
root=UUID=UUID_твоего_раздела.
Узнать UUID можно командой blkid. Только ее надо выполнить из-под рута.
как по мне дело не в настройках, если бы не находило initramfs или само ядро, то по сути меню должно работать, разве нет? Тут до меню даже не доходит. Оно не находит OS.
А я тебе говорил, что нужно брать из /usr/lib/syslinux/bios. А ты начал рассказывать, что его у тебя нет. Еще раз. ls /usr/lib/syslinux/bios и ls /usr/lib64/sislinux/bios.
В конфиге нужно указывать полное имя образа ядра и интирамфс. Вики сислинукса пишет, что установщик сам разберется с файлами ldlinux.sys и ldlinux.c32. Но мне все же интересно, где в сузе аналог /usr/lib/syslinux. Похоже на какие-то сузепроблемы. Попробуй написать к ним в саппорт.
Вооот. А мы тут как дураки ldlinux.sys ищем. Арчвики пишет, что btrfs должен быть несжатый. Короче, проще забить на это. Или трахаться с переразметкой диска.
Да, действительно проблема была в btrfs. Сейчас ext4 и все нормально встало. Но в документации же указано, что с btrfs должно тоже работать. Ладно, больше спасибо.
Если в документации к сузе пишут такую дурь, то этой документацией можно чистить унитаз. А потом лоровские кукаретики орут про ненужность арча и генты, мол это все для красноглазых задротов без личной жизни. Тем временем, некрасногазые незадроты с личной жизнью из сузи не могут внятно описать процесс установки загрузчика в своем дистрибутиве «для серьезных людей». Зато арч ненужен. Это не попытка троллинга, просто не бойся пользоваться документацией других дистрибутивов.
Вижу, что проблема решена, но несмотря на это, хочу поделиться своим опытом. Подобная проблема (failed to load ldlinux.c32) возникает, если для загрузки используется раздел объёмом менее 32 Мб, отформатированный в файловую систему FAT32 (возможно актуально для других ФС).
Решение: использовать для маленьких разделов ФС FAT16, или увеличить размер раздела.
Данный нюанс не описан в руководствах, поэтому мой комментарий может быть полезен.