Ja, Sie können dies erreichen, indem Sie dem GRUB
Bootloader-Menü einen Menüeintrag hinzufügen .
Sie können einen benutzerdefinierten GRUB-Menüeintrag hinzufügen, indem Sie Folgendes bearbeiten /etc/grub.d/40_custom
:
Beispiel für einen benutzerdefinierten Menüeintrag :
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 "Trisquel ISO" {
set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
loopback loop (hd0,5)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
initrd (loop)/casper/initrd
}
Anleitung & Erklärung:
Der Befehl set
wird hier zum Speichern des Pfads der ISO-Datei in einer Variablen verwendet isofile
.
loopback
wird verwendet, um ein Gerät aus einem Dateisystem-Image zu erstellen. Dazu müssen das Gerät und die Image-Datei angegeben werden. Hier haben wir verwendet, (hd0,5)$isofile
in dem (hd0,5)
die fünfte Partition der Festplatte darstellt.
- Punkte zu beachten: In
(hd0,5)
,
1 st Ziffer steht für die Gerätenummer , die aus startet 0
(hier: 0 = 1 st Gerät) und
2 nd Ziffer steht für die Partitionsnummer , die aus startet 1
(hier 5 = 5 - ten Partition).
Das bedeutet/dev/sda5
- Und Variable
$isofile
hat den Pfad der ISO-Datei. So wird es endlich (hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso
.
- Weitere Informationen finden Sie unter: Festlegen von Geräten und Dateien .
linux
Befehl wird verwendet, um den Linux-Kernel ( vmlinuz ) aus der Datei zu laden . Fügen Sie den Pfad des Linux-Kernels in die ISO ein.
Lesen / extrahieren Sie den Inhalt von ISO, um den Pfad des Kernel-Beispiels zu erhalten:
$ 7z l trisquel_7.0_i686.iso | grep vmlinu
2014-10-29 21:41:43 ..... 5841680 5841680 casper/vmlinuz
2014-11-03 00:45:09 ..... 5844176 5844176 casper/vmlinuz.netinst
also /casper/vmlinuz
wurde hier verwendet.
initrd
Mit dem Befehl wird eine erste Ramdisk für ein Linux-Kernel-Image geladen und die entsprechenden Parameter im Linux-Setup-Bereich im Speicher festgelegt.
- initrd ist ein Schema zum Laden eines temporären Root-Dateisystems in den Speicher. Geben Sie den Pfad
initrd
in die ISO ein.
Lesen / extrahieren Sie den Inhalt von ISO, um den Pfad von initrd
:
$ 7z l trisquel_7.0_i686.iso | grep initrd
2014-11-03 00:45:19 ..... 16851900 16851900 casper/initrd
2014-11-03 00:45:09 ..... 9398592 9398592 casper/initrd.netinst
Die zusätzlichen Parameter boot=casper iso-scan/filename=$isofile noprompt noeject
können spezifisch für eine GNU / Linux-Distribution sein und für eine andere Linux-Familie variieren. Sie können einige Konfigurationen für verschiedene Familien / Verteilung finden hier .
Hinweis: Einige Distributionen verwenden initrd.gz
oder initrd.lz
hängen vom verwendeten Algorithmus / der verwendeten Komprimierung ab.
Nach der Bearbeitung /etc/grub.d/40_custom
muss GRUB per update-grub2
Befehl aktualisiert werden . Nach dem Neustart finden Sie den benutzerdefinierten Menüeintrag, den Sie hinzugefügt haben, auf dem GRUB-Bildschirm. Sie können auch die Live-Umgebung einer GNU / Linux-Distribution verwenden.
Um die Installation über ISO durchzuführen, muss das Installationsprogramm möglicherweise alle bereitgestellten Partitionen aushängen. Das heißt, ein anderes System ist an montiert /isodevice
, dann können Sie umount -l /isodevice
.