Как я создаю Мультиначальную загрузку USB, который совместим и с BIOS и с UEFI?

Прямо сейчас я создал диск с помощью программы Yumi UEFI для создания мультиначальной загрузки USB для UEFI, но с последнего, мне нужен BIOS один также. Существует ли способ объединить те два в один диск? В основном поддерживая UEFI И BIOS? Или мне будут нужны два других USB?Спасибо!

1
задан 30 March 2020 в 01:09

2 ответа

Карта с интерфейсом USB MultiBoot с нуля

(Модификация того, Как я загружаю файл ISO от своего диска с помощью grub2 на машинах UEFI?)

GParted Partitions

GParted

  • Создайте gpt таблицу разделов на карте с интерфейсом USB.

  • Создайте разделы как показано выше, выберите восстановленный после форматирования для раздела 2.

  • Создайте casper-rw файл:

    sudo dd if=/dev/zero of=casper-rw bs=1M count=512

    sudo mkfs.ext3 -L casper-rw -F casper-rw

(где count=512 размер персистентности в мегабайтах, с макс. из 4 ГБ).

Persistence partition

Раздел персистентности

  • Создайте исключительно папка имени для каждой ОС, (который требует персистентности), на разделе USB-PRST.

  • Добавьте casper-rw файл, (и дополнительный домашний-rw файл), к каждой папке персистентности. Домашний-rw файл может быть сделан путем переименования casper-rw файла. Домашний-rw файл похож на отдельный домашний раздел на Полной установке, он может быть снова использован после обновлений версии.

Data Partition

Раздел данных

  • Создайте папку для файлов ISO на разделе ДАННЫХ USB NTFS.

  • Добавьте некоторый ISO к isos папке.

Boot Folder

Раздел начальной загрузки

  • Откройте последние пред19.10 файлов ISO и скопируйте начальную загрузку и папки EFI к РАЗДЕЛУ НАЧАЛЬНОЙ ЗАГРУЗКИ USB. (Обратите внимание, что Ubuntu 19.10 и более позднее использование копаются 2.04, который предотвращает начальную загрузку файлов ISO).

  • Личинка установки

    sudo монтируют/dev/sdx3/mnt

    установка личинки sudo - каталог начальной загрузки/dev/sdx =/mnt/boot

Отредактируйте grub.cfg к loopmount файлы ISO. Включайте: persistent persistent-path=/<persistent-folder-name>/ если Вы хотите несколько персистентность.

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
    insmod gfxterm
    terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

set timeout=5

menuentry "ubuntu-19.10-desktop-amd64.iso" {
    set root=(hd0,1)
    set isofile="/isos/ubuntu-19.10-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile persistent persistent-path=/persist-1/ splash --
        initrd (loop)/casper/initrd
}
menuentry "lubuntu-16.04.3-desktop-amd64.iso" {
    set root=(hd0,1)
    set isofile="/isos/lubuntu-16.04.3-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile persistent persistent-path=/persist-2/ splash --
        initrd (loop)/casper/initrd.lz
}

Пример Grub.cfg

sudo parted -ls  /dev/sdx

sudo разделенный-ls/dev/sdx

sudo lsblk -f  /dev/sdx

sudo lsblk-f/dev/sdx

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

2
ответ дан 7 April 2020 в 23:25

Чтобы быть безопасным ¹, используйте два usbs, один для выполнения установки и другого, чтобы быть установленными.

  1. Отформатируйте USB в FAT.

  2. Установите пакеты grub-efi-amd64 и grub-pc-bin.

  3. Включите USB и примите во внимание устройство, скажите /dev/sdb, и точка монтирования, говорят /media/user/USB.

  4. Создайте a chroot:

    dirs=(dev bin sbin etc sys usr proc lib lib64)
    for dir in ${dirs[@]}; do
      mkdir /media/user/USB/$dir && sudo mount --bind /$dir /media/user/USB/$dir
    done
    sudo chroot /media/user/USB/
    
  5. Однажды в chroot, выполненном эти команды:

    grub-install --force --removable --target=x86_64-efi --efi-directory=/ /dev/sdb1
    grub-install --force --removable --target=i386-pc --boot-directory=/ /dev/sdb
    exit
    
  6. Теперь размонтируйте и удалите каталоги:

    for dir in ${dirs[@]}; do
      sudo umount /media/user/USB/$dir && rm /media/user/USB/$dir
    done
    
  7. Скопируйте isos в свой USB.

  8. В Вашем USB создайте файл /grub/grub.cfg и добавьте содержание:

    set root='(hd0,1)'
    configfile /boot/grub/grub.cfg
    
  9. Для начальной загрузки Debian и Kali, в этом примере (необходимо изменить имя isos согласно тому, что Вы загрузили), добавьте к /boot/grub/grub.cfg:

    set root='(hd0,1)'
    
    menuentry "Kali Live system" {
      set iso_path=/kali-linux-2020.1b-live-i386.iso
      loopback loop $iso_path
      linux (loop)/live/vmlinuz-5.4.0-kali2-686-pae boot=live components quiet splash noeject findiso=${iso_path}
      initrd  (loop)/live/initrd.img-5.4.0-kali2-686-pae
    }
    
    menuentry "Debian GNU/Linux Live (kernel 4.19.0-8-686)" {
      set iso_path=/debian-live-10.3.0-i386-xfce.iso
      loopback loop $iso_path
      linux (loop)/live/vmlinuz-4.19.0-8-686 boot=live findiso=$iso_path components splash quiet "${loopback}"
      initrd (loop)/live/initrd.img-4.19.0-8-686
    }
    

¹ можно сделать это в машине ОС, но существует несколько команд, что по ошибке, может вредить системе.

0
ответ дан 7 April 2020 в 23:25

Другие вопросы по тегам:

Похожие вопросы: