Во-первых, время от времени мне нужно передавать данные между произвольными компьютерами с Windows 7 или более поздней версией (и, в редких случаях, с / на Mac). Для этого я предпочитаю использовать USB-накопитель с разделом FAT32. Во-вторых, я время от времени загружаю Debian Live с внешних носителей. Для этой цели, учитывая совершенно свободный USB палку, я обычно dd изображение из http://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/, но я готов изменить способ создания живых перегородок.

Как достичь обеих целей, используя один и тот же USB-накопитель? (Да, я знаю, что персистентности недостаточно: и раздел FAT32 на диске должен использоваться в Windows, и Debian live должен быть загрузочным. Да, я пробовал Unetbootin; это не произвело загрузочный pendrive; не спрашивай меня почему, я понятия не имею.)

1 ответ1

0

Многие живые дистрибутивы Linux поддерживают монтирование iso loopback во время загрузки, в то время как GRUB поддерживает загрузку Linux из ISO. Объедините их и вы сможете загрузить живую Linux iso просто в виде файла. Это должно отвечать вашим требованиям, но имейте в виду, что некоторые не поддерживают это или, по крайней мере, официально не поддерживают его.

Сначала установите GRUB на свой USB-накопитель:

Смонтировать usb на mnt

mount /dev/sdb1 /mnt/usb

Чтобы установить устаревшую версию BIOS, используйте USB:

grub-install --target=i386-pc --boot-directory=/mnt/usb/boot /dev/sdb

Для использования UEFI:

grub-install --target=x86_64-efi --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot --removable

если /mnt /usb /boot не существует, создайте его с помощью mkdir, затем выполните:

grub-mkconfig -o /mnt/usb/boot/grub/grub.cfg

Затем отредактируйте /mnt/usb/boot/grub/grub.cfg с помощью:

menuentry "Debian live ISO" {
  insmod loopback
  insmod iso9660
  set isofile="/debian.iso"
  loopback loop $isofile
  linux (loop)/install.amd/vmlinuz findiso=$isofile vga=788 -- quiet
  initrd (loop)/install.amd/initrd.gz
}

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