Ubuntu Live USB-Flash-Laufwerk mit persistenter casper-rw-Partition kann nicht gestartet werden


11

Ich habe den letzten Tag damit verbracht, ähnliche Fragen zu beantworten, und kann zunächst bestätigen, dass dies kein Duplikat von:

Damit aus dem Weg: Ich habe mit UNetbootin und dem Ubuntu Startup Disk Creator ein Ubuntu 14.04.03 Live USB-Flash-Laufwerk (32 GB) erstellt. In beiden Fällen konnte ich meine Ubuntu-ISO erfolgreich bereitstellen ( was ich durch md5sumAnalyse bestätigt habe ). In beiden Fällen funktionierte die Persistenz erfolgreich (ich musste sie manuell aktivieren, wenn ich Ubuntu Startup Disk Creator verwendete, aber UNetBootin fügt das -persistentKernel-Argument automatisch hinzu syslinux.cfg), keine Probleme.

Ich benötige eine Persistenzdatei mit mehr als 4 GB , da ich eine Reihe dieser Flash-Laufwerke für Field Application Engineers (FAEs) erstelle, und sie müssen in der Lage sein, sie unterwegs zur Diagnose von Installationen für benutzerdefinierte Systeme in meinem Unternehmen zu verwenden unterstützt derzeit. Es ist in Ordnung, wenn sie aufgrund übermäßiger Schreibzyklen durchbrennen und jede FAE bei Bedarf für jede Fahrt ein Dutzend davon erhält.

Außerdem müssen wir die erste Partition auf der Festplatte als FAT-Partition behalten, falls die FAE Dateien von Windows, Mac, Linux usw. auf die Festplatte ablegen muss, da Windows-Computer die Bereitstellung von FAT-Partitionen auf einem Flash-Laufwerk nur ablehnen sind die erste und einzige FAT-Partition auf der Festplatte.

Ich habe die Schritte in den folgenden Artikeln ausprobiert:

Die Anweisungen waren klar:

  1. Erstellen Sie mit Ubuntu ein Live-USB-Flash-Laufwerk, und lassen Sie Platz für eine zusätzliche Partition.
  2. Löschen Sie die casper-rwLoopback-Datei auf der ersten FAT-Partition auf dem Flash-Laufwerk.
  3. Verwenden Sie diese Option gparted, um eine ext2/ext3/ext4Partition nach der FAT-Partition zu erstellen und ihr ein Volume-Label von zu geben casper-rw.

Ich habe alle empfohlenen Schritte befolgt, aber das Booten schlägt fehl. Wenn ich versuche, von meinem neu erstellten Flash-Laufwerk zu booten, werde ich zu einer Eingabeaufforderung weitergeleitet, anstatt Ubuntu ordnungsgemäß zu starten, obwohl ich kurz die grafische Animation des Ubuntu-Startbildschirms sehe .

dmar: IOMMU: failed to map dmar0
ACPI PCC probe failed.

BusyBox v1.12.1 (Ubuntu 1:21.0-1ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) _

Ich habe den Ubuntu-Bug-Tracker durchgesehen und es scheint, dass dieses Problem von zahlreichen anderen beobachtet wurde:

Und dass es gelöst wurde, sollte ich erwarten, dass das Update bereits in meinem Ubuntu 14.04.03-Image enthalten ist:

Ich habe auch versucht, meine Kernel-Boot-Parameter zu aktualisieren, indem LIVE-MEDIA=/dev/sdd1ich (in meinem Fall) beim Booten einfügte TAB, indem ich drückte , dh:

kernel /casper/vmlinuz.efi initrd=/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper LIVE-MEDIA=/dev/sdd1 -- persistent

Dieses Mal findet es zumindest die Startpartition und versucht, das Live-USB-Laufwerk zu starten, scheint jedoch auf dem Weg dorthin mit einer Reihe von "casper" -bezogenen Warnungen fehlzuschlagen. Ich kann diese Protokolle anscheinend nicht speichern, daher kann ich sie derzeit nicht bereitstellen. Meine aktuellen Standard-Kernel-Argumente sind:

label ubnentry1
menu label ^Try Ubuntu without installing
kernel /casper/vmlinuz.efi
append initrd=/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper  quiet splash -- persistent

Wie kann ich dieses Problem beheben?

Vielen Dank.


Versuchen Sie es mit:unetbootin
SudoSURoot

@SudoSURoot Ich habe erwähnt, dass ich dieses Tool im obigen Beitrag verwendet habe.
Wolke

2
Verwenden Sie ein Gigabyte-Motherboard? Sie erfordern IOMMU-Einstellungen in UEFI / BIOS und / oder Startparameter, um zu funktionieren. ubuntuforums.org/showthread.php?t=2292025
oldfred

1
Ich habe das gleiche Problem und habe versucht, auf verschiedenen Computern (Intel NUC und Thinkpad) zu booten. Schließlich habe ich die casper-rw-Datei neu erstellt und die zusätzliche Partition home-rw beschriftet. Dieses Mal scheint es gut zu funktionieren ...
Vmalep

1
Seit 14.04 scheint home-rw nur Daten in Home-Ordnern zu speichern, einschließlich Desktop, Dokumente, Downloads, Musik usw. Wenn es die erste dauerhafte Partition ist, die gestartet wird, werden auch Desktop-Hintergründe gespeichert, jedoch kein drahtloses Kennwort usw. home-rw ist nicht gleichbedeutend mit / home in einer vollständigen Installation.
CSCameron

Antworten:


8

Wie im vorherigen Kommentar erwähnt, hängt dies mit dem Fehler https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1489855 zusammen. "Die Reihenfolge der Bereitstellung wurde von der Root-Partition und dann der persistenten Partition (15.04) geändert 1. persistente dann Root-Partition (16.04) aus irgendeinem Grund. "

Es gibt eine kürzlich im Thread aktualisierte Problemumgehung für den Fehler, auf die ich weiter unten näher eingehen werde, da der andere Thread nicht so gut sichtbar zu sein scheint (wird in der Google-Suche niedriger angezeigt, als ich versucht habe, ihn zu beheben). .

  1. Erstellen Sie Partitionen casper-rw und OS

  2. Verwenden Sie das universelle USB-Installationsprogramm usw., um die Betriebssystempartition mit einer casper-rw-Datei einzurichten, die groß genug ist, um Änderungen vornehmen zu können.

  3. Starten Sie mit dem neuen USB. /usr/share/initramfs-tools/scripts/casperZum Bearbeiten mit root öffnen (sudo). Ändern Sie die Funktion setup_unionfs () wie folgt: https://launchpadlibrarian.net/258626969/casper%20function.txt

  4. sudo update-initramfs -u (Musste Cryptsetup deinstallieren, um dies zu tun)

  5. Kopieren Sie die generierte Datei initrd.img von /booteinem anderen Speicherort.

  6. Löschen Sie von einem anderen Betriebssystem aus die casper-rw- Datei auf dem USB-Stick. Kopieren Sie die Datei initrd.img zurück in die Live-Partition und ändern Sie den Menüpunkt, um die neu erstellte Datei initrd.img zu verwenden.

Wenn Sie das nächste Mal von USB starten, sollte es jetzt von der casper-rw- Partition starten .

Dies funktionierte für mich am 16.04 nach einer langen frustrierenden Zeit auf der Suche nach der Lösung!


1
Bitte fügen Sie im fünften Schritt weitere Details hinzu. Sie sagen, Sie löschen und starten es dann?
userDepth

@userDepth booten Sie in Windows oder einem anderen Betriebssystem (nicht dem neuen Live-USB, den Sie erstellen) und schließen Sie Ihren neuen USB an. Löschen Sie die casper-rw-Datei. Fahren Sie dann herunter und starten Sie den neuen USB-Stick. Von nun an sollten automatisch Änderungen an der casper-rw-Partition gespeichert werden.
Yujia21

Hallo Yu, ich habe dies auf einem 64-Bit-Image vom 16.04 versucht und es funktioniert nicht. Kannst du erklären, was du damit meinst ? Musste Cryptsetup deinstallieren, um dies zu tun ?
Kirtan403

Schritt 4 gab mir ein paar Warnungen .. Aber ich habe diese nicht erfasst .. Und es ist fehlgeschlagen .. Ich mache es noch einmal, um dies eine weitere Chance zu geben
kirtan403

Keine Warnungen .. Hat nicht funktioniert .. Wieder am BusyBox-Bildschirm
hängen

4

Aktualisierungen der Antwort von Yu Jia ... Vielen Dank an Yu Jia, dass sie in die richtige Richtung gezeigt haben.

1) Verwenden Sie zuerst die Datei casper-rw, um das Problem mit der casper-rw-Partition zu vermeiden. 500 MB oder weniger sind gut genug.

2) Starten Sie mit dem neuen USB. Öffnen Sie / usr / share / initramfs-tools / scripts / casper mit dem zu bearbeitenden Root (sudo). Ändern Sie die Funktion setup_unionfs () wie folgt: https://launchpadlibrarian.net/258626969/casper%20function.txt

3) sudo update-initramfs -u (Warnung von cryptsetup, kann aber ignoriert werden.)

4) Kopieren Sie die generierte Datei "initrd.img.4.4 .... generic" von / boot an einen anderen Speicherort. Benennen Sie es in initrd.img um.

5) Löschen Sie von einem anderen Betriebssystem aus die casper-rw-Datei auf dem USB-Stick.

6) Kopieren Sie die Datei initrd.img zurück in die Live-Partition und ändern Sie den Menüpunkt, um die neu erstellte Datei initrd.img zu verwenden. z.B

label ubnentry1
menu label ^Ubuntu 16.04
kernel /casper/vmlinuz.efi
append initrd=/newly_generated_initrd.img file=/cdrom/preseed/ubuntu.seed boot=casper  quiet splash -- persistent

Hmm, Ihre Antwort ist der von Yu Jia so ähnlich, dass Sie meiner Meinung nach eine Änderung ihrer Antwort vorschlagen sollten, anstatt Ihre eigene Antwort zu schreiben.
Edwinksl

4

mkusb version 11 classic und version 12 alias mkusb-dus kann mit allen aktuellen Ubuntu-Versionen und -Varianten sowie mit Debian Jessie automatisch ein dauerhaftes Live-Laufwerk erstellen.

mkusb verwendet eine casper-rwPartition

mkusb funktioniert auch mit einigen von Ubuntu abgeleiteten Linux-Distributionen. Ich habe nicht mit den neuesten Linux Mint-Versionen getestet, aber es funktioniert mit früheren Versionen, da die Boot-Struktur Ubuntu ähnlich genug ist / war.

Geben Sie hier die Bildbeschreibung ein

Installieren Sie mkusb mit den folgenden Befehlszeilen in Ubuntu und den Ubuntu-Varianten (Kubuntu, Lubuntu ... Xubuntu).

Wenn Sie Standard-Ubuntu ausführen, benötigen Sie eine zusätzliche Anweisung, um das Repository-Universum abzurufen. (Kubuntu, Lubuntu ... Xubuntu hat das Repository-Universum automatisch aktiviert.)

sudo add-apt-repository universe  # only for standard Ubuntu

sudo add-apt-repository ppa:mkusb/ppa  # and press Enter
sudo apt-get update
sudo apt-get install mkusb mkusb-nox usb-pack-efi

Siehe diese Links,

mkUSB-Schnellstart-Handbuch.pdf

help.ubuntu.com/community/mkusb

help.ubuntu.com/community/mkusb/persistent

help.ubuntu.com/community/mkusb/install-to-debian

Das Herunterladen und Verwenden von mkusb-installer funktioniert mit mehreren anderen Linux-Distributionen. Verwenden Sie einen der folgenden Links (und Methoden):

help.ubuntu.com/community/mkusb/gui#from_phillw.net

help.ubuntu.com/community/mkusb/gui/tarball


1
+1 mkusb hat nur ein Kontrollkästchen, um die USB-Live-Festplatte dauerhaft zu machen, dh was Sie in der heutigen Sitzung eingerichtet haben, ist beim Neustart noch vorhanden.
WinEunuuchs2Unix

Ja, mkusb funktioniert. Ich habe es mit Ubuntu 17.10 versucht und hatte mit www.pendrivelinux.com keinen großen Erfolg für mehr als 4 GB persistenten Speicher (wird wirklich benötigt, um Updates usw. zu erhalten (zumindest für temporären Speicher während des Update-Vorgangs)). Auf einem 16-GB-USB-Flash-Laufwerk hat / cow eine Größe von ca. 10,5 GB (casper-rw- Partition , keine Datei) und wird derzeit nach einem Update und einer anderen Verwendung zu 36% ausgelastet .
Peter Mortensen

2

Ich hatte kein Problem damit, das pendrive zu erstellen und zu booten ... Haben Sie das perndrive wie folgt erstellt?

Der Prozess umfasst 3 Schritte:

  1. Partitionierung des Pendrive.
  2. Erstellen eines bootfähigen Pendrives mit dem Universal USB Installer .
  3. Hinzufügen von Flags zur UUI-Partition und Abschluss des Partitionierungsprozesses.

Schritt 1:

Öffnen Sie GParted und partitionieren Sie das Pendrive wie folgt:

Geben Sie hier die Bildbeschreibung ein

Nicht zugewiesene Partitionen werden später in Schritt 3 hinzugefügt, SDC2 ist für Ubuntu und SDC3 ist für die Persistenz. Da dies ein 8-GB-Laufwerk ist, habe ich 3,32 GB als dauerhaftes Laufwerk verwendet, kann aber mit jeder Größe verwendet werden. Beschriften Sie diese Partition als casper-rw .

Schritt 2:

Fügen Sie das Pendrive in einen Windows-Computer ein. Das zweite Laufwerk (dh Label-OS) wird erkannt. Installieren Sie Ubuntu mit dem Universal USB Installer auf diesem Laufwerk.

Geben Sie hier die Bildbeschreibung ein

Stellen Sie eine kleine persistente Datei ein, ich habe 204MB verwendet. Die Größe spielt keine Rolle, da wir sie sowieso in Schritt 3 löschen werden. Klicken Sie auf Erstellen .

Schritt 3:

Fügen Sie das Pendrive wieder in ein Ubuntu-System ein und ändern Sie die Partitionstabelle wie folgt:

Geben Sie hier die Bildbeschreibung ein

Klicken Sie nun für den letzten Teil mit der rechten Maustaste auf die 2. Partition und wählen Sie Flags verwalten . Überprüfen Sie Boot und lba .


Jetzt haben Sie ein Pendrive, dessen erste Partition in Windows erkannt wird, und ein dauerhaftes Laufwerk, das größer als 4 GB ist.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein


2
Permanente Partitionen funktionieren gut mit SDC / Unetboot in 32-Bit-Installationen, jedoch nicht mit 64-Bit-Installationen für 14.04 und höher. 64-Bit-Grub2 / ISO (Multiboot-Typ) installiert die Arbeit mit persistenten Casper-RW-Partitionen.
CSCameron


2

Ich habe es gerade geschafft, dies mit viel Hilfe aus diesen sehr hilfreichen Antworten zu erreichen.

Als Referenz habe ich einen Kingston Data Traveller mit 16 GB mit einem benutzerdefinierten ISO-Image eingerichtet, das ich zuvor mit SystemBack erstellt hatte.

Das Betriebssystem, an dem ich arbeite, ist Lubuntu, und meine benutzerdefinierte ISO hatte viele Änderungen an Softwarepaketen (ich habe viel Gumpf entfernt und einige notwendige Dienstprogramme installiert).

Ich begann mit der Verwendung der sehr nützlichen Anweisungen von araghuteja und richtete mein Gerät mit drei Partitionen ein:

  • 4 GB für die Windows zugängliche FAT32-Partition ( /dev/sdc1)
  • 2 GB für das Betriebssystem ( /dev/sdc2)
  • Der Rest (unter 8 GB, aber ungefähr das) als casper-rw-Partition ( /dev/sdc3)

Dies hat leider nicht ganz funktioniert, da es nicht ausreicht , nur die casper-rw- Datei von der Betriebssystempartition zu entfernen .

Die wirkliche Hilfe kam von Yu Jia Cheong und StarBloom, wo sie erklären, wie der GRUB-Bootloader zurückgesetzt wird, um die casper-rw- Partition zu "sehen" .

Ich musste einige Details machen, die Yu Jias Anweisungen etwas klarer machen könnten. (Bitte beachten Sie, dass diese Anweisungen möglicherweise nicht vollständig für das Standard-Ubuntu-ISO-Image geeignet sind, da ich denke, dass einige der Dateispeicherorte durch die Systemback-Konfiguration geändert werden können.)

Insbesondere - in Teil 5 die von

sudo update-initramfs -u

wurde initrd.img-4.4.0-47-generic genannt .

Also - ich habe diese Datei auf meine 'casper-rw'-Partition kopiert, aber dann habe ich festgestellt, dass mein GRUB-Startmenü auf /casper/initrd.gz (an vier Stellen) verweist, das sich in / boot / grub auf der UUI-Partition befindet.

Also - ich habe mein initrd.img-4.4.0-47-generic in initrd.gz umbenannt und die Datei in UUI / boot / grub / casper / ersetzt (offensichtlich eine Kopie der alten Datei für alle Fälle behalten!).

Mit diesem speziellen USB-Stick gestartet und df -him Stammordner "Maschine" verwendet, erhalte ich Folgendes:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             16G  4.0K   16G   1% /dev
tmpfs           3.2G  1.6M  3.2G   1% /run
/dev/sdb1       2.0G  1.3G  729M  65% /cdrom
/dev/loop0      1.3G  1.3G     0 100% /rofs
/cow            8.2G  118M  7.7G   2% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
tmpfs            16G  4.0K   16G   1% /tmp
none            5.0M     0  5.0M   0% /run/lock
none             16G     0   16G   0% /run/shm
none            100M   16K  100M   1% /run/user
/dev/sdb3       4.0G  4.0K  4.0G   1% /media/silver/DATA
/dev/sdb2       8.2G  118M  7.7G   2% /media/silver/casper-rw

Ich gehe davon aus, dass / cow die Casper Live Partition ist und die richtige Größe anzeigt.

Ich finde es interessant, dass ich die casper-rw-Partition tatsächlich als / dev / sdb2 sehen kann, wenn ich die Maschine benutze - ist das richtig?

Ich bin auch nicht von der 3-Wege-Partitionierung überzeugt. In Windows (10) kann ich sehen , nur die OS - Partition, nicht auf die Datenpartition.

Vielen Dank an alle und ich hoffe, meine Erfahrung hilft jemand anderem! (Hinweis - Ich bin für die Verwendung von Stack Exchange so neu, dass ich keinen Kommentar abgeben kann. Daher ist meine Antwort neu und kein Kommentar zu Yu Jias.)

Aktualisieren

Ich versuche dies erneut, um eine weitere 'Pen-Machine' zu erstellen, und ich habe festgestellt, dass je größer Ihr ISO-Image ist, desto mehr Platz müssen Sie für die casper-rw- Datei erstellen , wenn Sie den UUInstaller ausführen.

Mein neuestes ISO-Image ist ungefähr 3,8 GB (es ist ein angepasstes Ubuntu 16.04). Nach drei Versuchen muss ich die anfängliche Betriebssystempartition mit 5 GB erstellen und im Installationsprogramm eine Persistenzeinstellung von 1 GB verwenden. Andernfalls geht Ihnen beim Aktualisieren der Speicherplatz aus Die initramfs-Funktionen.

Hinweis - Ich habe endlich die Betriebssystempartition auf 8 GB eingestellt, um sicherzugehen, dass ich Platz habe!


1

Es scheint, dass der Startvorgang unmittelbar nach dem Laden der ersten RAM-Disk unterbrochen wird. Dies liegt an dem Fehler beim Mounten des Root-Dateisystems (filesystem.squashfs). Da vor dem Bearbeiten der Partition alles einwandfrei funktioniert, können einer oder mehrere der folgenden Gründe für den Fehler verantwortlich sein.

  • Änderung der UUID.
  • Beschädigte Datei (en) (filesystem.squashfs, vmlinuz)
  • Beschädigtes Dateisystem

Versuchen:

  • Formatieren Sie die Boot-Partition (mit ext3) (jetzt haben Sie drei Partitionen wie zuvor).
  • Erstellen Sie das Live-System mit UNetbootin mit der Persistenzoption neu.
  • Löschen Sie die Persistenzdatei (damit die Persistenzpartition verwendet wird).

1

Ich hatte ein ähnliches Problem mit dem ISO-Image von Lubuntu 14.04.3 i386 und gab auf. Ich habe dann das Lubuntu 15.04 AMD64 ISO-Image ausprobiert (ich hatte am 15.04 wegen eines Fehlers, der beim Booten auftritt, aufgegeben, aber es stellt sich heraus, dass es nur ein kleines Problem ist * ).

Die casper-rwPartition funktioniert mit dem späteren System einwandfrei (gemäß den üblichen Anweisungen). Es scheint also, dass das Problem nichts mit dem Prozess zu tun hat, sondern mit einem Problem, das für einige 14.04 ISO-Images spezifisch ist.

Ich hatte zuvor erfolgreich ein Lubuntu 14.04-System mit einer casper-rwdauerhaften Partition installiert , daher weiß ich, dass das ursprüngliche 14.04 funktioniert hat. Vielleicht ist es nur der 14.04.3, der das Problem darstellt?

* Wenn Sie 15.04 verwenden und beim Booten auf das Problem "Fehlender Parameter in Konfigurationsdatei ..." stoßen, geben Sie "live" ein und geben Sie ein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.