Wie umgehe ich den Bildschirm „Try it / Install“ beim Booten von einer USB Live Session? (ohne in den USB zu installieren)

35

Dies wurde bereits mehrmals gefragt (ich habe es hier , hier und hier gefunden ), aber im Grunde empfiehlt jeder einfach, eine vollständige Installation auf dem USB-Stick durchzuführen. Aber ich brauche es aus einer Reihe von Gründen, um als LIVE-Sitzung zu bleiben, nicht als "vollständige Installation auf USB" (die wichtigste davon ist, dass ich Ubuntu mithilfe der Live-Sitzung mithilfe des Desktopsymbols einfach installieren kann).

Meine Einschränkungen für das Überspringen des Begrüßungsbildschirms (und die automatische Auswahl der Option "Ubuntu testen") sind:

  • Es muss tatsächlich die Ubuntu Live-Sitzung sein (oder so nah wie möglich an der Standardsitzung). Gleiche Softwareauswahl (gparted ist in Live-Sessions vorhanden, gimp beispielsweise nicht), Benutzer (Name und ID), Verhalten (kein Anmeldebildschirm, kein Passwort für sudo, um nur einige zu nennen), kein GRUB usw. Das schließt aus eine Ubuntu-Vollinstallation auf USB.

  • Es muss in der Lage sein, Ubuntu auf dem Computer zu installieren (für die vollständige Installation sind die ISO-Datei, ein zusätzlicher USB-Stick und der Aufwand von Startup Disk Creator erforderlich).

  • Wenn möglich, um so schnell wie der "textbasierte Launcher" zu sein (derjenige, den Sie haben, wenn Sie eine Taste direkt nach dem Laden des Kernels drücken)

  • Es muss vollautomatisch und vom Start bis zum Desktop unbeaufsichtigt sein.

  • Wählen Sie eine andere Sprache als die Standardsprache. Es kann sich um eine Auswahl mit festem Kabel handeln (tatsächlich muss dies der Fall sein, da der Start selbst völlig unbeaufsichtigt sein soll). Aber am besten einfach ändern ("leicht" wie beim Bearbeiten einer Konfigurationsdatei, dann Neustart)

Ist es möglich?

Die vorgeschlagenen (großartigen) Lösungen, die ich bisher ausgeschlossen habe, sind:

  • Ubuntu auf dem USB-Stick installieren (aus allen oben genannten Gründen)

  • UbiquityPaket entfernen (entfernt die Möglichkeit, das System auch von diesem USB zu installieren)

  • Ubuntu Customization Kit (ubk): verschiedene Einschränkungen und Vorbehalte , und es ist nicht einmal in den Repos

  • Remastersys / LiLi: Es ist dasselbe wie die vollständige direkte USB-Installation, nur angepasst.

Eine ideale Lösung wäre etwa "USB sick mit Startup Disk Creator erstellen, dann öffnen und Datei (en) xxx, yyy, zzz entfernen / bearbeiten / hinzufügen".

MestreLion
quelle
Ich habe den Code auf meinem USB-Stick, den ich in syslinux.cfg hatte, durch den vorgeschlagenen ersetzt, aber ich erhalte trotzdem die Aufforderung. (Originalzeilen: vesamenu.c32 prompt 0 timeout 50 ui gfxboot bootlogo) Ist es möglich, dass ich etwas mit der txt.cfg machen sollte (unten): label persist menu label ^ Persist mode kernel / casper / vmlinuz append bootkbd = us console- setup / layoutcode = de_DE console-setup / variantcode = nodeadkeys locale = de_DE persistent noprompt cdrom-detect / try-usb = true file = / cdrom / preseed / ubuntu.seed boot = casper initrd = / casper / initrd.lz splash - label live menu label ^ Live-Modus kernel / casper / vmlinuz append
user142859

Antworten:

41

Diese Anleitung wurde für Ubuntu (Gnome) erstellt. Mit wenigen Ausnahmen funktioniert es auch für Kubuntu (KDE)

Ich war in der Lage, den Start der Live-CD direkt in eine Live-Sitzung ohne Zeitlimit oder ausgefallenes Menü zu bringen, optional mit einem installierten Sprachpaket.

Live USB (16.04)

  1. Mounten Sie den USB mit Ubuntu
  2. Sichern Sie die Datei syslinux/syslinux.cfg. Wir werden es so modifizieren, dass wir es zurücksetzen müssen, wenn etwas schief geht.
  3. Öffnen Sie die folgenden Dateien im Syslinux-Verzeichnis: syslinux.cfgund txt.cfg
  4. Löschen (oder kommentieren) Sie alles in syslinux.cfg.
  5. Die txt.cfgDatei enthält die Standard-GRUB-Menüeinträge. Kopieren Sie die Live-Version nach syslinux.cfg:

    default live
    label live
    menu label ^Try Ubuntu without installing
    kernel /casper/vmlinuz.efi
    append file=/cdrom/preseed/ubuntu.seed boot=casper cdrom-detect/try-usb=true persistent noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
    
  6. Sie können in der Append-Zeile alle spezifischen Kernel-Parameter hinzufügen, die für Ihr Gerät erforderlich sind.

  7. Speichern Sie isolinux.cfg und starten Sie Ihr System über USB. Es wird jetzt direkt auf dem Desktop gestartet.

Live USB (13.10)

  1. Mounten Sie den USB mit Ubuntu
  2. Sichern Sie die Datei isolinux/isolinux.cfg. Wir werden es so modifizieren, dass wir es zurücksetzen müssen, wenn etwas schief geht.
  3. Öffnen Sie die folgenden Dateien im Verzeichnis isolinux: isolinux.cfgund txt.cfg
  4. Alles in löschen isolinux.cfg.
  5. Die txt.cfgDatei enthält die Standard-GRUB-Menüeinträge. Kopieren Sie die Live-Version nach isolinux.cfg:

    default live
    label live
    menu label ^Try Ubuntu without installing
    kernel /casper/vmlinuz.efi
    append file=/cdrom/preseed/ubuntu.seed boot=casper cdrom-detect/try-usb=true persistent noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
    
  6. Sie können in der Append-Zeile alle spezifischen Kernel-Parameter hinzufügen, die für Ihr Gerät erforderlich sind.

  7. Speichern Sie isolinux.cfg und starten Sie Ihr System über USB. Es wird jetzt direkt auf dem Desktop gestartet.

[ Quelle ]

Live USB (11.04)

  1. Wechseln Sie in den Stammordner Ihres Live USB
  2. Geben Sie das syslinuxVerzeichnis ein
  3. Machen Sie die syslinux.cfgDatei beschreibbar
  4. Ersetzen Sie den Inhalt der Datei syslinux.cfgdurch:

    default live
    label live
      say Booting an Ubuntu Live session...
      kernel /casper/vmlinuz
      append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash noprompt --
    
  5. Optional: Lokalisieren Sie das System (siehe unten)

Live-CD

  1. Wenn Sie eine Live-CD in Ihr CD-Laufwerk eingelegt haben, hängen Sie diese ein. Wenn Sie eine ISO-Datei zur Verfügung haben, hängen Sie diese an, /media/cdromindem Sie den nächsten Befehl in einem Terminal ausführen (ersetzen Sie den Namen der .isoDatei entsprechend):

    sudo mount -o loop,ro ubuntu-11.04-desktop-amd64.iso /media/cdrom
    
  2. Erstellen Sie ein temporäres Verzeichnis, in dem der CD-Inhalt gespeichert werden kann, z. B. ~/live-cd( mkdir ~/live-cd)
  3. Kopieren Sie den Inhalt der CD in den Ordner ~/live-cd/iso( cp -r /media/cdrom ~/live-cd/iso)
  4. Da die Live-CD nicht mehr benötigt wird, kann sie abgemeldet werden ( sudo umount /media/cdrom)
  5. Öffne den ~/live-cd/isoOrdner ( cd ~/live-cd/iso)
  6. Geben Sie das isolinuxVerzeichnis ein ( cd isolinux)
  7. Machen Sie die isolinux.cfgDatei beschreibbar ( chmod u+w isolinux.cfg)
  8. Ersetzen Sie den Inhalt der Datei isolinux.cfgdurch:

    default live
    label live
      say Booting an Ubuntu Live session...
      kernel /casper/vmlinuz
      append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
    
  9. Optional: Lokalisieren Sie das System (siehe unten)
  10. Öffnen Sie ein Terminal und führen Sie Folgendes aus:

    cd ~/live-cd
    chmod u+w iso/isolinux/isolinux.bin
    mkisofs -r -V "Ubuntu Live session" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-11.04-live-amd64.iso iso
    
  11. Die neue ISO wird unter verfügbar sein ~/live-cd/ubuntu-11.04-live-amd64.iso. Um Platz zu sparen, kann das ~/live-cd/isoVerzeichnis entfernt werden. ( rm -rf ~/live-cd/iso)
  12. Brennen Sie nun die ubuntu-11.04-live-amd64.isoDatei bei Bedarf auf eine CD.

Ubuntu lokalisieren (Übersetzungen)

Wenn Sie das System in den Sprachen Englisch, Spanisch, Portugiesisch, Xhosa oder vereinfachtes Chinesisch wollen, müssen Sie nur noch die Add - locale=Boot - Option mit en, es, pt, xhoder zhauf die appendLinie , wie in:

... quiet splash locale=pt --

Andernfalls filesystem.squashfslesen Sie weiter , wenn Sie die Datei mit dem Root-Dateisystem ( ) nicht ändern möchten und nichts dagegen haben, herumzuhacken.

Öffnen Sie ein Terminal und navigieren Sie zu dem ~/live-cd/isoVerzeichnis. Fügen Sie den Code von http://pastebin.com/VTdt9WFZ in eine Datei ein (benennen Sie sie install-locale) und führen Sie ihn aus.

Dieses Skript hängt die filesystem.squashfsVersionsinformationen der Sprachpakete ein, lädt die Pakete herunter und legt sie im Verzeichnis ab locale-hack. Als nächstes wird ein Skript erstellt, das die Sprachpakete beim Booten installiert. Damit dies funktioniert, ändert das Skript auch die Datei syslinux.cfgoder isolinux.cfg, um diese Änderungen zu übernehmen.

Sie werden nach einem Gebietsschema gefragt, geben Sie etwas wie nloder ein de. Das Skript ist nicht so schlau, Dinge wie Dutchoder zu verstehen German. Danach kann die Datei entfernt werden

Die Terminalbefehle, die ausgeführt werden sollen:

cd ~/live-cd/iso
wget http://pastebin.com/raw.php?i=VTdt9WFZ -O install-locale
bash install-locale
rm install-locale

Beachten Sie, dass das Hinzufügen eines Sprachpakets dazu führen kann, dass die generierte .isoDatei größer als 700 MB ist und nicht auf eine CD passt. Für virtuelle Maschinen reicht es jedoch aus. Dieser Hack hat als Nebeneffekt, dass Plymouth nicht funktioniert (dh Sie bekommen keinen ausgefallenen Boot-Bildschirm), aber zumindest das System wird beim Einloggen übersetzt. Ansonsten mussten Sie language-pack-gnome-*manuell installieren .

Verweise

Lekensteyn
quelle
+1 dafür! Es funktionierte! (unter Verwendung der Live-USB-Methode). Ich werde auch erwägen noprompt cdrom-detect/try-usb=true, die appendZeile zu ergänzen, da dies so ist txt.cfg. Wissen Sie, was diese zusätzlichen Parameter bewirken? Kann die Lösung auch um die Sprache erweitert werden?
MestreLion
nopromptFährt das System herunter, ohne nach dem Entfernen der CD zu fragen. Ich habe das der Live-USB-Linie hinzugefügt, da es bei USB-Medien keinen Sinn ergibt. Ich weiß nicht was cdrom-detect/try-usb=true. Aufgrund der Größe der Live-CD sind nicht alle Sprachpakete standardmäßig enthalten. Übergeben Sie die locale=nl_NLOption in der appendZeile , um ein anderes Gebietsschema festzulegen (z. B. NL) . Dadurch wird das Gebietsschema festgelegt, jedoch nicht die Sprache für Gnome, da das Paket auf der Live-CD einfach nicht verfügbar ist.
Lekensteyn
@MestreLion: aktualisiert mit einem Hack für eine lokalisierte Umgebung.
Lekensteyn
@Lekensteyn: Die Pakete sind auf der Live-CD verfügbar. Wenn Sie eine andere Sprache auswählen, startet Ubuntu die Live-Sitzung in dieser Sprache. Ich versuche deinen Vorschlag über locale=pt_BR. Vielleicht ist das alles was benötigt wird.
MestreLion
@MestreLion: nicht wirklich, ich habe es mit beiden locale=nlund dem Sprachauswahlmenü unter Try / Install getestet . In beiden Fällen habe ich ein englisches Layout erhalten, obwohl der localeBefehl ausgegeben wird nl_NL.UTF-8.
Lekensteyn
1

Das Obige funktioniert sowohl für Startup Disk Creator- als auch für UNetbootin-Installationen. Wenn Sie ein persistentes Flash-Laufwerk verwenden, möchten Sie das Wort persistent folgendermaßen hinzufügen:

default live
label live
  say Booting an Ubuntu Live session...
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash noprompt --

Bei einem 64-Bit-System ist der Code etwas anders

default live
label live
  say Booting an Ubuntu Live session...
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash noprompt --
CSCameron
quelle
Unterscheidet sich dies von der Antwort von Lekensteyn in Verbindung mit seinem Kommentar vom 20. Juni 11 um 8:08 Uhr?
MestreLion
Nicht sicher, wo kann ich seinen Kommentar vom 20. Juni 11 um 8:08 Uhr finden?
CSCameron
Es ist der drittletzte Kommentar in seiner Antwort oben
MestreLion
Die ursprüngliche Antwort wurde bearbeitet, da in meinem Beitrag in der ursprünglichen Antwort von Lekensteyn weder "persistent" noch die für 64-Bit-Dateien erforderliche ".efi" angegeben wurde.
CSCameron
1

In 14.04 und möglicherweise früher verwendet Ubiquity upstart, um zu starten. Sie können dies deaktivieren, indem Sie ändern /etc/init/ubiquity.conf.

1) Wenn Sie die Live-Installation selbst nicht verwenden, mounten Sie zuerst casper-rw:

# Mount the usb_drive manually if nautilus has not done it for you
# Change sdb1 to the proper location of your usb drive, find it using sudo blkid
sudo mkdir /media/$USER/usb_drive
sudo mount /dev/sdb1 /media/$USER/usb_drive
# Create a mount point for the read-write file system and mount via loopback
sudo mkdir /media/$USER/casper-rw
sudo mount -o loop /media/$USER/usb_drive/casper_rw /media/$USER/casper-rw
cd /media/$USER/casper-rw

2) Bearbeiten Sie etc/init/ubiquity.confdie Live-Installation und kommentieren Sie die folgenden Zeilen aus:

#start on (starting gdm
#          or starting kdm
#          or starting xdm
#          or starting lxdm
#          or starting lightdm)

Wenn Sie die Festplatte remastern, können Sie den Master einfach ubiquity.confim squashfs-System bearbeiten . Ubiquity wird dann beim Neustart komplett aus dem Weg geräumt.

3) Hängen Sie die Laufwerke aus

sudo umount /media/$USER/*
user166879
quelle
0

Aus irgendeinem Grund wollten Sie kein Remastersys? Sie könnten das Betriebssystem installieren, mit remastersys eine ISO erstellen, die Squashfs-Datei extrahieren und die auf der Standard-ISO-Datei (oder dem vorgefertigten USB-Ordner) ersetzen.

Ich mache das oft

dez
quelle
1
Mit remastersys würde ich eine vollständige Installation durchführen, keine Live-Sitzung. Lesen Sie meine erste Einschränkung: Es muss sich tatsächlich um die Ubuntu Live-Sitzung handeln (oder so nahe wie möglich an der Standardeinstellung). Dieselbe Softwareauswahl (gparted ist in Live-Sessions vorhanden, gimp beispielsweise nicht), Benutzer (Name und ID), Verhalten (kein Anmeldebildschirm, kein Passwort für sudo, um nur einige zu nennen), kein GRUB usw. Das gilt eine Ubuntu-Vollinstallation auf USB raus.
MestreLion