Рейтинг:2

Как добавить опцию загрузки с USB в grub.cfg в Ubuntu 20.04?

флаг in

Я подтвердил, что на USB-накопителе есть правильный загрузочный ISO-образ Ubuntu с помощью команды file.
USB подключен к ноутбуку.
Меню grub отображается само по себе при запуске.

Проблема в том, что нет возможности загрузиться с USB.

Теперь я хочу отредактировать grub.cfg таким образом, чтобы он содержал параметры загрузки USB.
Что мне делать отсюда?

Кроме того, /boot/grub/grub.cfg:

#
# НЕ РЕДАКТИРОВАТЬ ЭТОТ ФАЙЛ
#
# автоматически генерируется grub-mkconfig с использованием шаблонов
# из /etc/grub.d и настроек из /etc/default/grub
#

### НАЧАЛО /etc/grub.d/00_header ###
если [ -s $prefix/grubenv ]; тогда
  установить have_grubenv=true
  load_env
фи
если [ "${initrdfail}" = 2 ]; тогда
   установить initrdfail=
Элиф ["${initrdfail}" = 1 ]; тогда
   установить next_entry="${prev_entry}"
   установить пред_запись =
   save_env предыдущая запись
   если [ "${next_entry}" ]; тогда
      установить initrdfail=2
   фи
фи
если [ "${next_entry}" ] ; тогда
   установить по умолчанию = "$ {next_entry}"
   установить следующую_запись =
   save_env следующая_запись
   установить boot_once = истина
еще
   установить по умолчанию = "0"
фи

если [x"${feature_menuentry_id}" = xy]; тогда
  menuentry_id_option="--id"
еще
  menuentry_id_option=""
фи

экспортировать menuentry_id_option

если [ "${prev_saved_entry}" ]; тогда
  установить save_entry="${prev_saved_entry}"
  save_env сохраненная_запись
  установить prev_saved_entry =
  save_env prev_saved_entry
  установить boot_once = истина
фи

функция сохранения по умолчанию {
  если [-z "${boot_once}"]; тогда
    save_entry="${выбрано}"
    save_env сохраненная_запись
  фи
}
функция initrdfail {
    если [-n "${have_grubenv}"]; тогда если [ -n "${partuuid}" ]; тогда
      если [-z "${initrdfail}" ]; тогда
        установить initrdfail=1
        если [-n "${boot_once}" ]; тогда
          установить prev_entry="${по умолчанию}"
          save_env предыдущая запись
        фи
      фи
      save_env initrdfail
    фи; фи
}
функция записисбой {
  установить сбой записи = 1
  если [-n "${have_grubenv}"]; тогда если [-z "${boot_once}" ]; затем save_env RecordFail; фи; фи
}
функция load_video {
  если [x$feature_all_video_module = xy]; тогда
    insmod all_video
  еще
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    инсмод vbe
    инсмод вга
    insmod video_bochs
    insmod video_cirrus
  фи
}

если [x$feature_default_font_path = xy]; тогда
   шрифт = юникод
еще
insmod part_gpt
insmod ext2
установить корень = 'hd0, gpt2'
если [x$feature_platform_search_hint = xy]; тогда
  поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 e860e8f0-912f-4874-8f0f -97e343371f12
еще
  поиск --no-floppy --fs-uuid --set=root e860e8f0-912f-4874-8f0f-97e343371f12
фи
    шрифт = "/usr/share/grub/unicode.pf2"
фи

если загрузить шрифт $font ; тогда
  установить gfxmode=авто
  load_video
  insmod gfxterm
  установить locale_dir=$prefix/locale
  установить язык = en_IN
  инсмод gettext
фи
terminal_output gfxterm
если [ "${recordfail}" = 1 ] ; тогда
  установить время ожидания = 30
еще
  если [x$feature_timeout_style = xy]; тогда
    установить timeout_style = меню
    установить время ожидания = 5
  # Резервный нормальный код тайм-аута в случае, если функция timeout_style отключена.
  # недоступен.
  еще
    установить время ожидания = 5
  фи
фи
### КОНЕЦ /etc/grub.d/00_header ###

### НАЧАЛО /etc/grub.d/05_debian_theme ###
установить menu_color_normal=белый/черный
установить menu_color_highlight=черный/светло-серый
### КОНЕЦ /etc/grub.d/05_debian_theme ###

### НАЧАЛО /etc/grub.d/10_linux ###
функция gfxmode {
    установить gfxpayload="${1}"
    если [ "${1}" = "сохранить" ]; тогда
        установить vt_handoff=vt.handoff=7
    еще
        установить vt_handoff=
    фи
}
если [ "${recordfail}" != 1 ]; тогда
  если [-e ${префикс}/gfxblacklist.txt]; тогда
    если hwmatch ${prefix}/gfxblacklist.txt 3; тогда
      если [ ${match} = 0 ]; тогда
        установить linux_gfx_mode = сохранить
      еще
        установить linux_gfx_mode = текст
      фи
    еще
      установить linux_gfx_mode = текст
    фи
  еще
    установить linux_gfx_mode = сохранить
  фи
еще
  установить linux_gfx_mode = текст
фи
экспортировать linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-e860e8f0-912f-4874-8f0f-97e343371f12' {
    сбой записи
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
    insmod part_gpt
    insmod ext2
    установить корень = 'hd0, gpt2'
    если [x$feature_platform_search_hint = xy]; тогда
      поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 e860e8f0-912f-4874-8f0f -97e343371f12
    еще
      поиск --no-floppy --fs-uuid --set=root e860e8f0-912f-4874-8f0f-97e343371f12
    фи
    linux /boot/vmlinuz-5.13.0-27-generic root=UUID=e860e8f0-912f-4874-8f0f-97e343371f12 ro тихий всплеск $vt_handoff
    initrd /boot/initrd.img-5.13.0-27-общий
}
подменю «Дополнительные параметры для Ubuntu» $menuentry_id_option «gnulinux-advanced-e860e8f0-912f-4874-8f0f-97e343371f12» {
    menuentry 'Ubuntu с Linux 5.13.0-27-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.0-27-generic-advanced-e860e8f0-912f -4874-8f0f-97e343371f12 '{
        сбой записи
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt2'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 e860e8f0-912f-4874-8f0f -97e343371f12
        еще
          поиск --no-floppy --fs-uuid --set=root e860e8f0-912f-4874-8f0f-97e343371f12
        фи
        echo 'Загружается Linux 5.13.0-27-generic...'
        linux /boot/vmlinuz-5.13.0-27-generic root=UUID=e860e8f0-912f-4874-8f0f-97e343371f12 ro тихий всплеск $vt_handoff
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.13.0-27-общий
    }
    menuentry 'Ubuntu, с Linux 5.13.0-27-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.0-27-generic-recovery -e860e8f0-912f-4874-8f0f-97e343371f12 '{
        сбой записи
        load_video
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt2'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 e860e8f0-912f-4874-8f0f -97e343371f12
        еще
          поиск --no-floppy --fs-uuid --set=root e860e8f0-912f-4874-8f0f-97e343371f12
        фи
        echo 'Загружается Linux 5.13.0-27-generic...'
        linux /boot/vmlinuz-5.13.0-27-generic root=UUID=e860e8f0-912f-4874-8f0f-97e343371f12 ro recovery nomodeset dis_ucode_ldr 
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.13.0-27-общий
    }
    menuentry 'Ubuntu с Linux 5.11.0-37-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-37-generic-advanced-e860e8f0-912f -4874-8f0f-97e343371f12 '{
        сбой записи
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt2'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 e860e8f0-912f-4874-8f0f -97e343371f12
        еще
          поиск --no-floppy --fs-uuid --set=root e860e8f0-912f-4874-8f0f-97e343371f12
        фи
        echo 'Загружается Linux 5.11.0-37-generic...'
        linux /boot/vmlinuz-5.11.0-37-generic root=UUID=e860e8f0-912f-4874-8f0f-97e343371f12 ro тихий всплеск $vt_handoff
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.11.0-37-общий
    }
    menuentry 'Ubuntu, с Linux 5.11.0-37-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-37-generic-recovery -e860e8f0-912f-4874-8f0f-97e343371f12 '{
        сбой записи
        load_video
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt2'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 e860e8f0-912f-4874-8f0f -97e343371f12
        еще
          поиск --no-floppy --fs-uuid --set=root e860e8f0-912f-4874-8f0f-97e343371f12
        фи
        echo 'Загружается Linux 5.11.0-37-generic...'
        linux /boot/vmlinuz-5.11.0-37-generic root=UUID=e860e8f0-912f-4874-8f0f-97e343371f12 ro recovery nomodeset dis_ucode_ldr 
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.11.0-37-общий
    }
    menuentry 'Ubuntu с Linux 5.8.0-43-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-43-generic-advanced-e860e8f0-912f -4874-8f0f-97e343371f12 '{
        сбой записи
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt2'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 e860e8f0-912f-4874-8f0f -97e343371f12
        еще
          поиск --no-floppy --fs-uuid --set=root e860e8f0-912f-4874-8f0f-97e343371f12
        фи
        echo 'Загружается Linux 5.8.0-43-generic...'
        linux /boot/vmlinuz-5.8.0-43-generic root=UUID=e860e8f0-912f-4874-8f0f-97e343371f12 ro тихий всплеск $vt_handoff
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.8.0-43-общий
    }
    menuentry 'Ubuntu, с Linux 5.8.0-43-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-43-generic-recovery -e860e8f0-912f-4874-8f0f-97e343371f12 '{
        сбой записи
        load_video
        insmod gzio
        если [x$grub_platform = xxen]; затем insmod xzio; инсмод изопио; фи
        insmod part_gpt
        insmod ext2
        установить корень = 'hd0, gpt2'
        если [x$feature_platform_search_hint = xy]; тогда
          поиск --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 e860e8f0-912f-4874-8f0f -97e343371f12
        еще
          поиск --no-floppy --fs-uuid --set=root e860e8f0-912f-4874-8f0f-97e343371f12
        фи
        echo 'Загружается Linux 5.8.0-43-generic...'
        linux /boot/vmlinuz-5.8.0-43-generic root=UUID=e860e8f0-912f-4874-8f0f-97e343371f12 ro recovery nomodeset dis_ucode_ldr 
        echo 'Загружается начальный виртуальный диск...'
        initrd /boot/initrd.img-5.8.0-43-общий
    }
}

### КОНЕЦ /etc/grub.d/10_linux ###

### НАЧАЛО /etc/grub.d/10_linux_zfs ###
### КОНЕЦ /etc/grub.d/10_linux_zfs ###

### НАЧАЛО /etc/grub.d/20_linux_xen ###

### КОНЕЦ /etc/grub.d/20_linux_xen ###

### НАЧАЛО /etc/grub.d/20_memtest86+ ###
### КОНЕЦ /etc/grub.d/20_memtest86+ ###

### НАЧАЛО /etc/grub.d/30_os-prober ###
### КОНЕЦ /etc/grub.d/30_os-prober ###

### НАЧАЛО /etc/grub.d/30_uefi-firmware ###
menuentry 'Настройки прошивки UEFI' $menuentry_id_option 'uefi-firmware' {
    fwsetup
}
### КОНЕЦ /etc/grub.d/30_uefi-firmware ###

### НАЧАЛО /etc/grub.d/40_custom ###
# Этот файл обеспечивает простой способ добавления пользовательских пунктов меню. Просто введите
# пунктов меню, которые вы хотите добавить после этого комментария. Будьте осторожны, чтобы не изменить
# строка 'exec tail' выше.
### КОНЕЦ /etc/grub.d/40_custom ###

### НАЧАЛО /etc/grub.d/41_custom ###
если [ -f ${config_directory}/custom.cfg ]; тогда
  источник ${config_directory}/custom.cfg
elif [-z "${config_directory}" -a -f $prefix/custom.cfg]; тогда
  источник $prefix/custom.cfg;
фи
### КОНЕЦ /etc/grub.d/41_custom ###

введите описание изображения здесь

введите описание изображения здесь

kanehekili avatar
флаг zw
**Не ** используйте настройщик Grub, чтобы что-либо изменить — я могу заблокировать ваш загрузчик... Проверьте, не закомментировано ли GRUB_DISABLE_OS_PROBER=false в `etc/default/grub`
oldfred avatar
флаг cn
Не уверен, что grub может правильно загрузить установщик. Обычно вы загружаетесь из загрузочного меню UEFI/BIOS. Проблемы чаще всего связаны с неправильным флэш-накопителем, USB-портом, самим флэш-накопителем, непроверенной загрузкой ISO или инструментом, используемым для создания загрузочного флэш-накопителя. В некоторых системах также требуется настройка UEFI для обеспечения полной поддержки USB или загрузки с USB, особенно если включена безопасная загрузка UEFI. https://help.ubuntu.com/community/Installation/iso2usb
Aquarius_Girl avatar
флаг in
@kanehekili ну, этой опции `GRUB_DISABLE_OS_PROBER` вообще нет.
abu-ahmed al-khatiri avatar
флаг in
@Aquarius_Girl Файл grub.cfg выглядит нормально. какой iso и flash tool используете? . предоставьте нам вывод `cat /boot/grub/grubenv`.
Joepie Es avatar
флаг eg
Почему бы вам просто не загрузиться напрямую с USB? Я могу изменить его в UEFI или нажать F11 на своем ноутбуке HP ENVY. Тогда не нужно ничего менять. Разве это не намного проще?
Aquarius_Girl avatar
флаг in
@JoepieEs Я хочу загрузиться напрямую с USB, но не знаю, как это сделать. Пожалуйста, напишите ответ.
Joepie Es avatar
флаг eg
Пожалуйста, укажите ваше оборудование. Марка и модель материнской платы или марка и модель ноутбука. Потом буду искать.
Рейтинг:1
флаг mx

Когда вы входите в черный экран GRUB, нажмите C или клавишу выхода (ESC), чтобы получить доступ к командной строке, затем введите следующие команды (что должно сделать так, чтобы вы могли загрузиться):

grub> root (hd0,0) # первый жесткий диск, первый раздел
grub> find /[tab] # введите косую черту, затем нажмите [tab], и он попытается просмотреть список файлов в этом разделе
Ошибка 17: Не удается смонтировать выбранный раздел # К сожалению, здесь нет файловой системы
grub> root (hd0,1) # первый жесткий диск, второй раздел
grub> найти /[вкладка]
Возможные файлы: потерянные+найденные var и т.д. медиа ... # Это был мой жесткий диск с моей установкой Linux
grub> root (hd1,0) # вторым жестким диском обычно является USB-накопитель, если у вас есть только один внутренний диск
grub> найти /[вкладка]
Возможные файлы: ldlinux.sys mydoc myfile mystick syslinux.cfg # Бинго, это флешка

Теперь загрузите диск, введя следующие команды:

цепной погрузчик +1
ботинок

Для удобства добавьте эти команды в конфигурацию GRUB (обычно в /загрузка/жратва/menu.lst):

# для загрузки с USB-устройства
title Загрузочный USB-накопитель
корень (hd1,0)
цепной погрузчик +1
ботинок

Источник: https://help.ubuntu.com/community/BootFromUSB#:~:text=The%20easisest%20way%20to%20boot,key%20to%20enter%20command%20mode.

Рейтинг:0
флаг ng

В двух словах: это работа BIOS, а не GRUB.

Обычно у компьютеров есть способ перейти на страницу настройки BIOS (или UEFI), например, ThinkVantage на ThinkPad. На странице настройки BIOS будут настройки изменения порядка загрузки. Поместите жесткий диск USB сверху, затем перезагрузите компьютер.

Используйте ответ выше, если отсутствует страница настройки BIOS (редко, но не ноль), или ваш компьютер не может обнаружить загрузочные USB-диски. Никогда не изменяйте файл конфигурации GRUB для этого.

Если вы можете предоставить фактическую модель вашего компьютера, я могу рассказать вам о реальных шагах. В противном случае вы также можете проверить руководства о том, как изменить порядок загрузки.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.