LMU - Das Hilfe Forum für Linux Mint

Erste Schritte - erste Probleme => Systemverwaltung => Thema gestartet von: Westpole am 11.01.2021, 10:58:26

Titel: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 11.01.2021, 10:58:26
Hi

Ist es möglich .iso Dateien von Clonezilla und Gparted in GRUB2 einzubinden und von da aus zu starten? Immer wieder meinen USB Stick dafür rauszusuchen ist unkonfortabel.
Mein System:

Dualboot mit Windows 10 und LM MATE 20 64bit
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: toffifee am 11.01.2021, 11:07:38
Das ist möglich, ich fand es aber immer zu kompliziert, um das regelmäßig zu nutzen. Den Stick rauskramen ist schneller erledigt.
https://wiki.ubuntuusers.de/GRUB_2/Skripte/#Von-ISO-Dateien-mittels-loopback-booten
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: ZeckeSZ am 11.01.2021, 12:15:57
Für Clonezilla hatte ich das vor längerer Zeit einmal so in dieser Art (https://clonezilla.org/livehd.php) gelöst.
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Axel-Erfurt am 11.01.2021, 13:45:29
Du kannst es in /etc/grub.d/40_custom eintragen.

Beispiel, das iso Image ist hier in /ISO

Die Zeilen linux (loop) und initrd (loop) müssen angepasst werden, nicht jede ISO verwendet casper.
Also vorher in die ISO reinschauen,

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Voyager ISO" {
set isofile="/ISO/Voyager-20.04.1-LTS-amd64.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=${isofile} keyboard=de language-de
initrd (loop)/casper/initrd
}

nach

sudo update-grub

erscheint es dann im Grub Menu
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: pinky am 11.01.2021, 18:29:06
Ergänzend zu den bisherigen Antworten - auf einem Stick mit Grub und ISOs hatte ich mal folgende Einträge:

menuentry "Clonezilla Live 20180329-artful i386" {
  set iso_path="/clonezilla-live-20180329-artful-i386.iso"
  loopback loop ${iso_path}
  linux (loop)/live/vmlinuz findiso=${iso_path} boot=live union=overlay username=user hostname=yakkety config
  initrd (loop)/live/initrd.img
}

menuentry "GParted Live 0.31.0-1 i686 (Default settings)" {
  set iso_path="/gparted-live-0.31.0-1-i686.iso"
  loopback loop ${iso_path}
  linux (loop)/live/vmlinuz findiso=${iso_path} boot=live union=overlay username=user config components quiet noswap  ip= net.ifnames=0  nosplash
  initrd (loop)/live/initrd.img
}

Hier gibt es weitere Beispiele https://help.ubuntu.com/community/Grub2/ISOBoot/Examples
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 11.01.2021, 23:03:49
Beispiel, das iso Image ist hier in /ISO

Die Zeilen linux (loop) und initrd (loop) müssen angepasst werden, nicht jede ISO verwendet casper.
Also vorher in die ISO reinschauen,


Wie bzw. wo schau ich denn in die iso rein? Also ganz normal als Image laden? Und dann...? Es werden ja mehrere Ordner angezeigt (bspw. Clonezilla). Mit was müsste denn casper ggf. ersetzt werden? Und viel wichtiger:

Kann ich mir damit das GRUB zerstörren wenn ich was falsches eintrage?
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Axel-Erfurt am 12.01.2021, 01:29:35
Grub zerstören kannst Du nicht, es wird dann das ISO nicht starten.
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 12.01.2021, 23:24:31
Grub zerstören kannst Du nicht, es wird dann das ISO nicht starten.

Hab nun mal deine Konfiguration übernommen und Voyager mit Clonezilla ersetzt und den Pfad angepasst. Zuvor habe ich im Wurzelsystem den Ordner ISO erstellt und die die entsprechende iso hineinkopiert. Den Ordner konnte ich jedoch nur als Admin erstellen. Wenn ich nun das System neu starte wird mir zwar Clonezilla angezeigt, allerdings passiert dann auch nix weiter mehr außer dieser Benachrichtigung;

error: file '/casper/vmlinuz' not found.
error: you need to load the kernel first.

Press any key to continue...

Irgendein Tastendruck brachte mich dann wieder in´s Grub Menü zurück

PS:

sudo update-grub  zeigt dann das hier an:

Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/50_linuxmint.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
GRUB-Konfigurationsdatei wird erstellt …
Linux-Abbild gefunden: /boot/vmlinuz-5.8.0-36-generic
initrd-Abbild gefunden: /boot/initrd.img-5.8.0-36-generic
Linux-Abbild gefunden: /boot/vmlinuz-5.8.0-33-generic
initrd-Abbild gefunden: /boot/initrd.img-5.8.0-33-generic
Linux-Abbild gefunden: /boot/vmlinuz-5.8.0-31-generic
initrd-Abbild gefunden: /boot/initrd.img-5.8.0-31-generic
Linux-Abbild gefunden: /boot/vmlinuz-5.8.0-29-generic
initrd-Abbild gefunden: /boot/initrd.img-5.8.0-29-generic
Linux-Abbild gefunden: /boot/vmlinuz-5.4.0-60-generic
initrd-Abbild gefunden: /boot/initrd.img-5.4.0-60-generic
Linux-Abbild gefunden: /boot/vmlinuz-5.4.0-59-generic
initrd-Abbild gefunden: /boot/initrd.img-5.4.0-59-generic
Linux-Abbild gefunden: /boot/vmlinuz-5.4.0-58-generic
initrd-Abbild gefunden: /boot/initrd.img-5.4.0-58-generic
Linux-Abbild gefunden: /boot/vmlinuz-5.4.0-56-generic
initrd-Abbild gefunden: /boot/initrd.img-5.4.0-56-generic
Windows Boot Manager auf /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi gefunden
Startmenüeintrag für UEFI-Firmware-Einstellungen wird hinzugefügt
erledigt
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Axel-Erfurt am 12.01.2021, 23:33:23
Am besten suchst Du auf der ISO mal die beiden Dateien vmlinuz und initrd.img, dann weisst Du in welchem Ordner sie sind,

initrd.img hat manchmal auch eine andere Endung.

Aud der gparted iso sind sie z.B. im Ordner live
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 12.01.2021, 23:59:23
Ok, gemacht getan. Nun werden einige Scripte (?!) durchlaufen beim Start. Allerdings bleibt es irgendwann stehen und endet in folgender Meldung:

Zitat
BOOT FAILED!

This Live System image failed to boot.
.......
live-boot will now start a shell. The error message was:

Unable to find a medium containing a live file system
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: pinky am 13.01.2021, 07:26:03
Hab nun mal deine Konfiguration übernommen und Voyager mit Clonezilla ersetzt und den Pfad angepasst.
Das kann nicht funktionieren - so einfach ist es nicht. Mein altes Beispiel nennt hier /live/vmlinuz.
Bist du dem Link von ZeckeSZ gefolgt? Dort ist doch ein grub2 Menüeintrag genannt.
Wie sieht denn jetzt dein Menüeintrag aus? Zeig ihn doch mal.
Was anderes: Ich gehe mal davon aus, dass du dein Wurzelsystem schließlich nicht clonen kannst, weil dort ja die ISO liegt. Ist das so und passt das in dein Konzept?
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Moridian am 13.01.2021, 07:42:06
Hier mal die Hilfestellung von Clonezilla zu diesem Thema.
https://clonezilla.org/livehd.php

Du kannst Clonezilla als ISO im GRUB einbinden.
https://canox.net/2020/03/clonezilla-iso-ueber-grub-booten/

Aber beim Thema ISO Dateien einbinden die mit Clonezilla erstellt wurden...
Kommt dann wohl drauf an, wirst Du testen müssen.


Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 13.01.2021, 11:22:53
Das kann nicht funktionieren - so einfach ist es nicht. Mein altes Beispiel nennt hier /live/vmlinuz.
Bist du dem Link von ZeckeSZ gefolgt? Dort ist doch ein grub2 Menüeintrag genannt.
Wie sieht denn jetzt dein Menüeintrag aus? Zeig ihn doch mal.
Was anderes: Ich gehe mal davon aus, dass du dein Wurzelsystem schließlich nicht clonen kannst, weil dort ja die ISO liegt. Ist das so und passt das in dein Konzept?

Den Link von ZeckeSZ hab ich übersehen, aber gerade mal abgearbeitet und diesen Teil übernommen (allerdings funktioniert keines von den Anleitungen):

Zitat
From Clonezilla live >= 2.6.2-15, you can also this this easiest way (Thanks to Phil Webster for this hint):
First, download the Clonezilla live iso, e.g., clonezilla-live-2.6.3-7-amd64.iso. Then put it in the partition of your OS, say /dev/sda2, which might be mounted as /boot. Then make the grub2 custom menu (/etc/grub.d/40_custom) like:

Ich poste hier mal meine 40_custom aus /etc/grub.d

Zitat
menuentry "clonezilla-live" {
myroot="/dev/sda5"
ISO="/Clonezilla.iso"
search --set -f $ISO
loopback loop $ISO
linux (loop)/live/vmlinuz root=$myroot boot=live union=overlay username=user config components quiet noswap edd=on nomodeset locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=791 ip= net.ifnames=0 splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
initrd (loop)/live/initrd.img
}

Die iso konnte ich nur per Admin rüberkopieren. Habe auch mal die Zugriffsrechte auf root gesetzt und den Haken gesetzt bei "als Programm ausführen".
Aber egal ob root oder ich die Zugriffsrechte habe oder ob als Programm ausführen oder nicht...das System wird neu gestartet

Zitat
For the above grub config file, please change "linux" as "linuxefi", and "initrdefi" as "initrdefi" when your OS is uEFI booting.

Welche Konfigurationsdatei ist hier gemeint? Bzw. wo muss ich das ändern?

Ich würde eben gerne mit Clonezilla meine / Partition sichern. Wenn das alles so nicht klappt, greife ich eben wieder auf den Stick zurück.
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: pinky am 13.01.2021, 19:00:58
Zitat
For the above grub config file, please change "linux" as "linuxefi", and "initrdefi" as "initrdefi" when your OS is uEFI booting.

Welche Konfigurationsdatei ist hier gemeint? Bzw. wo muss ich das ändern?
Ich lese daraus: in deiner 40_custom Datei musst du linux durch linuxefi und initrd durch initrdefi ersetzen. Nach der Zeile loopback loop $ISO, dort wo du bisher linux und initrd schreibst.

Ich würde eben gerne mit Clonezilla meine / Partition sichern. Wenn das alles so nicht klappt, greife ich eben wieder auf den Stick zurück.
Ich kenne mich so tief hiermit nicht aus. Muss die ISO dafür auf einer eigenen Partition ungleich / sein bzw. ist sie das?
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 14.01.2021, 04:01:29
Ich glaub ich gebe es auf. Habe jetzt sämtliche Varianten die auf der Clonezilla Seite vorgeschlagen wurde, ausprobiert (entsprechend die jeweiligen Pfade angepasst). Wenn die iso oder deren Inhalt auf der Wurzelpartition liegt, bleibt der Bildschirm zunächst schwarz und dann endet das Ganze mit der Meldung, dass keine Medium gefunden werden konnte, welches ein Live-Dateisystem enthält. Wenn die iso oder deren Inhalt auf der Homepartition liegt, dann kann die iso nicht gefunden werden.
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: pinky am 14.01.2021, 21:09:39
Mein PC startet im BIOS mode - nicht UEFI. /dev/sda3 ist meine /home Partition.

menuentry "Clonezilla live" {
    myroot="/dev/sda3"
    ISO="/pinky/Downloads/ISOs/clonezilla-live-2.7.0-10-amd64.iso"
    search --set -f ${ISO}
    loopback loop ${ISO}
    linux (loop)/live/vmlinuz root=${myroot} boot=live union=overlay username=user config nosplash debug
    initrd (loop)/live/initrd.img
}

menuentry "Clonezilla live (Default settings, VGA 800x600)" {
    myroot="/dev/sda3"
    ISO="/pinky/Downloads/ISOs/clonezilla-live-20201102-groovy-amd64.iso"
    search --set -f ${ISO}
    loopback loop ${ISO}
    linux (loop)/live/vmlinuz root=${myroot} boot=live union=overlay username=user hostname=groovy config components noswap edd=on nomodeset enforcing=0 noeject locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 debug
    initrd (loop)/live/initrd.img
}

Beide ISOs starten, bleiben dann aber irgendwann hängen und schreiben wegen debug Parameter ein /boot.log. Jetzt müsste ich mich weiter schlau machen - will ich aber nicht. Ich bleibe bei meinem Ventoy Stick.
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 15.01.2021, 03:17:22


Ich danke dir wirklich für deine Unterstützung! Aber selbst mit deiner Konfiguration, gibt es die selben Ergebnisse. Habe das ganze auch mal auf meinem Arbeitslaptop versucht, der ebenfalls im BIOS Modus und LM Mate 20 läuft. Naja, es war ein Versuch wert :)

Edit: So ganz in Ruhe gelassen hat es mich doch nicht, also habe ich mal weiter geforscht und hab mir nochmal die verlinkte Seite von Moridian (Post11) angeschaut.
Nach einigem anpassen der Parameter, kann ich nun sagen: Es läuft und ich kann Backups erstellen und wieder einspielen! :)

So sieht meine /etc/grub.d/40_custon aus:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Clonezilla" {
set isofile="/boot/clonezilla-live-2.7.0-10-amd64.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live config locales=de_DE.UTF-8 keyboard-layouts=de boot=live config noswap edd=on nomodeset noprompt nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}

Ich bin begeistert! :D
Kann ich so auch mit GParted verfahren?
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: pinky am 15.01.2021, 06:01:48
Ich bin begeistert! :D
Kann ich so auch mit GParted verfahren?
Klasse, das freut mich auch für dich.

Ja, für GParted einfach einen weiteren Menüeintrag erstellen. Sollte ähnlich aussehen - siehe auch meine Antwort #4.

Kannst du noch sagen, wie deine Partitionierung aussieht und welche Partitionen du clonen kannst - immerhin liegt die ISO selbst ja auch auf einer Partitionen im Verzeichnis /boot.
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 15.01.2021, 14:29:19
Hab es zu Haue an meinem UEFI Laptop versucht und auch hier läßt sich das Backup erstellen und wieder einspielen. Habe ein Backup von sda5 gemacht, welche meine Wurzelpartition ist (sagt man das so? Also die Partition von der aus Linux startet)

Hier meine Partition (sudo fdisk -l /dev/sda):

Festplatte /dev/sda: 232,91 GiB, 250059350016 Bytes, 488397168 Sektoren
Festplattenmodell: Samsung SSD 850
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 8C0BB3E7-8E3A-396D-DB25-98A4E8299734

Gerät         Anfang      Ende  Sektoren Größe Typ
/dev/sda1       2048   1028087   1026040  501M EFI-System
/dev/sda2    1028096 102140502 101112407 48,2G Microsoft Basisdaten
/dev/sda3  102141952 103426047   1284096  627M Windows-Wiederherstellungsumgebun
/dev/sda4  103428096 279556094 176127999   84G Microsoft Basisdaten
/dev/sda5  279556096 330755314  51199219 24,4G Linux-Dateisystem
/dev/sda6  330756096 488396799 157640704 75,2G Linux-Dateisystem
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: pinky am 15.01.2021, 17:10:20
Hab es zu Haue an meinem UEFI Laptop versucht und auch hier läßt sich das Backup erstellen und wieder einspielen. Habe ein Backup von sda5 gemacht, welche meine Wurzelpartition ist (sagt man das so? Also die Partition von der aus Linux startet)
Ich frage nochmal nach, weil ich es noch nicht ganz verstanden habe.

Ist /boot (wo bei dir die ISO liegt) auch auf sda5 dem Wurzeldateisystem? Also kannst du sda5 clonen obgleich die ISO von dort gestartet wird?

Hast du auf deinem UEFI System den gleichen Menüeintrag verwendet oder einen anderen (mit linuxefi und initrdefi statt linux und initrd)?
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 15.01.2021, 18:02:26
Ja! ;) Weiß wohl worauf du hinaus willst. Möchte daher mal versuchen über eine neu angelegte Partition zu booten. Sollte das Wurzelsystem hin sein, muss ja doch wieder der Stick herhalten. Habe die Einträge auf dem UEFI System jeweils mit -efi angepasst
Titel: Re: Kann man iso Dateien über Grub2 einbinden?
Beitrag von: Westpole am 15.01.2021, 19:07:22
Hab nochmal versucht die iso von meiner Home Partition zu starten, leider ohne Erfolg. Iso kann nicht gefunden werden und es muss erst der Kernel geladen werden. Kann es sein das in den Dateien
`/etc/default/grub'
`/etc/default/grub.d/50_linuxmint.cfg'
`/etc/default/grub.d/init-select.cfg'

Noch irgendein Verweis fehlt?! Unter /boot tauchen ja auch ganz andere Dateien auf, u.a. auch die initrd.img