Автор Тема: Live-загрузка и установка с переносного жесткого диска с NTFS  (Прочитано 105379 раз)

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 249
С целью тестирования и установки различных версий Linux имею переносной жесткий диск с образами различных версий Linux. Загрузчик Syslinux. С другими дистрибутивами проблем нет. Просто распаковываешь на диск и добавляешь в конфиг что то типа вот этого:
label ubnentry11
menu label Linux Mint 19.1 Mate 64bit
kernel /mint11/casper/vmlinuz
append initrd=/mint11/casper/initrd.lz boot=casper ignore_uuid live-media-path=/mint11/casper/ file=/cdrom/mint11/preseed/linuxmint.seed quiet splash --
Решил так же добавить и AltLinux, т.к. появилось несколько компьютеров с AltLinux. Но проблема в том, что он не грузится. Распаковал дистрибутив, после двух дней ковыряния параметров пришел вот к такому конфигу:
label ubnentry40
menu label Alt Linux 8.0 Mate 64bit
kernel /alt3/syslinux/alt0/vmlinuz
append initrd=/alt3/syslinux/alt0/full.cz fastboot live automatic=method:disk,label:Transcend,directory:/alt3/ ramdisk_size=841681 stagename=live showopts lowmem vga=normal quiet splash
Проблема в том, что full.cz не грузится с раздела NTFS. Он выкидывает окошко, где говорит, что нужно выбрать диск, с которого будет производится запуск, и говорит, что будет пытаться загрузится с различных файловых систем, в том числе и с NTFS. Но, судя по логам, с NTFS он грузится даже не пытается. Ручной выбор диска так же ничего не дает. Выбрать диск и раздел можно, но потом выскакивает ошибка, что не обнаружено ни одной поддерживаемой файловой системы. Что делать?

Связываться с загрузкой ISO в память как то не хочется, т.к. это получается уже матрешка из двух RAM-дисков. Я в этом не очень разбираюсь, но подозреваю, что это приводит к лишней трате памяти. Да и это опять придется разбираться, как это делается в Syslinux и заработает ли вообще.
« Последнее редактирование: 16.01.2019 12:35:11 от Mr.Madguy »

Петрович

  • Гость
На флешке fat32 в /syslinux/syslinux.cfg
timeout 90 totaltimeout 3000ui gfxboot bootlogo message
menu title ALT (slinux)
prompt 0

label live
  kernel alt0/vmlinuz
  append initrd=alt0/full.cz fastboot live stagename=live showopts lowmem automatic=method:disk,disk:sdb,partition:sdb1
« Последнее редактирование: 16.01.2019 13:53:32 от Петрович »

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 249
Что будет работать с FAT32, это и так понятно. Но в том то и проблема, что у меня диск NTFS. Там в загрузчике вроде как заявлена поддержка NTFS, но она то ли выпилена, то ли что, но логи показывают, что он пытается последовательно грузится с ISOFS, EXT2, EXT3, EXT4, FAT, еще какой-то файловой системы на букву R. Но только не с NTFS. Форматировать диск в FAT32 не вариант, т.к. там не только образы операционных систем, но еще и куча всего другого. Можно ли как то скачать где-то обновленную версию этого загрузчика с поддержкой NTFS или же заменить его на другой, например Casper? Там же вроде тот же SquashFS используется. Как думаете, если скопировать initrd.lz с каспера и поменять параметры запуска, это сработает?

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 249
А, наврал я. Все таки что то пытается он грузить с NTFS. Но ничего вроде не выходит. Диски в системе у меня такие: sda, sda1, sda2, sdb, sdb1. На скринах логи при моей конфигурации, но прописывание sdb и sdb1 вручную понятное дело ничего не меняет. В какую сторону копать?


« Последнее редактирование: 16.01.2019 19:32:35 от sb »

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Mr.Madguy, ничего у вас не получится. Propagator не умеет того, чего вы от него хотите, а Casper или чему-либо ещё нужны внутри initrd модули строго из того же набора модулей и ядра, что на установочном диске (в stage2-squashfs). Дело тут не в загрузчике -- он может быть любой и в вашем случае ядро и initrd грузятся с NTFS успешно. В initrd находятся некоторые модули ядра, считанные библиотеки, а роль init'а выполняет propagator. Он ищет корень со stage2, в зависимости от указанного метода. Искать файл второй стадии (squashfs-образ live) он умеет только при загрузке с ISO-9660. При сетевой установке ему скармливается весь ISO'шник. Методы disk и прочие указываются как корень системы (ext4/3/2/reiser), но не как источник для поиска stage2. Хороший вариант предлагает загрузчик grub2 с его loop-загрузкой с имеющихся ISO-9660 образов, но никто не проверял, будет ли это работать с Альт, и не упрётся ли в тот же propagator. Умные USB-кредлы с индикатором предлагают иное решение: выбираете на его пульте функцию эмуляции CD-ROM и нужный файл с дистрибутивом, ребутаетесь, после чего машина видит внешний диск не как NTFS-раздел, а как указанный внешний USB CD-ROM.
To moan or to solve -- that is the question!

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 249
Я не специалист в Linux. Мое понимание такое. Live это и так образ виртуального диска. Initrd.lz или full.cz это просто еще один загрузчик для этого образа. Еще один в цепочке. Вот так вот все сложно в Linux. Городить еще один виртуальный диск для ISO-шника - это уже просто лишнее. Все, что надо - это просто найти этот образ и загрузится с него. И почему-то Casper из состава Mint и Ubuntu спокойно с этим справляется. Достаточно только поменять пути, чтобы они были указаны относительно расположения загрузчика, и все прекрасно работает. И я просто думал, что Propagator имеет абсолютно идентичные возможности. Ведь в Mint и Ubuntu тоже тот же Propagator используется, если я все правильно понимаю. Ведь там же есть поддержка NTFS. Я исходники смотрел. Неужели так сложно вместо корня CD-диска загрузить образ виртуального диска с папки в файловой системе NTFS? Ведь вроде method:disk именно для этого и предназначен. Вот я и спросил. Если full.cz специально так урезан, чтобы уметь грузить только образы с CD, то может есть вариант еще как-нибудь перекомпилировать с другими параметрами или вообще заменить на другой загрузчик?

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
altinstall, live и rescue в корне ISO-образа -- это файл второй стадии загрузки (stage2), корень системы, сжатый squashfs. propagator -- это не загрузчик, а программа, находящаяся в initrd, выполняющая роль первой стадии инсталляции -- поиску второй стадии. Если вы знакомы с shell-исходниками liveboot (родом из Debian), то может вам будет не так сложно написать на Си ещё один метод для Propagator. Он не такой сложный и большой, но в него никто не хочет вкладываться. Напротив, все его хотят выкинуть. Но увы, заменить его у нас пока нечем. Независимо от выбранного вами варианта -- усовершенствовать или заменять чем-либо propagator, придётся создавать новые установочные образы для всех дистрибутивов и тщательно их тестировать.
To moan or to solve -- that is the question!

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 249
Я несколько раз перечитал и так и не могу понять, в чем проблема. Вот тут описаны возможности и параметры запуска Propagator. И вроде как для метода disk можно указасть устройство и путь к live. Получается, что оно просто не работает так, как заявлено, или что? Есть поддержка флэшек, флэшку оно находит правильно, есть поддержка NTFS. Что еще надо для того, чтобы просто загрузить live из другого места? С корня то файловой системы оно грузится. По крайней мере FAT32 точно. Я даже видел примеры конфигов, где путь к live указывается прямо в параметре stagename, т.е. например /alt6/live.

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 991
Немного оффтопа с вашего позволения, но уж очень хочется спросить.
Он не такой сложный и большой, но в него никто не хочет вкладываться
А какова демотивация в данном случае ?
Напротив, все его хотят выкинуть. Но увы, заменить его у нас пока нечем.
Теоретически (гипотетически) есть на что заменить ?

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 249
Не поймите меня неправильно. Просто сегодня CD/DVD-диски уходят примерно так же, как когда то уходили флоппики. А флэшек на все нужные для работы дистрибутивы не напасешься. Вот я хотел попробовать несколько стартовых дистрибутивов AltLinux, а флэшек свободных у меня нет. Зато есть съемный диск на террабайт. На него можно залить хоть тысячу дистрибутивов. Так что дистрибутивы, которые до сих пор считают, что они должны быть установлены с CD/DVD-диска, и потому не поддерживают мультбут, сегодня вызывают недоумение.

Что же касается загрузчиков, то тут тоже примерно та же ситуация. Я тоже потратил очень много усилий, чтобы грузить другие дистрибутивы через мультибут. Рассматривал варианты с различными загрузчиками. Но они тоже не очень то дружелюбны, а специальных утилит, которые бы позволили сразу схожу автоматически сделать мультибут диск, тоже практически нет. Наверное как раз из за сложности этого процесса. Я тупо столкнулся с тем, что вот я качаю загрузчик и не могу даже разобраться, как совершить с ним самый первый шаг - установить его на диск. Вот в итоге разобрался с Syslinux и как то не очень хочется опять разбираться с другим загрузчиком, типа Grub. Может я и не прав, но я считаю, что в цепочке "загрузочная запись -> загрузчик -> ядро Linux -> загрузчик RAM-диска -> Live образ" еще одно звено с ISO RAM-диском является явно лишним. Это по сути еще одна загрузочная запись и еще одни загрузчик, который в большинстве случаев является точь в точь таким же, как и исходный. В случае с AltLinux-ом это тот же самый Syslinux.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Так что дистрибутивы, которые до сих пор считают, что они должны быть установлены с CD/DVD-диска, и потому не поддерживают мультбут, сегодня вызывают недоумение.
iso в ALT так называемые гибридные. Они могут быть записаны как на флешку, так и на CD/DVD. Ну а мультибут с NTFS... NTFS никто не обещал.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Мультибут в 10 годах 21 века с повальной виртуализацией вызывает ещё более сильное недоумение. :)
Андрей Черепанов (cas@)

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 249
Мультибут в 10 годах 21 века с повальной виртуализацией вызывает ещё более сильное недоумение. :)
Какое решение вы предлагаете? Следует сказать, что я работаю на компьютере с Windows, так что "простые" для Linux решения для меня не очень то подходят.

Мне в принципе изначально нравилась идея загрузки с ISO, т.к. в таком случае достаточно просто залить дистрибутив на диск и не требуется никакой дополнительной настройки. Это даже можно было бы делать автоматически при помощи какой-нибудь программки. Но с Grub я так и не разобрался, а у Syslinux, насколько я помню, с загрузкой с ISO есть какие то проблемы. Но у меня лично все время возникал такой вопрос. А что если на компьютере памяти впритык и RAM-диск ее сожрет всю, так что нельзя будет загрузить сам Live-образ? ISO RAM-диск в этом случае это только лишняя нагрузка на память. Ну вот я и решил в какой-то момент, что проще и лучше грузить Live-образ напрямую без посредников.

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 991
А что если на компьютере памяти впритык и RAM-диск ее сожрет всю, так что нельзя будет загрузить сам Live-образ? ISO RAM-диск в этом случае это только лишняя нагрузка на память.
А lowmem на старте загрузки разве не про это ?

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 249
А lowmem на старте загрузки разве не про это ?
Ну это у загрузчика AltLinux есть такой параметр. А у memdisk из Syslinux такого нет. Я сейчас попробовал через memdisk и там примерно такая же проблема. И с любым другим загрузчиком, например Grub, тоже будет такая же проблема. Грузится то все нормально, но опять же только до Propagator. А он должен еще уметь работать с виртуальными дисками. И он виртуальный диск конечно же не видит.