Bagaimana cara memintas layar "Coba / Instal" saat boot dari USB Live Session? (tanpa menginstal di USB)

35

Ini telah ditanyakan beberapa kali (saya menemukannya di sini , di sini dan di sini ), tetapi pada dasarnya semua orang hanya merekomendasikan untuk melakukan instalasi penuh ke stik USB. Tetapi saya membutuhkannya untuk tetap sebagai sesi LIVE, bukan "instal penuh pada USB", karena beberapa alasan (yang paling penting adalah bahwa menggunakan sesi Live saya dapat dengan mudah menginstal Ubuntu menggunakan ikon desktop)

Jadi, kendala saya untuk melewatkan Layar Selamat Datang (dan secara otomatis memilih opsi "Coba Ubuntu") adalah:

  • Ini sebenarnya harus sesi Live Ubuntu (atau sedekat mungkin dengan default). Pemilihan perangkat lunak yang sama (gparted hadir dalam sesi langsung, gimp tidak, misalnya), pengguna (nama dan ID), perilaku (tidak ada layar masuk, tidak ada kata sandi untuk sudo, untuk beberapa nama), tidak ada GRUB, dll. Yang mengesampingkan Ubuntu instal penuh pada USB.

  • Itu harus dapat menginstal Ubuntu di komputer (sementara instalasi penuh membutuhkan file ISO, USB stick tambahan, dan kerumitan Startup Disk Creator)

  • Jika memungkinkan, agar secepat "peluncur berbasis teks" (yang Anda miliki saat Anda menekan tombol tepat setelah kernel dimuat)

  • Itu harus sepenuhnya otomatis, tanpa pengawasan dari boot ke desktop.

  • Pilih bahasa yang berbeda dari standar. Ini bisa menjadi pilihan yang sulit dijalin dgn tali (sebenarnya, itu harus, karena boot itu sendiri akan sepenuhnya tanpa pengawasan). Tetapi sebaiknya mudah diubah ("mudah" seperti dalam mengedit file konfigurasi kemudian reboot)

Apa itu mungkin?

Solusi (luar biasa) yang saya usulkan sejauh ini adalah:

  • Menginstal Ubuntu di stik USB (untuk semua alasan yang disebutkan di atas)

  • Hapus Ubiquitypaket (ini menghilangkan kemampuan untuk menginstal sistem dari USB itu juga)

  • Ubuntu Customization Kit (ubk): beberapa batasan dan peringatan , dan bahkan tidak ada dalam repo

  • Remastersys / LiLi: sama dengan instalasi USB langsung penuh, hanya dikustomisasi.

Solusi ideal adalah "buat USB sakit menggunakan Startup Disk Creator, lalu buka dan hapus / edit / tambahkan file xxx, yyy, zzz"

MestreLion
sumber
Saya mengganti kode pada USB saya yang saya miliki di syslinux.cfg dengan apa yang disarankan, tetapi saya masih mendapatkan prompt. (Baris asli: vesamenu.c32 prompt 0 batas waktu 50 ui gfxboot bootlogo) Apakah mungkin saya harus melakukan sesuatu dengan txt.cfg (di bawah): label tetap menu label ^ Mode Persistent kernel / casper / vmlinuz append bootkbd = us console- setup / layoutcode = en_US konsol-setup / variantcode = nodeadkeys locale = us_us noprompt persisten cdrom-detect / try-usb = true file = / cdrom / preseed / ubuntu.seed boot = casper initrd = / casper / initrd.lz splash - label label menu langsung ^ Live Mode kernel / casper / vmlinuz append
user142859

Jawaban:

41

Panduan ini dibuat untuk Ubuntu (Gnome). Ini juga berfungsi untuk Kubuntu (KDE), dengan beberapa pengecualian

Saya sudah bisa mendapatkan boot Live CD langsung ke sesi Live tanpa batas waktu atau menu mewah, opsional dengan paket bahasa yang diinstal.

Live USB (16.04)

  1. Pasang USB dengan Ubuntu terpasang di dalamnya
  2. Cadangkan file syslinux/syslinux.cfg. Kami akan memodifikasinya sehingga kami harus menggantinya kembali jika terjadi kesalahan.
  3. Buka file berikut di bawah direktori syslinux: syslinux.cfgdan txt.cfg
  4. Hapus (atau komentar) semua yang ada di syslinux.cfg.
  5. The txt.cfgberkas memiliki entri menu GRUB default. Salin yang langsung ke 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. Anda dapat menambahkan parameter kernel spesifik apa saja yang diperlukan untuk perangkat Anda di baris append.

  7. Simpan isolinux.cfg dan boot sistem Anda menggunakan USB. Ini akan boot langsung ke desktop sekarang.

Live USB (13.10)

  1. Pasang USB dengan Ubuntu terpasang di dalamnya
  2. Cadangkan file isolinux/isolinux.cfg. Kami akan memodifikasinya sehingga kami harus menggantinya kembali jika terjadi kesalahan.
  3. Buka file berikut di bawah direktori isolinux: isolinux.cfgdan txt.cfg
  4. Hapus semua yang ada di isolinux.cfg.
  5. The txt.cfgberkas memiliki entri menu GRUB default. Salin yang langsung ke 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. Anda dapat menambahkan parameter kernel spesifik apa saja yang diperlukan untuk perangkat Anda di baris append.

  7. Simpan isolinux.cfg dan boot sistem Anda menggunakan USB. Ini akan boot langsung ke desktop sekarang.

[ sumber ]

Live USB (11,04)

  1. Buka folder root Live USB Anda
  2. Masukkan syslinuxdirektori
  3. Jadikan syslinux.cfgfile dapat ditulisi
  4. Ganti konten file syslinux.cfgdengan:

    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. Opsional: melokalkan sistem (lihat di bawah)

CD langsung

  1. Jika Anda memiliki Live CD di drive CD Anda, pasang itu. Jika tidak, jika Anda memiliki file ISO yang tersedia, pasanglah /media/cdromdengan menjalankan perintah berikutnya di terminal (ganti nama .isofile yang sesuai):

    sudo mount -o loop,ro ubuntu-11.04-desktop-amd64.iso /media/cdrom
    
  2. Buat direktori sementara di mana konten CD dapat disimpan, katakan ~/live-cd( mkdir ~/live-cd)
  3. Salin isi CD ke folder ~/live-cd/iso( cp -r /media/cdrom ~/live-cd/iso)
  4. Karena Live CD tidak diperlukan lagi, ia dapat dilepas ( sudo umount /media/cdrom)
  5. Buka ~/live-cd/isofolder ( cd ~/live-cd/iso)
  6. Masukkan isolinuxdirektori ( cd isolinux)
  7. Jadikan isolinux.cfgfile dapat ditulis ( chmod u+w isolinux.cfg)
  8. Ganti konten file isolinux.cfgdengan:

    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. Opsional: melokalkan sistem (lihat di bawah)
  10. Buka terminal dan jalankan:

    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. Iso baru akan tersedia di ~/live-cd/ubuntu-11.04-live-amd64.iso. Untuk menghemat ruang, ~/live-cd/isodirektori dapat dihapus. ( rm -rf ~/live-cd/iso)
  12. Sekarang bakar ubuntu-11.04-live-amd64.isofile pada CD jika perlu.

Melokalkan Ubuntu (terjemahan)

Jika Anda ingin sistem dalam bahasa Inggris, Spanyol, Portugis, Xhosa atau Cina Sederhana, Anda baru saja menambahkan locale=opsi boot dengan en, es, pt, xhatau zhke appendgaris seperti pada:

... quiet splash locale=pt --

Kalau tidak, jika Anda tidak ingin memodifikasi file yang berisi sistem file root ( filesystem.squashfs) dan tidak keberatan meretas, lanjutkan membaca.

Buka terminal dan navigasikan ke ~/live-cd/isodirektori dan masukkan kode dari http://pastebin.com/VTdt9WFZ dalam file ( beri nama install-locale) dan jalankan.

Skrip ini me-mount filesystem.squashfs, mengambil informasi versi dari paket bahasa darinya, mengunduh paket-paket dan meletakkannya di direktori locale-hack. Selanjutnya, skrip dibuat yang menginstal paket bahasa pada saat boot. Untuk membuat pekerjaan itu, script juga memodifikasi syslinux.cfgatau isolinux.cfgberkas untuk menerapkan perubahan ini.

Anda akan dimintai lokal, masukkan sesuatu seperti nlatau de. Scriptnya tidak begitu pintar untuk memahami hal-hal seperti Dutchatau German. Setelah itu, file dapat dihapus

Perintah terminal yang harus dieksekusi:

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

Perhatikan bahwa menambahkan paket bahasa dapat menyebabkan .isofile yang dihasilkan lebih besar dari 700MB yang tidak muat pada CD. Namun untuk mesin virtual, itu sudah cukup. Peretasan ini memiliki efek samping yang membuat Plymouth tidak berfungsi (yaitu Anda tidak mendapatkan layar boot mewah), tetapi setidaknya sistem diterjemahkan ketika masuk. Jika tidak, Anda harus menginstal language-pack-gnome-*secara manual.

Referensi

Lekensteyn
sumber
+1 untuk itu! Berhasil! (menggunakan metode Live USB). Saya juga akan mempertimbangkan noprompt cdrom-detect/try-usb=trueuntuk menambah appendbaris, karena itulah caranya txt.cfg. Apakah Anda tahu apa yang dilakukan parameter tambahan ini? Juga, dapatkah solusinya diperbaiki untuk memasukkan bahasa?
MestreLion
nopromptmematikan sistem tanpa meminta untuk mengeluarkan CD. Saya telah menambahkannya ke saluran Live USB karena tidak masuk akal dengan media USB. Saya tidak tahu apa cdrom-detect/try-usb=true. Semua paket bahasa tidak disertakan secara default pada Live CD karena ukurannya. Untuk mengatur lokal yang berbeda (mis. NL), berikan locale=nl_NLopsi pada appendbaris. Ini akan mengatur lokal tetapi bukan bahasa untuk Gnome karena paket tersebut tidak tersedia di Live CD.
Lekensteyn
@MestreLion: diperbarui dengan retasan untuk lingkungan yang dilokalkan.
Lekensteyn
@Lekensteyn: paket tersedia pada Live CD, karena ketika Anda memilih bahasa yang berbeda, Ubuntu memulai sesi Live dalam bahasa itu. Saya akan mencoba saran Anda tentang locale=pt_BR. Mungkin hanya itu yang dibutuhkan.
MestreLion
@MestreLion: tidak juga, saya telah mengujinya dengan keduanya locale=nldan menu pemilihan bahasa di Coba / Instal. Dalam kedua kasus, saya mendapat tata letak bahasa Inggris meskipun localeperintah output nl_NL.UTF-8.
Lekensteyn
1

Cara di atas berfungsi baik untuk penginstalan Disk Pembuat dan UNetbootin. Jika Anda menggunakan flash drive persisten, Anda ingin menambahkan kata persistent sebagai berikut:

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

Untuk sistem 64 bit, kodenya sedikit berbeda

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
sumber
Apakah ini berbeda dari jawaban Lekensteyn dikombinasikan dengan komentarnya dari 20 Juni '11 di 8:08?
MestreLion
Tidak yakin, di mana saya dapat menemukan komentarnya dari 20 Juni '11 jam 8:08?
CSCameron
Ini adalah komentar ketiga dari terakhir dalam jawabannya di atas
MestreLion
Jawaban asli telah diedit sejak posting saya, jawaban asli Lekensteyn tidak menyebutkan "persistent" atau ".efi" yang diperlukan untuk 64 bit.
CSCameron
1

Di 14,04 dan mungkin sebelumnya, Ubiquity menggunakan pemula untuk memulai. Anda dapat menonaktifkan ini dengan memodifikasi /etc/init/ubiquity.conf.

1) Jika Anda tidak menggunakan Live install sendiri, pertama mount 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) Edit etc/init/ubiquity.confdalam Live instal dan komentari baris berikut:

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

Jika Anda membuat ulang disk, Anda bisa mengedit master ubiquity.confdi sistem squashfs. Ubiquity akan sepenuhnya keluar dari jalan Anda setelah restart.

3) Lepas drive

sudo umount /media/$USER/*
pengguna166879
sumber
0

Ada alasan mengapa Anda tidak menginginkan remastersys? Anda dapat menginstal os, membuat iso dengan remastersys mengekstrak file squashfs dan mengganti yang ada di stock iso, (atau folder usb premade)

Saya sering melakukan ini

dez
sumber
1
Menggunakan remastersys saya akan berakhir dengan instalasi penuh, bukan sesi langsung. Baca kendala pertama saya: Ini sebenarnya harus sesi Live Ubuntu (atau sedekat mungkin dengan default). Pemilihan perangkat lunak yang sama (gparted hadir dalam sesi langsung, gimp tidak, misalnya), pengguna (nama dan ID), perilaku (tidak ada layar masuk, tidak ada kata sandi untuk sudo, untuk beberapa nama), tidak ada GRUB, dll. Ubuntu menginstal penuh pada USB.
MestreLion