Legacy BIOS, UEFI und SecureBoot Ready Ubuntu Live -Bildanpassung

Legacy BIOS, UEFI und SecureBoot Ready Ubuntu Live -Bildanpassung

In diesem Artikel werden Ihnen eine Kerninformationen zum Erstellen von Startbetriebs-Ubuntu Live-individuellem Isohybrid-Image erhalten. Das Ausgabebild ist AMD64 Customized Ubuntu Live Image, das in allen drei Startmodi starten kann: Legacy BIOS, UEFI und SecureBoot.

Der Artikel wird nicht viel Details darüber eingehen, wie die tatsächliche Squashfs -Systemanpassung durchgeführt wird. Stattdessen konzentriert es sich jedoch auf alle Schritte zum Auspacken des offiziellen Ubuntu -ISO und zum Zusammensetzen aller Teile, um bootfähiges isohybrides Bild zu erzeugen, das Legacy BIOS, UEFI und Secureboot -Modi unterstützt.

Voraussetzungen

Wie immer beginnen wir mit Voraussetzungen und optionaler Paketinstallation:

$ sudo apt-Get Installieren Sie Dumpet Xorriso Squashfs-Tools Gddrescue 

Herunterladen von Ubuntu ISO Image

Der erste Teil des Erstellens Ihrer eigenen individuellen Linux -Distriation basierend auf dem Ubuntu Linux besteht darin, das offizielle Ubuntu ISO -Bild herunterzuladen. Erstellen Sie ein neues Verzeichnis Custom-Ubuntu um alle von diesem Projekt erforderlichen Dateien zu halten. EFI und seine SecureBoot -Funktion werden in der i386 -Architektur nicht unterstützt. Laden Sie daher eine AMD64 -Version des Ubuntu ISO -Images herunter und speichern Sie es innerhalb Custom-Ubuntu Verzeichnis:

$ mkdir Custom-Ubuntu $ CD Custom-Ubuntu/$ WGet http: // url/to/ubuntu/Bild.ISO 

ISO -Inhalt extrahieren

Zu diesem Zeitpunkt müssen wir alle Inhalte aus dem offiziellen Ubuntu ISO -Bild montieren und extrahieren. Dafür verwenden wir Xorriso Befehl. Das untere Xorriso Der Befehl extrahiert alle Dateien aus dem ursprünglichen ISO -Bild in Custom-ISO Verzeichnis. Z.B.:

$ xorriso -Osirrox auf -indev Ubuntu -16.04-Desktop-AMD64.ISO -Extract / Custom -Iso 

Anpassungsprozess

In dieser Phase führen Sie eine Anpassung innerhalb Custom-ISO Verzeichnis. Wie bereits erwähnt, liegt der Prozess, wie Sie Ihr Bild anpassen. Im Folgenden finden Sie einige Hinweise, um Ihnen den Einstieg zu erleichtern:

    • EFI -Bootloadermenü: Custom-ISO/Boot/Grub/Grub.CFG
    • Nichtefi-Legacy-Boot-Menü: Custom-ISO/Isolinux/txt.CFG
    • Squashfs -Dateisystem: Custom-ISO/Casper/Dateisystem.Squashfs

Um das Dateisystem des Squashfs -Dateisystems anzupassen, dekomprimieren Sie das Dateisystem.Squashfs:

$ sudo unquashfs benutzerdefinierte iso/casper/filesystem.squashfs parallel squashfs: Verwendung von 8 Prozessoren 180141 Inodes (192876 Blöcke) zum Schreiben [=======================/] 192876/192876 100% erstellt 138452 erstellt 18797 erstellt 18797 erstellt 18797 erstellt 18797 Verzeichnisse erstellt 41566 Symlinks erstellt 81 Geräte erstellt 0 FIFOS 

Geben Sie Squashfs mit Chroot Befehl, Änderungen vornehmen und beenden:

$ sudo chroot squashfs -root / # montieren keine -t proc / proc; montieren keine -t sysfs /sys; montieren keine -t -devpts /dev /pts 

Dieser Punkt Sie in der Chroot -Umgebung Ihres neuen Systems. Nehmen Sie Änderungen wie Paketinstallation vor und beenden Sie Chroot aus:

# Exit $ sudo Umo.f 

Komprimieren Sie neue Squashfs:

$ sudo mksquashfs squashfs-root/benutzerdefinierte iso/casper/filesystem.Squashfs 

Erstellen eines startfähigen Isohybrid-ISO-Bildes

Erhalten Sie Isohybrid mbr ISOHDPFX.Behälter Aus dem ursprünglichen Ubuntu ISO -Bild mit dd Befehl :

$ sudo dd if = ubuntu-16.04-Desktop-AMD64.ISO BS = 512 count = 1 von = Custom-ISO/Isolinux/ISOHDPFX.Behälter 

Bauen Sie ein neues Isohybrid -ISO -Bild von innen Custom-ISO Verzeichnis verwendet Xorriso Befehl. Beachten Sie das ".”Am Ende der der Xorriso Befehl:

$ CD Custom -ISO/ $ sudo xorriso -as mkisofs -isohybrid -MBR Isolinux/ ISOHDPFX.bin \ -c isolinux/boot.Cat -B Isolinux/Isolinux.bin -no-emul-boot -boot-load-size 4 \ -boot-info-table -eltorito-Alt-boot -e boot/grub/efi.img -no-emul-boot \ -isohybrid-gpt-basdat -o… /Custom-Ubuntu.ISO . Xorriso 1.3.2: Rockridge -Dateisystem Manipulator, Libburnia -Projekt. Laufwerk aktuell: -outdev 'Stdio:… /Custom -Ubuntu.ISO 'Medien aktuell: STDIO-Datei, überschreibbarer Medienstatus: Ist leere Medienzusammenfassung: 0 Sitzungen, 0 Datenblöcke, 0 Daten, 1444g frei hinzuge -ISO 'Xorriso: Update: 549 Dateien in 1 Sekunden hinzugefügt Xorriso: Update: 549 Dateien in 1 Sekunden hinzugefügt xorriso: Hinweis: Kopieren in den Systembereich: 512 Bytes aus der Datei/Home/Lubos/Custom-Ubuntu/Custom-ISO/ISO/ISO/ISO/Custom-ISO/ Isolinux/ISOHDPFX.bin 'libisofs: Hinweis: Automatisch angepasst MBR -Geometrie an 1017/89/32 libisofs: Hinweis: Ausgerichtete Bildgröße auf die Zylindergröße von 367 Blöcken Xorriso: Update: 100.00% Fertig ISO-Bild produziert: 724104 Sektoren geschrieben bis mittel: 724104 Sektoren bei LBA 0 Schreiben an 'Stdio:… /Custom-Ubuntu.ISO 'erfolgreich abgeschlossen. 

Der obige Befehl führt zu neu … /Custom-Ubuntu.ISO Isohybridbild.

Bildinformationen erhalten

Wenn alles gut lief, unsere Custom-Ubuntu Das Verzeichnis sollte nun ein neues Isohybridbild enthalten Custom-Ubuntu.ISO:

$ ls Custom-ISO Custom-Ubuntu.ISO Orig-ISO Squashfs-Root Ubuntu-16.04-Desktop-AMD64.ISO 

Partitionstabelle:

$ sudo fdisk -lu Custom -Ubuntu.ISO Disk Custom-Ubuntu.ISO: 1.4 Gib, 1482964992 Bytes, 2896416 -Sektoren: Sektoren von 1 * 512 = 512 Bytes -Sektorgröße (logisch/physisch): 512 Bytes/512 Bytes I/O -Größe (Minimum/Optimal): 512 Bytes/512 bytes Disklabel Typ: DOS: Festplattenkennung: 0x751e87F5 Gerätestart Startendsektoren Größen-ID-Typ Custom-Ubuntu.ISO1 * 0 2896415 2896416 1.4g 0 leerer Custom-Ubuntu.ISO2 540 5083 4544 2.2m EF EFI (FAT-12/16/32) 

Header- und Kataloginformationen:

$ sudo Dumpet -I Custom -Ubuntu.ISO -Validierungseintrag: Header -Anzeige: 0x01 (Validierungseintrag) PlattformID: 0x00 (80x86) ID: "" Checksumme: 0x55AA Schlüssel Bytes: 0x55aa Boot -Katalog -Standardeintrag: Eintrag ist bootable Startmedien -Emulationstyp: NO Emulationsmedien Ladesegment: 0x0 (0x0 (Segment 0000: 7c00) Systemtyp: 0 (0x00) Lastsektoren: 4 (0x0004) Last LBA: 701876 (0x000AB5B4) Abschnitt Header -Eintrag: Header -Anzeige: 0x91 (endgültig : "" Boot -Katalog -Abschnitt Eintrag: Eintrag ist bootfähiger Startmedienemedikamente Typ: Keine Emulationsmedienlastadresse: 0 (0x0000) Systemtyp: 0 (0x00) Ladesektoren: 4544 (0x11c0) Lade LBA: 135 (0x00000087) 

ELTORITO -Validierungsheader:

$ isoinfo -d -i Custom -Ubuntu.ISO CD-ROM befindet sich in ISO 9660 Formatsystem ID: Volumen ID: ISOImage Volume Set ID: Publisher ID: Datenvorbereitungs-ID: xorriso-1.3.2 2013.08.07.110001, libisoburn-1.3.2, libisofs-1.3.2, libburn-1.3.2 Anwendungs ​​-ID: Copyright -Datei -ID: Abstrakte Datei -ID: Bibliographische Datei -ID: Volumensatzgröße ist: 1 Volumensatzsequenznummer ist: 1 Logische Blockgröße ist: 2048 Lautstärkegröße ist: 724104 El Torito VD Version 1 gefunden, Startkatalog ist In Sektor 117 NO JOLIET JENSCHALTE ROCK RIDGE Signaturen Version 1 gefunden Eltorito -Validierungsheader: HID 1 Arch 0 (x86) ID "Key 55 aa Eltorito Standardboot -Header: Bootid 88 (bootable) Boot Media 0 (No Emulation Start) Ladesegment 0 SYS Type Type Type Typ 0 nSect 4 Bootoff AB5B4 701876 

Bootkatalog und relevante Bildwege:

# xorriso -indev Custom -Ubuntu.iso -toc -pvd_info xorriso 1.3.2: Rockridge -Dateisystem Manipulator, Libburnia -Projekt. Xorriso: Hinweis: Laden ISO-Bildbaum von LBA 0 Xorriso: Update: 549 Knoten in 1 Sekunden lang Xorriso: Hinweis: Angehörige El-Torito-Startinformationen, die derzeit so verworfen werden sollen.ISO 'Medien aktuell: STDIO -Datei, überschreibbarer Medienstatus: Ist geschrieben, ist an empfangenbarer Startaufzeichnung: El Torito, Isolinux Isohybrid MBR Zeigt auf Startbildmedienzusammenfassung: 1 Sitzung, 724104 Datenblöcke, 1414m Daten, 1442G freie Volumen -ID:' ISOimage 'Drive Current: -indev' Custom -Ubuntu.ISO 'Laufwerkstyp: Anbieter' Yoyodyne 'Produkt' Warp Drive 'Revision' FX01 'Medien aktuell: STDIO -Datei, überschreibbarer Medienstatus: Wird geschrieben, ist angehört Medienblöcke: 724104 lesbar, 755967444 Beschreibbar, 756691572 Gesamtbartaufzeichnung: El Torito, Elorito, Isolinux Isohybrid MBR Zeigt zum Boot -Bild -Boot -Katalog: '/isolinux/boot.Katze 'Boot -Bild:'/Isolinux/Isolinux.bin ', boot_info_table = auf Boot Image:'/boot/grub/efi.IMG ', Plattform_id = 0xef TOC Layout: IDX, SBECTOR, Größe, Volumen -ID -ISO -Sitzung: 1, 0, 724104s, ISOImage Media Summary: 1 Sitzung, 724104 Datenblöcke, 1414m Daten, 1442g freie Medien NWA: 724128S Drive Current: - Indiev 'Custom-Ubuntu.ISO 'PVD-Adresse: 16S-Volumen-ID: ISOimage Volume Set ID: Publisher ID: Preparer ID: Xorriso-1.3.2 2013.08.07.110001, libisoburn-1.3.2, libisofs-1.3.2, libburn-1.3.2 App ID: System ID: CopyrightFile: Abstract Datei: Biblio -Datei: Erstellungszeit: 2016020823095700 Modif. Zeit: 2016020823095700 Ablauf. Zeit: 0000000000000000 EFF. Zeit: 0000000000000000 

Booten eines neuen benutzerdefinierten Ubuntu -Bildes

Bitte beachten Sie, dass das neue erzeugte benutzerdefinierte Ubuntu -Bild in allen drei Modi starten soll, dh Legacy BIOS, nur UEFI sowie UEFI mit der Option SecureBoot aktiviert. Dies ist jedoch nicht garantiert, und es können Probleme aufgrund der Hardware -Firmware -Fehler usw. auftreten.

Um Ihr neues benutzerdefiniertes Ubuntu -Bild zu starten, verbrennen Sie entweder das Ergebnis ISO auf CD -Festplatten oder verwenden Sie Ddrescue Befehl, es an Ihren USB -Stick zu klonen:

$ sudo ddrescue custom-Ubuntu.ISO /Dev /SDX -Force -d 

Ihr USB -Stick enthält jetzt angepasstes Ubuntu -Live -System. Alles sollte jetzt bereit sein, von Ihrem USB -Stick aus zu starten.

Verwandte Linux -Tutorials:

  • So montieren Sie das ISO -Bild unter Linux
  • Ubuntu 20.04 Download
  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Erstellen Sie Manjaro Linux bootable USB
  • Ubuntu 20.04 Leitfaden
  • So erstellen Sie einen bootfähigen USB von einer ISO unter Linux aus
  • So öffnen Sie ISO -Dateien unter Ubuntu Linux
  • Dinge zu installieren auf Ubuntu 22.04
  • Erstellen Sie bootfähige Ubuntu 22.04 USB -Startplatte