LINUX.ORG.RU

Не могу загрузиться с флэшки

 , , ,


0

2

Я решил собрать маленькую систему Linux на флешке, где есть только стандартные утилиты, чтобы можно было управлять дисками. Для сборки я воспользоваться этой статьёй. После того, как я закончил со сборкой системы, я отформатировал флешку под fat32, создал раздел с флагом boot и закинул туда файлы (если что, не тупо скопировал). Загружаюсь с виртуальной машины:

sudo qemu-system-x86_64 -hdb /dev/sdb1 -m 1024

И мне пишет:

Booting from Hard Disk

this is not bootable disk please insert a bootable floppy and press any key to try again

Если загружаться без виртуальной машины (как обычно, при установке системы) вылазиет тоже самое. Что я сделал не так?

ls /mnt после монтирования /dev/sdb1:

boot
syslinux.cfg
ldlinux.sys
ldlinux.c32

ls boot

kernel
initrd

ls kernel

main.lk

ls initrd

main.gz

cat syslinux.cfg

default mm
label mm
kernel /boot/kernel/main.lk
append initrd=/boot/initrd/main.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label mc
kernel /boot/kernel/main.lk
append initrd=/boot/initrd/custom.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label cm
kernel /boot/kernel/custom.lk
append initrd=/boot/initrd/main.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label cc
kernel /boot/kernel/custom.lk
append initrd=/boot/initrd/custom.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label hd
localboot 0x80


Последнее исправление: tiopl09 (всего исправлений: 1)

Ты передаёшь раздел, на всё блочное устройство. Загрузчик пишется в MBR, то есть до начала sdb1.

-hdb /dev/sdb1

Тут в качестве устройства что писал?

syslinux -d путь_к_устройству

Если sdb1, то в MBR загрузочного кода нет.

Radjah ★★★★★
()
Ответ на: комментарий от tiopl09

Тогда через тот же fdisk проверь, что первый раздел флешки активный/загрузочный. BIOS и UEFI в CSM читают и загружают MBR с диска, а PBR запускается только с активного раздела.

Radjah ★★★★★
()
Последнее исправление: Radjah (всего исправлений: 1)
Ответ на: комментарий от Radjah

Во-первых я переустановил syslinux (не сам пакет) и нормально всё грузится (но не на виртуалке, пишет boot error). Сформировалась другая ошибка: No filesystem could mount root tried: VFS Unable to mount root fs on unknown-block 0.0 Связано ли это с ядром?

Во-вторых я через fdisk делал boot раздел

tiopl09
() автор топика
Последнее исправление: tiopl09 (всего исправлений: 2)
Ответ на: комментарий от tiopl09

Ты виртуалке всё блочное устройство передаёшь (sdb) или только раздел (sdb1)? Во втором случае возникает ошибка разбора MBR, которой просто не может быть на разделе.

Radjah ★★★★★
()
Ответ на: комментарий от tiopl09

Значит я добавил в конфиг ядра:

CONFIG_EXT4_FS=y

Теперь нарисовалась другая проблема: говорит: «Невозможно смонтировать… ram0. Поставьте правильное «root=». Список свободных разделов:» И там пустое место.

tiopl09
() автор топика
Ответ на: комментарий от krasnh

Да. Бог с этой виртуальной машиной!

Теперь нарисовалась другая проблема: говорит: «Невозможно смонтировать… ram0. Поставьте правильное «root=». Список свободных разделов:» И там пустое место.

Вот!

tiopl09
() автор топика
Ответ на: комментарий от tiopl09

Может вся проблема, что флешка создавалась по статье от 2011 года.
Думаю, найдутся более свежие инструкции от 2022 года и наверно уже с grub.

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 1)