Невозможно загрузить Ubuntu Live USB Flash Drive с постоянным разделом casper-rw

Итак, я провел последний день, рассматривая подобные вопросы, и могу сначала подтвердить, что это не дубликат:

И все из этого: я создал Ubuntu 14.04.03 Live USB Flash Drive (32 ГБ), используя UNetbootin, а также Ubuntu Startup Disk Creator. В обоих случаях я смог успешно развернуть свой Ubuntu ISO ( который, как я подтвердил, не поврежден с помощью md5sum анализ). В обоих случаях постоянство работало успешно (мне пришлось вручную включить его при использовании Ubuntu Startup Disk Creator, но UNetBootin добавляет -persistent аргумент ядра автоматически syslinux.cfg), Нет проблем.

Мне нужно иметь файл персистентности размером более 4 ГБ, так как я создаю кучу этих флэш-накопителей для полевых инженеров приложений (FAE), и они должны иметь возможность использовать их в дороге для диагностики установок для пользовательских систем моей компании в настоящее время поддерживает. Хорошо, если они выгорают из-за чрезмерных циклов записи, и каждый FAE получает дюжину из них, если это необходимо для каждой поездки.

Кроме того, нам нужно сохранить первый раздел на диске в качестве раздела FAT на тот случай, если FAE потребуется сбросить файлы на диск из Windows, Mac, Linux и т. Д., Поскольку машины Windows отказываются монтировать разделы FAT на флэш-диске, если только они являются первым и единственным разделом FAT на диске.

Я попробовал шаги в следующих статьях:

Инструкции были понятны:

  1. Создайте USB-флеш-накопитель Live с Ubuntu, оставляя место для дополнительного раздела.
  2. Удалить casper-rw loopback файл на первом разделе FAT на флешке.
  3. использование gparted создать ext2/ext3/ext4 раздел после раздела FAT, и дать ему объем casper-rw,

Я выполнил все рекомендованные шаги, но загрузка не удалась. Когда я пытаюсь загрузиться с моей только что созданной флэш-накопителя, вместо правильной загрузки Ubuntu я получаю приглашение, хотя я кратко вижу графическую анимацию экрана запуска Ubuntu.

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

Я прошел через баг-трекер Ubuntu, и кажется, что эта проблема наблюдалась многими другими:

И это было решено, поэтому я должен ожидать, что исправление уже будет в моем образе Ubuntu 14.04.03:

Я также попытался обновить параметры загрузки ядра, вставив LIVE-MEDIA=/dev/sdd1 (в моем случае) во время загрузки, нажав TAB, то есть:

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

На этот раз он, по крайней мере, находит загрузочный раздел и начинает пытаться загрузить Live USB-диск, но, похоже, терпит неудачу с кучей предупреждений, связанных с "каспером". Я не могу сохранить эти журналы, поэтому я не могу предоставить их в данный момент. Мои текущие параметры ядра по умолчанию:

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

Как я могу решить эту проблему?

Спасибо.

8 ответов

Как упоминалось в предыдущем комментарии, это связано с ошибкой https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1489855"последовательность монтирования изменена с корневого раздела, затем с постоянного раздела (15.04) на 1-й персистентный, а затем корневой раздел (16.04) по любой причине."

Недавно в потоке была исправлена ​​ошибка, которую я подробно опишу ниже, так как другой поток, кажется, не так хорошо виден (ниже в поиске Google, когда я пытался его устранить),

  1. Создать разделы casper-rw и OS

  2. Используйте универсальный установщик USB и т. Д., Чтобы настроить раздел ОС с достаточно большим файлом casper-rw, чтобы иметь возможность вносить изменения - это необходимо для последующего шага к решению проблемы (я сделал это с 2 ГБ, но, конечно, это требует меньше)

  3. Загрузитесь с новым USB. открыто /usr/share/initramfs-tools/scripts/casper с правами root для редактирования (sudo). Измените функцию setup_unionfs() следующим образом: https://launchpadlibrarian.net/258626969/casper%20function.txt

  4. sudo update-initramfs -u(Пришлось удалить cryptsetup, чтобы сделать это)

  5. Скопируйте сгенерированный файл initrd.img из /boot в другое место.

  6. Из другой ОС удалите файл casper-rw с USB. Скопируйте initrd.img обратно в активный раздел и измените пункт меню, чтобы использовать только что созданный initrd.img.

При следующей загрузке с USB он должен загрузиться с раздела casper-rw.

Это сработало для меня 16.04 после долгого разочарования в поисках решения!

Обновление ответа Ю Цзя... Спасибо Ю Цзя за указание в правильном направлении.

1) Сначала используйте файл casper-rw, чтобы избежать проблемы с разделом casper-rw. 500 МБ или меньше - это достаточно хорошо.

2) Загрузитесь с новым USB. Откройте /usr/share/initramfs-tools/scripts/casper с правами root для редактирования (sudo). Измените функцию setup_unionfs() следующим образом: https://launchpadlibrarian.net/258626969/casper%20function.txt

3) sudo update-initramfs -u (предупреждение от cryptsetup, но может быть безопасно проигнорировано.)

4) Скопируйте сгенерированный файл "initrd.img.4.4....generic" из /boot в другое место. Переименуйте его в initrd.img.

5) Из другой ОС удалите файл casper-rw на USB.

6) Copy the initrd.img back to the live partition and change menu item to use the newly built initrd.img. например

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

mkusb версия 11 classic и псевдоним версии 12 mkusb-dus может автоматически создавать постоянный живой диск со всеми текущими версиями и разновидностями Ubuntu, а также с Debian Jessie.

mkusb использует casper-rw раздел

mkusb также работает с некоторыми дистрибутивами Linux, созданными на основе Ubuntu. Я не тестировал новейшие версии Linux Mint, но он работает с предыдущими версиями, потому что структура загрузки достаточно похожа на Ubuntu.

Установите mkusb с помощью следующих командных строк в Ubuntu и разновидностях Ubuntu (Kubuntu, Lubuntu ... Xubuntu).

Если вы используете стандартную Ubuntu, вам нужна дополнительная инструкция для получения репозитория Universe. (Kubuntu, Lubuntu ... Xubuntu автоматически активирует хранилище Вселенной.)

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

Смотрите эти ссылки,

mkUSB-быстрый запуск manual.pdf

https://help.ubuntu.com/community/mkusb

https://help.ubuntu.com/community/mkusb/persistent

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

Загрузка и использование mkusb-installer работает с несколькими другими дистрибутивами Linux. Используйте одну из следующих ссылок (и методов),

https://help.ubuntu.com/community/mkusb/gui

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

Мне только удалось достигнуть этого с МНОГО помощью от этого очень полезного набора ответов.

Для справки я настраивал Kingston Data Traveler на 16 ГБ с пользовательским ISO-образом, который я ранее создал с помощью SystemBack.

Операционная система, над которой я работаю, - это Lubuntu, и в моем собственном ISO-файле было много изменений программного пакета (я удалил много gumpf и установил некоторые необходимые утилиты).

Я начал с использования очень полезного набора инструкций araghuteja и настроил свое устройство на три раздела:

  • 4 ГБ для доступного для Windows раздела FAT32 (/dev/sdc1)
  • 2 ГБ для ОС (/dev/sdc2)
  • Остальное (под 8 ГБ, но примерно так) как раздел casper-rw (/dev/sdc3)

К сожалению, это не совсем сработало, поскольку простого удаления файла casper-rw из раздела ОС недостаточно.

Реальная помощь была от Ю Цзя Чонга и StarBloom, где они объясняют, как перезагрузить загрузчик GRUB, чтобы "увидеть" раздел casper-rw.

Я должен был сделать некоторые детали, которые могут сделать инструкции Ю Цзя немного более понятными. (Обратите внимание, что эти инструкции могут не полностью соответствовать ISO-образу Ubuntu по умолчанию, так как я думаю, что некоторые местоположения файлов могут быть изменены конфигурацией Systemback).

В частности - в части 5 файл, сгенерированный

sudo update-initramfs -u

был назван initrd.img-4.4.0-47-generic.

Итак, я скопировал этот файл в свой раздел "casper-rw", но потом понял, что мое загрузочное меню GRUB ссылается на /casper/initrd.gz (в четырех местах), который находится в /boot/grub в разделе UUI.

Итак, я переименовал свой initrd.img-4.4.0-47-generic в initrd.gz и заменил файл в UUI /boot/grub / casper / (очевидно, сохранив копию старого файла на всякий случай!).

Загрузился с этой конкретной флешки и используя df -h в корневой папке "машина" я получаю следующее:

$ 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

Я предполагаю, что / cow - это живая раздел каспера, и он показывает правильный размер.

Мне интересно, что я могу на самом деле ВИДЕТЬ раздел casper-rw как /dev/sdb2, когда я использую машину - это правильно??

Я также не убежден в 3-х стороннем разделении. В Windows(10) я вижу только раздел ОС, а не раздел данных.

Большое спасибо всем, и я надеюсь, что мой опыт поможет кому-то еще! (Примечание. Я достаточно новичок в использовании Stack Exchange, поэтому не могу комментировать - поэтому мой ответ новый, а не комментарий Ю Цзя).

Обновить

Я снова пытаюсь создать еще один "Pen-Machine", и я понял, что чем больше ваш ISO-образ, тем больше места вам нужно создать для файла casper-rw при запуске UUInstaller.

Мой последний ISO-образ - что-то вроде 3,8 ГБ (это настраиваемая Ubuntu 16.04), и после трех попыток мне нужно создать начальный раздел ОС на 5 ГБ и использовать в установщике параметр постоянства 1 ГБ - в противном случае при обновлении у вас заканчивается память. функции initramfs.

Примечание - я наконец прибег к установке раздела ОС на 8 ГБ, просто чтобы убедиться, что у меня есть место!

Ваш вопрос связан с этой ошибкой: https://bugs.launchpad.net/bugs/1489855

Более старая версия 14.04 LTS будет работать.

  • 14.04.2 работы
  • 14.04.3 терпит неудачу
  • 14.04.4 не удается

Также:

  • 15.04 работает
  • 15.10 терпит неудачу

У меня не было проблем с созданием pendrive и его загрузкой... Вы создали perndrive следующим образом?

Процесс включает в себя 3 этапа:

  1. Разметка Pendrive.
  2. Создание загрузочного pendrive с помощью универсального установщика USB.
  3. Добавление флагов к разделу UUI и завершение процесса разбиения.

Шаг 1:

Откройте GParted и разделите Pendrive следующим образом:

Нераспределенный раздел добавляется позже в шаге 3, sdc2 для Ubuntu и sdc3 для персистентности. Так как это 8GB Pendrive, я использовал 3.32GB в качестве постоянного диска, но будет работать с любым размером. Пометьте этот раздел как casper-rw.

Шаг 2:

Вставьте pendrive в Windows-машину. Второй диск (т.е. метка-ОС) будет обнаружен. Установите Ubuntu на этот диск с помощью универсального установщика USB.

Установить небольшой постоянный файл, я использовал 204 МБ. Размер не имеет значения, так как мы все равно удалим его на шаге 3. Нажмите Создать.

Шаг 3:

Вставьте pendrive обратно в систему Ubuntu и измените таблицу разделов следующим образом:

Теперь для финальной части, щелкните правой кнопкой мыши на втором разделе и выберите " Управление флагами". Проверьте Boot и lba.


Теперь у вас есть Pendrive, первый раздел которого будет обнаружен в Windows, и постоянный диск объемом более 4 ГБ.

Похоже, что процесс загрузки прерывается сразу после загрузки исходного RAM-диска. Это связано с невозможностью смонтировать корневую файловую систему (filesystem.squashfs). Поскольку все работает нормально перед редактированием раздела, причиной сбоя может быть одно или несколько из следующих действий.

  • Смена UUID.
  • Поврежденный файл (ы) (filesystem.squashfs, vmlinuz)
  • Поврежденная файловая система

Пытаться:

  • Отформатируйте загрузочный раздел (с ext3) (теперь у вас есть три раздела, как и раньше).
  • Воссоздайте живую систему с помощью UNetbootin с опцией постоянства.
  • Удалить файл персистентности (чтобы он использовал раздел персистентности)

У меня была похожая проблема с ISO-образом Lubuntu 14.04.3 i386, и я сдался. Затем я попробовал ISO-образ Lubuntu 15.04 AMD64 (ранее я отказался от 15.04 из-за ошибки, возникающей при загрузке, но она оказывается лишь небольшой проблемой*).

casper-rw Раздел работает с более поздней системой (следуя обычным инструкциям), так что, похоже, проблема не в процессе, а в проблеме, характерной для некоторых ISO-образов 14.04.

Ранее я успешно установил систему Lubuntu 14.04 с casper-rw постоянный раздел, так что я знаю, что оригинальный 14.04 работал. Так может быть просто 14.04.3 в чем проблема?

* Если вы используете 15.04 и сталкиваетесь с проблемой "Отсутствует параметр в файле конфигурации..." при загрузке, введите "live" и введите.

Другие вопросы по тегам