Jak ominąć ekran „Wypróbuj / zainstaluj” podczas uruchamiania z sesji USB Live? (bez instalacji na USB)

35

To pytanie zostało już zadane kilka razy (znalazłem to tutaj , tutaj i tutaj ), ale w zasadzie wszyscy po prostu zalecają wykonanie pełnej instalacji na pamięci USB. Ale muszę go pozostać jako sesja NA ŻYWO, a nie „pełna instalacja na USB”, z wielu powodów (najważniejszym z nich jest to, że używając sesji Live mogę łatwo zainstalować Ubuntu za pomocą ikony na pulpicie)

Tak więc moje ograniczenia związane z pomijaniem ekranu powitalnego (i automatycznym wyborem opcji „Wypróbuj Ubuntu”) to:

  • W rzeczywistości musi to być sesja Ubuntu Live (lub jak najbardziej zbliżona do domyślnej). Ten sam wybór oprogramowania (gparted jest obecny w sesjach na żywo, gimp nie jest, na przykład), użytkownik (nazwa i identyfikator), zachowanie (bez ekranu logowania, bez hasła sudo, żeby wymienić tylko kilka), bez GRUB itp. To wyklucza pełna instalacja Ubuntu na USB.

  • Musi być w stanie zainstalować Ubuntu na komputerze (podczas gdy pełna instalacja wymaga pliku ISO, dodatkowej pamięci USB i kłopotów ze Startup Disk Creator)

  • Jeśli to możliwe, aby był tak szybki jak „program uruchamiający tekst” (ten, który masz po naciśnięciu klawisza zaraz po załadowaniu jądra)

  • Musi być całkowicie automatyczny, bez nadzoru od rozruchu do pulpitu.

  • Wybierz inny język niż domyślny. Może to być wybór na sztywno (tak naprawdę musi, ponieważ sam boot powinien być całkowicie bezobsługowy). Ale najlepiej jest łatwo zmienić („łatwo”, jak w przypadku edycji pliku konfiguracyjnego, a następnie ponownego uruchamiania)

Czy to możliwe?

Proponowane (świetne) rozwiązania, które do tej pory wykluczyłem, to:

  • Instalowanie Ubuntu w pamięci USB (z wyżej wymienionych powodów)

  • Usuń Ubiquitypakiet (usuwa również możliwość instalacji systemu z tego USB)

  • Ubuntu Customization Kit (ubk): kilka ograniczeń i ostrzeżeń , i nie ma go nawet w repozytoriach

  • Remastersys / LiLi: to samo co pełna bezpośrednia instalacja USB, tylko dostosowane.

Idealnym rozwiązaniem byłoby coś takiego: „stwórz chorobę USB za pomocą Kreatora dysku startowego, a następnie otwórz ją i usuń / edytuj / dodaj plik (i) xxx, yyy, zzz”

MestreLion
źródło
Zamieniłem kod na moim USB, który miałem w syslinux.cfg, na to, co zostało zasugerowane, ale wciąż pojawia się monit. (Oryginalne wiersze: monit vesamenu.c32 0 limit czasu 50 ui gfxboot bootlogo) Czy jest możliwe, że powinienem zrobić coś z txt.cfg (poniżej): etykieta menu trwałe etykieta ^ Tryb trwały jądro / casper / vmlinuz dodaj bootkbd = konsola- setup / layoutcode = en_US konsola-setup / variantcode = nodeadkeys locale = us_us permanentny noprompt cdrom-wykryć / try-usb = true file = / cdrom / preseed / ubuntu.seed boot = casper initrd = / casper / initrd.lz splash - etykieta menu na żywo etykieta ^
Dołączenie

Odpowiedzi:

41

Ten przewodnik został stworzony dla Ubuntu (Gnome). Działa również w Kubuntu (KDE), z kilkoma wyjątkami

Udało mi się uruchomić rozruch Live CD bezpośrednio do sesji Live bez limitu czasu lub wyszukanego menu, opcjonalnie z zainstalowanym pakietem językowym.

Live USB (16.04)

  1. Podłącz USB z zainstalowanym Ubuntu
  2. Utwórz kopię zapasową pliku syslinux/syslinux.cfg. Zmodyfikujemy go, więc będziemy musieli go wymienić, jeśli coś pójdzie nie tak.
  3. Otwórz następujące pliki w katalogu syslinux: syslinux.cfgi txt.cfg
  4. Usuń (lub skomentuj) wszystko w syslinux.cfg.
  5. txt.cfgPlik ma domyślne wpisy menu GRUB. Skopiuj wersję na żywo do 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. Możesz dodać dowolne określone parametry jądra potrzebne dla twojego urządzenia w linii dołączającej.

  7. Zapisz plik isolinux.cfg i uruchom system za pomocą USB. Uruchomi się teraz bezpośrednio na pulpit.

Live USB (13.10)

  1. Podłącz USB z zainstalowanym Ubuntu
  2. Utwórz kopię zapasową pliku isolinux/isolinux.cfg. Zmodyfikujemy go, więc będziemy musieli go wymienić, jeśli coś pójdzie nie tak.
  3. Otwórz następujące pliki w katalogu isolinux: isolinux.cfgi txt.cfg
  4. Usuń wszystko w isolinux.cfg.
  5. txt.cfgPlik ma domyślne wpisy menu GRUB. Skopiuj wersję na żywo do 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. Możesz dodać dowolne określone parametry jądra potrzebne dla twojego urządzenia w linii dołączającej.

  7. Zapisz plik isolinux.cfg i uruchom system za pomocą USB. Uruchomi się teraz bezpośrednio na pulpit.

[ źródło ]

Live USB (11.04)

  1. Przejdź do folderu głównego swojego Live USB
  2. Wejdź do syslinuxkatalogu
  3. Udostępnij syslinux.cfgplik do zapisu
  4. Zamień zawartość pliku na syslinux.cfg:

    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. Opcjonalnie: zlokalizuj system (patrz poniżej)

Live CD

  1. Jeśli masz napęd Live CD w napędzie CD, zamontuj go. W przeciwnym razie, jeśli plik ISO jest dostępny, zamontuj go /media/cdrom, uruchamiając następne polecenie w terminalu (odpowiednio zastąp nazwę .isopliku):

    sudo mount -o loop,ro ubuntu-11.04-desktop-amd64.iso /media/cdrom
    
  2. Utwórz katalog tymczasowy, w którym można przechowywać zawartość dysku CD, powiedz ~/live-cd( mkdir ~/live-cd)
  3. Skopiuj zawartość płyty CD do folderu ~/live-cd/iso( cp -r /media/cdrom ~/live-cd/iso)
  4. Ponieważ Live CD nie jest już potrzebny, można go odmontować ( sudo umount /media/cdrom)
  5. Otwórz ~/live-cd/isofolder ( cd ~/live-cd/iso)
  6. Wejdź do isolinuxkatalogu ( cd isolinux)
  7. Spraw, aby isolinux.cfgplik był zapisywalny ( chmod u+w isolinux.cfg)
  8. Zamień zawartość pliku na isolinux.cfg:

    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. Opcjonalnie: zlokalizuj system (patrz poniżej)
  10. Otwórz terminal i uruchom:

    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. Nowe ISO będzie dostępne pod adresem ~/live-cd/ubuntu-11.04-live-amd64.iso. Aby zaoszczędzić miejsce, ~/live-cd/isokatalog można usunąć. ( rm -rf ~/live-cd/iso)
  12. W ubuntu-11.04-live-amd64.isorazie potrzeby wypal plik na dysku CD.

Zlokalizuj Ubuntu (tłumaczenia)

Jeśli chcesz, aby system w językach angielskim, hiszpańskim, portugalskim, Xhosa lub chińskim uproszczonym, właśnie aby dodać locale=opcję bagażnika en, es, pt, xhlub zhdo appendlinii, jak w:

... quiet splash locale=pt --

W przeciwnym razie, jeśli nie chcesz modyfikować pliku zawierającego główny system plików ( filesystem.squashfs) i nie przeszkadza ci hackowanie, kontynuuj czytanie.

Otwórz terminal i przejdź do ~/live-cd/isokatalogu i umieść kod z http://pastebin.com/VTdt9WFZ w pliku (nazwij go install-locale) i uruchom go.

Ten skrypt montuje filesystem.squashfsplik, pobiera z niego informacje o wersji pakietów językowych, pobiera pakiety i umieszcza je w katalogu locale-hack. Następnie tworzony jest skrypt, który instaluje pakiety językowe podczas rozruchu. Aby to zadziałało, skrypt modyfikuje również plik syslinux.cfglub isolinux.cfg, aby zastosować te zmiany.

Zostaniesz poproszony o podanie lokalizacji, wprowadź coś takiego jak nllub de. Skrypt nie jest tak sprytny, aby zrozumieć rzeczy takie jak Dutchlub German. Następnie plik można usunąć

Polecenia terminalowe, które należy wykonać:

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

Pamiętaj, że dodanie pakietu językowego może spowodować, że wygenerowany .isoplik będzie większy niż 700 MB, co nie zmieści się na płycie CD. W przypadku maszyn wirtualnych wystarczy. Ten hack ma taki efekt uboczny, że Plymouth nie działa (tzn. Nie pojawia się fantazyjny ekran startowy), ale przynajmniej system jest tłumaczony podczas logowania. W przeciwnym razie trzeba było zainstalować language-pack-gnome-*ręcznie.

Referencje

Lekensteyn
źródło
+1 za to! Zadziałało! (przy użyciu metody Live USB). Zastanowię się również nad dodaniem noprompt cdrom-detect/try-usb=truedo appendlinii, ponieważ tak jest txt.cfg. Czy wiesz, co robią te dodatkowe parametry? Czy można również ulepszyć rozwiązanie, uwzględniając język?
MestreLion
nopromptwyłącza system bez pytania o wyjęcie płyty CD. Dodałem to do linii Live USB, ponieważ nie ma to sensu w przypadku nośników USB. Nie wiem co cdrom-detect/try-usb=truerobi. Wszystkie pakiety językowe nie są domyślnie zawarte na Live CD ze względu na ich rozmiar. Aby ustawić inne ustawienia regionalne (np. NL), podaj tę locale=nl_NLopcję w appendwierszu. Spowoduje to ustawienie ustawień regionalnych, ale nie języka dla Gnome, ponieważ pakiet jest po prostu niedostępny na Live CD.
Lekensteyn
@MestreLion: zaktualizowano o hack dla zlokalizowanego środowiska.
Lekensteyn
@ Lekensteyn: pakiety są dostępne na Live CD, ponieważ po wybraniu innego języka Ubuntu rozpoczyna sesję Live w tym języku. Wypróbuję twoją sugestię na temat locale=pt_BR. Może to wszystko, czego potrzeba.
MestreLion
@MestreLion: nie bardzo, przetestowałem go zarówno locale=nlz menu wyboru języka w Try / Install. W obu przypadkach dostałem układ w języku angielskim, chociaż localepolecenie wypisuje nl_NL.UTF-8.
Lekensteyn
1

Powyższe działa świetnie zarówno dla instalacji Startup Disk Creator, jak i UNetbootin. Jeśli używasz trwałego dysku flash, będziesz chciał dodać słowo trwałe w ten sposób:

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 --

W przypadku systemu 64-bitowego kod jest nieco inny

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
źródło
Czy różni się to od odpowiedzi Lekensteyna w połączeniu z jego komentarzem z 20 czerwca 11 o 8:08?
MestreLion,
Nie jestem pewien, gdzie mogę znaleźć jego komentarz z 20 czerwca 11 o 8:08?
CSCameron 27.04.13
Jest to trzeci od ostatniego komentarza w powyższej odpowiedzi
MestreLion
Oryginalna odpowiedź była edytowana od czasu mojego postu, oryginalna odpowiedź Lekensteyn nie wspomniała o „trwałym” ani „.efi” wymaganym dla wersji 64-bitowej.
CSCameron
1

W 14.04 i być może wcześniej Ubiquity używa upstart do uruchomienia. Możesz to wyłączyć, modyfikując /etc/init/ubiquity.conf.

1) Jeśli nie korzystasz z samej instalacji Live, najpierw zamontuj 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) Edytuj etc/init/ubiquity.confw ramach instalacji na żywo i skomentuj następujące wiersze:

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

Jeśli remasterujesz dysk, możesz po prostu edytować master ubiquity.confw systemie squashfs. Po ponownym uruchomieniu wszechobecność zniknie całkowicie na twojej drodze.

3) Odmontuj dyski

sudo umount /media/$USER/*
użytkownik166879
źródło
0

Jakiś powód, dla którego nie chciałeś remastersys? Możesz zainstalować system operacyjny, zrobić iso z remastersys, wyodrębnić plik squashfs i zastąpić ten na zapasowym ISO, (lub wstępnie przygotowany folder USB)

Robię to często

dez
źródło
1
Używając remastersys skończyłem z pełną instalacją, a nie sesją na żywo. Przeczytaj moje 1. ograniczenie: w rzeczywistości musi to być sesja Ubuntu Live (lub jak najbardziej zbliżona do domyślnej). Ten sam wybór oprogramowania (gparted jest obecny w sesjach na żywo, na przykład gimp nie jest), użytkownik (nazwa i identyfikator), zachowanie (brak ekranu logowania, brak hasła do sudo, żeby wymienić tylko kilka), brak GRUB itp. To rządzi na pełną instalację Ubuntu na USB.
MestreLion