[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 892
  • Репутация:75

    [+] [-]
По мотивам статьи ►► ЭТОЙ eng.
Все, что написано ниже - это мои выводы и умозаключения. Не факт, что они верные. :dontknow:
Пробуем загрузить образ диска с виртуального раздела на флешке.
Как это работает. Загрузчик монтирует образ диска, как 4-й раздел жесткого диска, что позволяет не зависеть от файловой системы на загрузочном диске. То есть, системы, требующие для загрузки файловую систему FAT32, будут грузиться и работать с HTFS, так как загрузка идет с виртуального раздела, на котором создается файловая система, необходимая для работы именно этой системы. В основном это полезно для загрузки Linux ISO, образы которых не грузились, а теперь, ВОЗМОЖНО, загрузятся.
ВНИМАНИЕ! Чтобы все это работало, на носителе должно быть не больше 3-ех основных разделов! Так как загрузка этим способом создает четвертый раздел в таблице разделов.
Пример: Качаем образ допустим "ubuntu-12.10-desktop-i386.iso". Копируем образ в папку "ubuntu" в корне носителя. В меню пишем:
iftitle [if exist /ubuntu/ubuntu-12.10-desktop-i386.iso] Ubuntu 12.10 i386
set ISO=/ubuntu/ubuntu-12.10-desktop-i386.iso
ls (hd0,0)/%ISO% && partnew (hd0,3) 0x00 /%ISO%
map /%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

где:
ubuntu - имя папки, в которой лежит образ.
ubuntu-12.10-desktop-i386.iso - имя образа.
Или так (без авто меню):
title Ubuntu 12.10 i386
set ISO=/ubuntu/ubuntu-12.10-desktop-i386.iso
ls (hd0,0)/%ISO% && partnew (hd0,3) 0x00 /%ISO%
map /%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

Если в папку ubuntu положить файл "casper-rw" и добавить к загрузочному меню параметры ядра, то система будет сохронять настройки.
title Ubuntu 12.10 i386
set ISO=/ubuntu/ubuntu-12.10-desktop-i386.iso
ls (hd0,0)/%ISO% && partnew (hd0,3) 0x00 /%ISO%
map /%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)
kernel /casper/vmlinuz cdrom-detect/try-usb=true noprompt boot=casper floppy.allowed_drive_mask=0 ignore_uuid file=/cdrom/preseed/ubuntu.seed persistent persistent-path=ubuntu locale=ru_RU.UTF-8
initrd /ubun86/casper/initrd.lz

Вот как-то так.
Естественно, таким образом можно грузить не только Linux системы.

[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 892
  • Репутация:75

    [+] [-]
Добавил Xodok
Озадачился сдвоенной проблемой
- иметь несколько Ubuntu и его клонов с сохранением настроек каждого в своем casper-rw
- все это на NTFS
Сами Ubuntu грузить с NTFS не проблема, но casper-rw они видят только на FAT.
На примере Lubuntu сделал следующее:
- поместил в папку Lubuntu файлы casper-rw, lubuntu-1010.iso и извлеченные из образа файлы initrd.lz, vmlinuz. Файл casper-rw должен быть непрерывным (без фрагментов). Образ lubuntu-1010.iso может быть фрагментирован. Запись в menu.lst :
title LiveUSB Lubuntu
set ISO=/Lubuntu/casper-rw
ls %ISO% > nul  && partnew (hd0,3) 0x00 %ISO% > nul
map %ISO% (0xff)
map --hook
kernel /Lubuntu/vmlinuz iso-scan/filename=/Lubuntu/lubuntu-1010.iso boot=casper persistent locale=ru_RU splash
initrd /Lubuntu/initrd.lz
Для других Линуксов соответственно свои папки.
Все работает без проблем. Каждый линукс цепляет свой casper-rw и NTFS не мешает.

[Цитировать]

    Apoc
  • 1691
  • Стаж: 9 лет 2 месяца
  • Сообщений: 12
  • Репутация:0

    [+] [-]
puhpol, а можете подсказать как загрузить Slackware 14.2 из ISO-образа. Метод загрузки через AutoLinux почемуто не работает (хотя Slackware 14.1 грузится великолепно)

[Цитировать]

    KottoSOFT
  • 206
  • Стаж: 9 лет
  • Сообщений: 562
  • Репутация:65

    [+] [-]
Загрузка ISO из виртуального раздела.
Приветствую друзья вроде нашёл наиболее подходящую для моего вопроса тему, чтобы не создавать новую.
Вопрос такой, несколько человек попросили добавить к флешке Линуксовые образы.
Для простоты понимания

Структура папок на флешке

Общая суть понятна. Линуксы пишу на другую флешку утилитой WinSetupFromUSB_1-8_x64
Далее в созданном утилитой menu.lst команду И ISO образ копирую по папкам и на свой подменю.

Команда перехода из одного меню в другой

title LINUX MENU
configfile /KSFT/BOOT/GRLDR/Linux.lst
Пути в команде (коде) запуска редактирую с учётом своей под папки.
Запускаю 32х битный LinuxMint прогружается даже в QEMI тесте.

Примеры

А вот 64х битный с точно также отредактированным кодом ни в какую.
В чём у них разница, кто знает?

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3841
  • Репутация:127

    [+] [-]
KottoSOFT, aa
Загрузка Linux Mint
title Linux Mint
set iso=/path/to/linuxmint/image.iso
map %iso% (0xff)
map --hook
kernel (0xff)/casper/vmlinuz boot=casper iso-scan/filename=%iso% locale=ru_RU
initrd (0xff)/casper/initrd.lz

[Цитировать]

    KottoSOFT
  • 206
  • Стаж: 9 лет
  • Сообщений: 562
  • Репутация:65

    [+] [-]
Ander_73, Спасибо попробую, я такую

такую команду

title linuxmint-19-mate-32bit
map --unmap=0:0xff
map --unhook && map --rehook
cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst
set /a dev=*0x8280&0xff
root (%dev%,0)
set KSFT/LIN=/KSFT/LIN/linuxmint-19-mate-32bit.ISO
ls %KSFT/LIN% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst
ls %KSFT/LIN% > nul || find --set-root --devices=hf %KSFT/LIN% || echo Error! Could not find %KSFT/LIN% && echo && pause Press any key to return to the main menu && configfile /menu.lst
map %KSFT/LIN% (0xff) || map --heads=0 --sectors-per-track=0 %KSFT/LIN% (0xff) || echo FATAL ERROR mapping %KSFT/LIN%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst
#http://reboot.pro/topic/9916-grub4dos-KSFT/LINhybri...age-2#entry88531
#http://www.rmprepusb.com/tutorials/tails
set /a dev=*0x82a0&0xff
debug 1
parttype (%dev%,3) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %KSFT/LIN%
if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst
map --rehook
root (0xff)
chainloader (0xff)
получил путем редактирования путей к своей под папке, там тоже по началу путь стоял %iso% не считая пути к ISO И хоть и чувствую, что она слишком громоздкая 32 бита грузит, а 64 не трогается с места.

[Цитировать]

    волчара
  • 253
  • Стаж: 9 лет
  • Сообщений: 598
  • Репутация:45

    [+] [-]
  • Откуда: Омск
KottoSOFT, aa
Ты какой версией WinSetupFromUSB работал, только что сделал флеху этой версией WinSetupFromUSB-1-9 вот этот образ linuxmint-19.2-mate-64bit.iso и все прекрасно загружается
title linuxmint-19.2-mate-64bit from partition 0
map --unmap=0:0xff
map --unhook && map --rehook
cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst
set /a dev=*0x8280&0xff
root (%dev%,0)
set ISO=/ISO/linuxmint-19_2-mate-64bit.iso
ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo  && pause Press any key to return to the main menu && configfile /menu.lst
ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo  && pause Press any key to return to the main menu && configfile /menu.lst
map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst
#http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531
#http://www.rmprepusb.com/tutorials/tails
set /a dev=*0x82a0&0xff
debug 1
parttype (%dev%,3) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO%
if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo  && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst
map --rehook
root (0xff)
chainloader (0xff)

[Цитировать]

    KottoSOFT
  • 206
  • Стаж: 9 лет
  • Сообщений: 562
  • Репутация:65

    [+] [-]
волчара, Привет, я этой делал
WinSetupFromUSB_1-8


Показать сообщения:    

Текущее время: 14-Дек 16:39

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы