Як обійти екран "Спробуйте / встановити" під час завантаження з USB Live Session? (без встановлення в USB)


35

Про це вже задавали декілька разів (я знайшов це тут , тут і тут ), але в основному всі просто рекомендують виконати повну установку на USB-накопичувач. Але мені це потрібно для того, щоб залишатись як сеанс LIVE, а не "повна установка на USB" з ряду причин (найважливішою з них є те, що за допомогою сеансу Live я можу легко встановити Ubuntu за допомогою значка робочого столу)

Отже, моїми обмеженнями для пропуску вітального екрану (і автоматично вибору параметра "Спробувати Ubuntu") є:

  • Фактично це повинен бути сеанс Ubuntu Live (або максимально наближений до замовчування). Вибір однакового програмного забезпечення (gparted присутній у прямому сеансі, gimp, наприклад, немає), користувач (ім’я та ідентифікатор), поведінка (немає екрана входу, немає пароля sudo, назвати декілька), немає GRUB тощо. Це виключає повна установка Ubuntu на USB.

  • Він повинен бути в змозі встановити Ubuntu на комп’ютер (для повного встановлення потрібен файл ISO, додаткова USB-накопичувач і клопоти програми запуску диска Creator)

  • Якщо можливо, бути таким же швидким, як "текстовий запуск" (той, який ви маєте, коли натискаєте клавішу відразу після завантаження ядра)

  • Він повинен бути повністю автоматичним, без нагляду від завантаження до робочого столу.

  • Виберіть іншу мову, ніж типова. Це може бути жорсткий підбір (насправді, він повинен бути, оскільки сам завантажувач повинен бути без нагляду). Але бажано легко змінити ("легко", як при редагуванні конфігураційного файлу, а потім перезавантаженні)

Це можливо?

Пропоновані (чудові) рішення, які я поки що виключив:

  • Встановлення Ubuntu на USB-накопичувач (з усіх вищезазначених причин)

  • Видаліть Ubiquityпакет (він також знімає можливість встановлення системи з цього USB)

  • Набір для налаштування Ubuntu (ubk): декілька обмежень та застережень , і його немає навіть у репостах

  • Remastersys / LiLi: це те саме, що повне встановлення прямо через USB, тільки налаштоване.

Ідеальним рішенням буде щось на зразок "створити USB хворим за допомогою програми запуску диска Creator, потім відкрийте його та видаліть / редагуйте / додайте файл (и) xxx, yyy, zzz"


Я замінив код на своєму USB, який я мав у syslinux.cfg, тим, що було запропоновано, але все одно отримую підказку. (Оригінальні рядки: vesamenu.c32 підказка 0 тайм-аут 50 ui gfxboot bootlogo) Можливо, я повинен щось робити з txt.cfg (нижче): label persist menu label ^ Постійний ядро ​​режиму / casper / vmlinuz append bootkbd = us console- setup / layoutcode = en_US console-setup / variantcode = nodeadkeys locale = us_us persistent noprompt cdrom-detect / try-usb = true file = / cdrom / preseed / ubuntu.seed boot = casper initrd = / casper / initrd.lz splash - мітка живого меню ярлик ^ Живий режим ядро ​​/ каспер / vmlinuz додати
користувач142859

Відповіді:


41

Цей посібник був зроблений для Ubuntu (Gnome). Він працює і для Kubuntu (KDE), за кількома винятками

Мені вдалося перезапустити завантажувальний компакт-диск прямо на Live сеанс без тайм-ауту чи фантазійного меню, за бажанням встановлений мовний пакет.

Живий USB (16.04)

  1. Підключіть USB із встановленим у ньому Ubuntu
  2. Резервне копіювання файлу syslinux/syslinux.cfg. Ми його модифікуємо, тому нам потрібно замінити його назад, якщо щось піде не так.
  3. Відкрийте такі файли в каталозі syslinux: syslinux.cfg і txt.cfg
  4. Видаліть (або прокоментуйте) усе в syslinux.cfg .
  5. У txt.cfgфайлі є записи GRUB за замовчуванням. Скопіюйте трансляцію на 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. Ви можете додати будь-які конкретні параметри ядра, необхідні для вашого пристрою, у рядку додавання.

  7. Збережіть isolinux.cfg та завантажте систему за допомогою USB. Він завантажиться прямо на робочий стіл зараз.

Живий USB (13.10)

  1. Підключіть USB із встановленим у ньому Ubuntu
  2. Резервне копіювання файлу isolinux/isolinux.cfg. Ми його модифікуємо, тому нам потрібно замінити його назад, якщо щось піде не так.
  3. Відкрийте такі файли в каталозі isolinux: isolinux.cfgі txt.cfg
  4. Видалити все в isolinux.cfg.
  5. У txt.cfgфайлі є записи GRUB за замовчуванням. Скопіюйте трансляцію на 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. Ви можете додати будь-які конкретні параметри ядра, необхідні для вашого пристрою, у рядку додавання.

  7. Збережіть isolinux.cfg та завантажте систему за допомогою USB. Він завантажиться прямо на робочий стіл зараз.

[ джерело ]

Живий USB (11.04)

  1. Перейдіть до кореневої папки вашого Live USB
  2. Введіть syslinuxкаталог
  3. Зробіть syslinux.cfgфайл доступним для запису
  4. Замініть вміст файлу 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. Необов’язково: локалізуйте систему (див. Нижче)

Живий компакт-диск

  1. Якщо у вас на CD-диску є живий компакт-диск, встановіть його. В іншому випадку, якщо у вас є ISO-файл, встановіть його /media/cdrom, запустивши наступну команду в терміналі (замініть ім’я .isoфайлу відповідно):

    sudo mount -o loop,ro ubuntu-11.04-desktop-amd64.iso /media/cdrom
    
  2. Створіть тимчасовий каталог, у якому вміст CD може зберігатися, скажімо ~/live-cd( mkdir ~/live-cd)
  3. Скопіюйте вміст компакт-диска в папку ~/live-cd/iso( cp -r /media/cdrom ~/live-cd/iso)
  4. Оскільки Live CD вже не потрібен, його можна відключити ( sudo umount /media/cdrom)
  5. Відкрити ~/live-cd/isoпапку ( cd ~/live-cd/iso)
  6. Введіть isolinuxкаталог ( cd isolinux)
  7. Зробіть isolinux.cfgфайл для запису ( chmod u+w isolinux.cfg)
  8. Замініть вміст файлу 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. Необов’язково: локалізуйте систему (див. Нижче)
  10. Відкрийте термінал і запустіть:

    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 буде доступний на сайті ~/live-cd/ubuntu-11.04-live-amd64.iso. Для економії місця ~/live-cd/isoкаталог можна видалити. ( rm -rf ~/live-cd/iso)
  12. Тепер запишіть ubuntu-11.04-live-amd64.isoфайл на компакт-диск, якщо це потрібно.

Локалізувати Ubuntu (переклади)

Якщо ви хочете, щоб система на мовах англійською, іспанською, португальською, Xhosa або спрощений китайський, ви просто додати locale=опцію завантаження з en, es, pt, xhабо zhдо appendлінії , як в:

... quiet splash locale=pt --

В іншому випадку, якщо ви не хочете змінювати файл, що містить кореневу файлову систему ( filesystem.squashfs), і не проти злому, продовжуйте читати.

Відкрийте термінал і перейдіть до ~/live-cd/isoкаталогу та вставте код з http://pastebin.com/VTdt9WFZ у файл (назвіть його install-locale) та запустіть його.

Цей скрипт монтує filesystem.squashfs, витягує з нього інформацію про версію мовних пакетів, завантажує пакунки та поміщає їх у каталог locale-hack. Далі створюється скрипт, який встановлює мовні пакети під час завантаження. Щоб зробити цю роботу, сценарій також змінює файл syslinux.cfgабо isolinux.cfgфайл, щоб застосувати ці зміни.

Вам буде запропоновано місце, ввести щось на зразок nlабо de. Сценарій не такий розумний, щоб розуміти такі речі, як Dutchабо German. Після цього файл можна видалити

Командні термінали, які слід виконати:

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

Зауважте, що додавання мовного пакету може призвести до того, що згенерований .isoфайл перевищує 700 Мб, що не вміститься на компакт-диску. Однак для віртуальних машин цього достатньо. Цей злом є побічним ефектом у тому, що Plymouth не працює (тобто у вас не виникає фантазійний екран завантаження), але принаймні система перекладається під час входу в систему. В іншому випадку вам довелося встановити language-pack-gnome-*вручну.

Список літератури


+1 для цього! Це спрацювало! (за допомогою методу Live USB). Я також розглядаю питання про додавання noprompt cdrom-detect/try-usb=trueдо appendрядка, оскільки саме так воно і є txt.cfg. Чи знаєте ви, що роблять ці додаткові параметри? Також, чи можна вдосконалити рішення, включаючи мову?
MestreLion

nopromptвимикає систему, не вимагаючи видалення компакт-диска. Я додав це до лінії Live USB, оскільки це не має сенсу для USB-носіїв. Я не знаю, що cdrom-detect/try-usb=trueробить. Усі мовні пакети не включаються за замовчуванням на Live CD через його розмір. Щоб встановити іншу локаль (наприклад, NL), передайте locale=nl_NLпараметр на appendрядку. Це встановить локальну, але не мову для Gnome, оскільки пакет просто недоступний на Живому компакт-диску.
Лекенштейн

@MestreLion: оновлено злом для локалізованого середовища.
Лекенштейн

@Lekensteyn: пакети доступні на компакт-диску Live, тому що, коли ви вибираєте іншу мову, Ubuntu запускає Live session на цій мові. Спробую вашу пропозицію щодо locale=pt_BR. Можливо, це все, що потрібно.
MestreLion

@MestreLion: не дуже, я перевірив це з обом locale=nlі меню вибору мови на «Спробуйте / Встановити». В обох випадках я отримав англійський макет, хоча localeкоманда виводить nl_NL.UTF-8.
Лекенштейн

1

Вищезазначене чудово підходить і для встановлення запуску Disk Creator, і для встановлення UNetbootin. Якщо ви користуєтеся стійкою флеш-пам’яттю, ви хочете додати слово стійкий таким чином:

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

Для 64-бітної системи код трохи інший

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

Чи відрізняється це від відповіді Лекенштейна в поєднанні з його коментарем від 20 червня 1111 о 8:08?
MestreLion

Не знаєте, де я можу знайти його коментар від 20 червня '11 о 8:08?
CSCameron

Це третій з останніх коментарів у його відповіді вище
MestreLion

Оригінальна відповідь відредагована з мого допису, в оригінальній відповіді Лекенштейна не було згаданих "стійких" або ".efi", необхідних для 64-бітного.
CSCameron

1

У 14.04 і, можливо, раніше, Ubiquity використовує для початку старт. Ви можете відключити це, змінивши /etc/init/ubiquity.conf.

1) Якщо ви не використовуєте саму програму Live install, спочатку встановіть 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) Редагуйте etc/init/ubiquity.confв прямому ефірі і прокоментуйте наступні рядки:

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

Якщо ви ремастеруєте диск, ви можете просто відредагувати майстер ubiquity.confу системі squashfs. Після повного перезапуску повсюдність повністю вийде з вашої дороги.

3) Демонтуйте накопичувачі

sudo umount /media/$USER/*

0

Будь-яка причина ви не хочете remastersys? Ви можете встановити os, зробити iso з remastersys витягнути файл squashfs і замінити той, який знаходиться на складі iso, (або попередньо створити папку usb)

Я роблю це часто


1
Використовуючи remastersys, я б закінчився повною установкою, а не живою сесією. Прочитайте моє перше обмеження: насправді це повинен бути сеанс Ubuntu Live (або максимально наближений до замовчування). Вибір однакового програмного забезпечення (gparted присутній у прямому сеансі, gimp не є, наприклад), користувач (ім’я та ідентифікатор), поведінка (немає екрана входу, немає пароля для sudo, щоб назвати декілька), немає GRUB тощо. Це правила Повна установка Ubuntu на USB.
MestreLion
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.