Я пытаюсь загрузить ядро Linux версии 3.2.0 с USB-накопителя.

Я отформатировал флешку с разделом ext4. Я установил на него GRUB и скопировал два файла: vmlinuz-3.2.0-29-generic и initrd.img-3.2.0-29-generic из папки /boot моего ноутбука в загрузочную папку USB-накопителя.

Затем я подключил USB-накопитель к /mnt и запустил grub-mkconfig -o /mnt/boot/grub/grub.cfg, чтобы создать в нем файл grub.cfg.

Затем я попытался добавить данные своего ядра в файл grub.cfg следующим образом:

menuentry "my kernel" --class gnu-linux --class gnu --class os
recordfail
    insmod gzio
    insmod part_msdos
    insmod ext4
set root='(hd0)'
echo "Loading my kernel"
linux    /boot/vmlinuz-3.2.0-29-generic root=UUID=db2687dc-8c42-485e-a152-ef821590b113 ro  quiet splash
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-29-generic

Тем не менее, список GRUB не показывает мое ядро, а просто перечисляет те же списки ОС, когда я загружаю GRUB с жесткого диска моего ноутбука. Ядро действительно на (hd0)? Как добавить запись ядра в меню GRUB USB-накопителя? Кроме того, правильно ли загружать ядро с USB-накопителя? Действителен ли файл initrd.img, который находится в моем каталоге /boot, когда я скопировал ядро на USB-накопитель? Если нет, как сгенерировать новый файл initrd.imf для ядра на USB?

1 ответ1

0

У меня когда-то была проблема с этим.

Это произошло потому, что загрузка с моего жесткого диска и добавление USB позже, а не загрузка с USB in, означали, что устройства были перечислены по-разному.

Исправлено, вручную назначая порядок загрузки устройства в BIOS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .