GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So booten Sie eine Debian-ISO-Datei von der Festplatte mit GRUB2

Dieses Tutorial zeigt Ihnen, wie Sie die Debian-ISO-Datei mit dem GRUB2-Bootloader direkt von der Festplatte booten, sodass Sie keine Live-CD oder Live-USB erstellen müssen. Heutzutage ist es super einfach, einen Linux-Live-USB zu erstellen, Sie können dies mit einem grafischen Tool oder über die Befehlszeile tun. Aber was ist, wenn Sie kein USB-Flash-Laufwerk zur Hand haben oder Debian auf Ihrem USB-Flash-Laufwerk installieren möchten?

GRUB zur Rettung

Der GRUB2-Bootloader kann die Linux-ISO-Image-Datei direkt von Ihrer Festplatte booten.

  • GRUB2 unterstützt viele Dateisysteme, einschließlich, aber nicht beschränkt auf ext4, HFS+ und NTFS, was bedeutet, dass Sie Ihre ISO-Datei auf jedem dieser Dateisysteme ablegen können.
  • GRUB 2 kann Dateien direkt von LVM- und RAID-Geräten lesen.
  • GRUB2 hat auch Netzwerkunterstützung. Sie können OS-Images aus einem Netzwerk laden, indem Sie TFTP verwenden Protokoll.

In diesem Tutorial werden wir nur über das Booten einer ISO-Datei von einer lokalen Festplatte sprechen. Um diese Funktion nutzen zu können, muss eine Linux-Distribution mit GRUB2 als Bootloader bereits auf Ihrem Computer installiert sein.

Wie man eine Debian-ISO-Datei mit GRUB2 direkt von der Festplatte bootet

Starten Sie zuerst Ihren Computer und booten Sie Ihre vorhandene Linux-Distribution. Laden Sie die Debian-ISO herunter. Sie können entweder das Netinstall-ISO oder das Live-CD-ISO verwenden. Außerdem müssen Sie hd-media/initrd.gz und hd-media/vmlinuz von dieser Seite.

  • initrd.gz ist die anfängliche Ramdisk.
  • vmlinuz ist der Linux-Kernel.

Wenn Sie ein grafisches Installationsprogramm wünschen, mit dem Sie mit der Maus klicken können, laden Sie hd-media/gtk/initrd.gz und hd-media/gtk/vmlinuz stattdessen. Legen Sie diese drei Dateien in dasselbe Verzeichnis. Öffnen Sie als Nächstes ein Terminalfenster und bearbeiten Sie /etc/grub.d/40_custom Datei mit einem Texteditor wie nano.

sudo nano /etc/grub.d/40_custom

In dieser Datei können wir dem GRUB-Startmenü benutzerdefinierte Einträge hinzufügen. In diesem Fall möchten wir einen Eintrag zum Booten einer Debian-ISO-Datei hinzufügen. Das Folgende ist ein Beispiel.

menuentry "Debian.4 net-install.iso" {
        insmod ext2
        set root='(hd0,2)'
        linux /linuxbabe/vmlinuz
        initrd /linuxbabe/initrd.gz
}

Erklärung:

  • Menüeintrag :Dieser Eintrag wird im GRUB2-Startmenü angezeigt. Sie können es benennen, wie Sie möchten.
  • Der insmod Befehl fügt ein Modul ein. Da diese drei Dateien auf meiner Home-Partition gespeichert sind, ist die Datei ext2 Modul benötigt wird. Wenn sich diese Dateien auf einer NTFS-Partition befinden, benötigen Sie insmod ntfs stattdessen.
  • Das Set Befehl legt die zweite Partition meiner ersten Festplatte als Stammverzeichnis fest. (Meine Home-Partition ist die zweite Partition meiner ersten Festplatte.)
  • Der linux Der Befehl lädt einen Linux-Kernel aus dem angegebenen Pfad. vmlinuz bedeutet eine komprimierte ausführbare Linux-Kernel-Datei, die virtuellen Speicher unterstützt. Der Buchstabe „z“ zeigt an, dass es komprimiert ist.
  • Der initrd Der Befehl lädt eine anfängliche Ramdisk aus dem angegebenen Pfad. Es kann nur nach linux verwendet werden Befehl ausgeführt wurde. Die anfängliche Ramdisk ist ein minimales Root-Dateisystem, das in den RAM eingebunden wird.

Beachten Sie, dass GRUB dies nicht tut IDE von SCSI unterscheiden. Unter Linux /dev/hda bezieht sich auf die erste IDE-Festplatte und /dev/sda bezieht sich auf die erste SCSI- oder SATA-Festplatte. Wenn Sie eine NMVe-SSD verwenden, heißt sie möglicherweise /dev/nvme0n1 , /dev/nvme1n1 und so weiter. Aber in GRUB wird die erste Festplatte immer als hd0 bezeichnet , unabhängig vom Schnittstellentyp. Beachten Sie auch, dass Partitionsnummern in GRUB bei 1 beginnen, nicht bei 0.

Um Ihre Partitionsnummer zu überprüfen, können Sie lsblk ausführen oder sudo parted -l Befehl im Terminalfenster. Sie können es auch im Gparted-Partitionseditor sehen, der mit dem folgenden Befehl installiert werden kann.

sudo apt install gparted

Auf meinem Computer vmlinuz ,initrd.gz und das Debian-ISO-Image werden unter /home/linuxbabe/ gespeichert Verzeichnis, aber ich habe eine separate Home-Partition und sie ist in der GRUB-Konfigurationsdatei als root festgelegt, daher sollte der Pfad mit /linuxbabe beginnen , nicht /home/linuxbabe/ .

Speichern und schließen Sie die Datei. Aktualisieren Sie dann das GRUB-Startmenü mit dem folgenden Befehl:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Auf Fedora lautet der auszuführende Befehl:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Auf einer Debian-basierten Linux-Distribution können Sie den folgenden Befehl verwenden, um das GRUB-Startmenü zu aktualisieren.

sudo update-grub

Sie können der Ausgabe entnehmen, dass GRUB einen neuen Menüeintrag hinzugefügt hat. (Neuere Versionen von GRUB zeigen diese Meldung nicht an. )

Starten Sie nun Ihren Computer neu. Im GRUB-Startmenü sehen Sie den gerade hinzugefügten Menüeintrag. Beachten Sie, dass Sie möglicherweise die rechte Umschalttaste drücken müssen, um das GRUB-Startmenü aufzurufen, wenn der Computer neu gestartet wird.

Wählen Sie es aus und drücken Sie die Eingabetaste. Der Linux-Kernel (vmlinuz ) und anfängliche RAM-Disk (intird.gz ) wird in den Speicher geladen. Dann wird eine zusätzliche Installer-Komponente aus dem Debian-ISO-Image geladen.

Vermeidung der üblichen Fallstricke

Möglicherweise haben Sie den folgenden Code verwendet, um Ubuntu ISO von der Festplatte zu booten, und jetzt versuchen Sie, dieselbe Syntax für Debian ISO zu verwenden.

menuentry "ubuntu-16.04-desktop-amd64.iso" {
   set isofile="/home/username/Downloads/ubuntu-16.04-desktop-amd64.iso"
   loopback loop (hd0,1)/$isofile
   linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet noeject nopromt spalsh --
   initrd (loop)/casper/initrd.lz
}

Es wird nicht funktionieren. Wenn Sie diese Syntax verwenden, erhalten Sie nach dem Booten der Debian-ISO die folgende Fehlermeldung.

No common CD-ROM drive was detected.

oder

No medium found containing a live file system.

Der Grund dafür ist, dass die Ubuntu-Methode den Linux-Kernel und die anfängliche Ramdisk im ISO-Image verwendet, aber Sie müssen hd-media/vmlinuz verwenden und hd-media/initrd.gz um das Debian-Installationsprogramm von der Festplatte zu booten. Das Debian-ISO-Image ist die CD-ROM/Medium, die vom Debian-Installer benötigt wird.

Ein paar andere Tipps

Wenn sich die drei Dateien im Verzeichnis der obersten Ebene einer Festplattenpartition befinden, lassen Sie den Schrägstrich am Anfang nicht aus, wenn Sie den Pfad zu vmlinuz angeben und intird.gz . Mit anderen Worten:Sie benötigen

linux /vmlinuz
initrd /initrd.gz

statt

linux vmlinuz
initrd initrd.gz

Wenn sich die drei Dateien auf einer erweiterten Partition der MBR-Festplatte befinden, beginnt die Partitionsnummer bei 5 statt bei 1. Beispielsweise wird die erste logische Partition innerhalb der erweiterten Partition als 5 nummeriert; Die zweite logische Partition innerhalb der erweiterten Partition wird mit 6 nummeriert.

Wenn Sie eine SATA-Festplatte und eine NVMe-SSD in Ihrem Computer haben, ist die SATA-Festplatte die erste und die NVMe-SSD die zweite. Dasselbe gilt für ein USB-Laufwerk und eine NVMe-SSD.

Ich hoffe, dieses Tutorial hat Ihnen geholfen, das Debian-ISO-Image von der Festplatte zu booten, indem Sie den GRUB2-Bootloader verwenden. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten.


Debian
  1. Installieren Sie Debian Linux vom USB-Boot-Speicherstick

  2. So mounten Sie eine ISO-Datei unter Linux

  3. So füllen Sie eine Festplatte unter Linux

  4. Wie mounte ich eine ISO-Datei unter Linux?

  5. So booten Sie von ISO mit dem Grub2/Burg-Bootloader

So installieren Sie Go unter Debian 10 Linux

So mounten Sie eine ISO-Datei unter Linux

So erstellen Sie unter Linux ein ISO von einem bootfähigen USB-Laufwerk

So booten Sie von einem USB-Laufwerk in Virtualbox unter Linux

So verschlüsseln Sie Linux-Partitionen mit VeraCrypt unter Debian 10

So installieren Sie Debian Linux einfach