Impossível inicializar o Ubuntu Live USB Flash Drive com a partição persistente casper-rw

10

Então, passei o último dia passando por perguntas semelhantes e posso confirmar primeiro que isso não é uma duplicata de:

Com isso fora do caminho: Eu criei um Ubuntu 14.04.03 Live USB Flash Drive (32GB) usando UNetbootin, bem como o criador de disco de inicialização do Ubuntu. Em ambos os casos, consegui implantar com sucesso meu ISO do Ubuntu (que confirmei como intacto por meio da análise md5sum ) . Em ambos os casos, a persistência funcionou com sucesso (tive de ativá-la manualmente ao usar o criador de disco de inicialização do Ubuntu, mas o UNetBootin adiciona o argumento -persistent do kernel automaticamente a syslinux.cfg ), sem problemas.

Preciso ter um arquivo de persistência maior que 4 GB , pois estou criando vários desses flash drives para FAEs (Field Application Engineers) e eles precisam ser capazes de usá-los o caminho para diagnosticar instalações para sistemas personalizados que a minha empresa suporta atualmente. Tudo bem se eles se esgotarem devido a ciclos de gravação excessivos, e cada FAE recebe uma dúzia deles, se necessário, para cada viagem.

Além disso, precisamos manter a primeira partição no disco como uma partição FAT caso o FAE precise remover arquivos no disco do Windows, Mac, Linux, etc, pois as máquinas do Windows recusam para montar partições FAT em uma unidade flash, a menos que sejam a primeira e única partição FAT no disco.

Eu tentei as etapas nos seguintes artigos:

As instruções foram claras:

  1. Crie uma unidade flash USB ao vivo com o Ubuntu, deixando espaço para uma partição extra.
  2. Exclua o arquivo de loopback casper-rw na primeira partição FAT na unidade flash.
  3. Use gparted para criar uma partição ext2/ext3/ext4 após a partição FAT e forneça uma legenda de volume de casper-rw .

Eu segui todas as etapas recomendadas, mas a inicialização falha. Quando eu tento inicializar a partir do meu flash drive recém-criado, sou direcionado para um prompt em vez de inicializar corretamente o Ubuntu, embora eu brevemente veja a animação gráfica da tela de inicialização do 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) _

Eu passei pelo rastreador de bugs do Ubuntu e parece que esse problema foi observado por muitos outros:

E isso foi resolvido, então eu devo esperar que a correção já esteja na minha imagem do Ubuntu 14.04.03:

Eu também tentei atualizar meus parâmetros de inicialização do kernel, inserindo LIVE-MEDIA=/dev/sdd1 (no meu caso) no boot, pressionando TAB , ie:

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

Desta vez, pelo menos, encontra a partição de inicialização e começa a tentar inicializar o disco USB ao vivo, mas parece falhar ao longo do caminho, com um monte de avisos relacionados a "casper". Não consigo salvar esses registros, por isso não posso fornecê-los no momento. Meus argumentos atuais do kernel padrão são:

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

Como posso resolver esse problema?

Obrigado.

    
por DevNull 22.08.2015 / 19:07

8 respostas

7

Como mencionado no comentário anterior, isso está relacionado ao bug link "a sequência de montagem mudou da partição raiz para a partição persistente (15.04) para a primeira partição raiz persistente (16.04) por qualquer motivo."

Há um trabalho recentemente atualizado no tópico para o bug, que vou elaborar abaixo, já que o outro segmento não parece ter tanta visibilidade (aparece mais baixo na pesquisa do Google quando eu estava tentando trabalhar sair).

  1. Crie partições casper-rw e OS

  2. Use instalador USB universal, etc para configurar a partição do sistema operacional com o arquivo casper-rw grande o suficiente para poder fazer alterações - necessário para o passo posterior ao erro de solução (eu fiz isso com 2gb, mas certamente requer menos)

  3. Inicialize com o novo USB. Abra /usr/share/initramfs-tools/scripts/casper com raiz para editar (sudo). Altere a função setup_unionfs () para o seguinte: link

  4. sudo update-initramfs -u (Tive que desinstalar cryptsetup para fazer isso)

  5. Copie o arquivo initrd.img gerado de /boot para outro local.

  6. De outro sistema operacional, exclua o arquivo do casper-rw no USB. Copie o initrd.img de volta para a partição live e altere o item de menu para usar o initrd.img recém-construído.

Da próxima vez que você inicializar a partir do USB, ele deve agora ser inicializado a partir da partição do casper-rw .

Isso funcionou para mim em 16.04 depois de um longo tempo frustrante procurando a solução!

    
por Yu Jia Cheong 24.06.2016 / 10:16
4

Atualizações para a resposta de Yu Jia ... Obrigado Yu Jia por apontar na direção certa.

1) Use primeiro o arquivo casper-rw para evitar o problema de partição casper-rw. 500MB ou menos é bom o suficiente.

2) Inicialize com o novo USB. Abra / usr / share / initramfs-tools / scripts / casper com root para editar (sudo). Altere a função setup_unionfs () para o seguinte: link

3) sudo update-initramfs -u (aviso do cryptsetup, mas pode ser ignorado com segurança.)

4) Copie o arquivo "initrd.img.4.4 .... generic" gerado de / boot para outro local. Renomeie para initrd.img.

5) Em outro sistema operacional, exclua o arquivo casper-rw no USB.

6) Copie o initrd.img de volta para a partição live e mude o item de menu para usar o initrd.img recém-construído. por exemplo,

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
    
por StarBloom 30.08.2016 / 22:24
4

mkusb versão 11 classic e versão 12 alias mkusb-dus pode criar uma unidade live persistente automaticamente com todas as versões e versões atuais do Ubuntu, assim como com o Debian Jessie.

O mkusb usa uma partição casper-rw

O mkusb também funciona com algumas distribuições linux derivadas do Ubuntu. Eu não testei com as versões mais novas do Linux Mint, mas ele funciona com versões anteriores, porque a estrutura de inicialização é / foi semelhante o suficiente para o Ubuntu.

Instale o mkusb com as seguintes linhas de comando no Ubuntu e versões do Ubuntu (Kubuntu, Lubuntu ... Xubuntu).

Se você executar o Ubuntu padrão, precisará de uma instrução extra para obter o Universo do repositório. (Kubuntu, Lubuntu ... O Xubuntu tem o repositório do Universo ativado automaticamente.)

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

Veja estes links,

mkUSB-quick-start-manual.pdf

help.ubuntu.com/community/mkusb

help.ubuntu.com/community/mkusb/persistent

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

Download e uso do mkusb-installer funciona com várias outras distribuições linux. Use um dos links a seguir (e métodos),

help.ubuntu.com/community/mkusb/gui#from_phillw.net

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

    
por sudodus 30.01.2017 / 18:13
2

Eu não tive nenhum problema em criar o pendrive e inicializá-lo ... Você criou o perndrive da seguinte maneira?

O processo envolve 3 etapas:

  1. Particionando o pendrive.
  2. Criando um pendrive inicializável usando o Universal USB Installer .
  3. Adicionando sinalizadores à partição UUI e concluindo o processo de particionamento.

Etapa 1:

Abra o GParted e particione o pendrive da seguinte forma -

A partição não alocada é adicionada mais tarde no passo 3, sdc2 é para o Ubuntu e o sdc3 é para persistência. Como esse é um pendrive de 8GB, usei 3.32GB como drive persistente, mas funcionarei com qualquer tamanho. Etiquete esta partição como casper-rw .

Etapa 2:

Insira o pendrive em uma máquina Windows. A segunda unidade (ou seja, label-OS) será detectada. Instale o Ubuntu nesta unidade usando o Instalador USB Universal.

Defina um pequeno arquivo persistente, usei 204MB. O tamanho não importa, uma vez que vamos apagá-lo no passo 3 de qualquer forma. Pressione Criar .

Etapa 3:

Insira o pendrive de volta em um sistema Ubuntu e altere a tabela de partição da seguinte forma -

Agora, para a parte final, clique com o botão direito na segunda partição e selecione Gerenciar sinalizadores . Verifique Boot e lba .

Agora você tem um pendrive cuja primeira partição será detectada no Windows e uma unidade persistente maior que 4 GB.

    
por araghuteja 25.08.2015 / 18:11
2

Sua pergunta está relacionada a este bug: link

Uma versão mais antiga do 14.04 LTS funcionaria.

  • 14.04.2 funciona
  • 14.04.3 falha
  • 14.04.4 falha

Além disso:

  • 15.04 trabalhos
  • 15.10 falha
por Jose Stefan 02.04.2016 / 18:40
2

Eu apenas consegui isso com muita ajuda deste conjunto de respostas muito útil.

Para referência, eu estava configurando um Kingston Data Traveler de 16 GB com uma imagem ISO personalizada que eu tinha construído anteriormente usando o SystemBack.

O SO em que estou trabalhando é o Lubuntu, e meu ISO personalizado teve muitas mudanças no pacote de software (eu removi muito do gumpf e instalei alguns utilitários necessários).

Eu comecei usando o conjunto de instruções muito úteis do araghuteja e configurei meu dispositivo com três partições:

  • 4 GB para a partição FAT32 acessível do Windows ( /dev/sdc1 )
  • 2 GB para o SO ( /dev/sdc2 )
  • O restante (menos de 8 GB, mas aproximadamente isso) como a partição casper-rw ( /dev/sdc3 )

Isso infelizmente não funcionou, já que remover o arquivo casper-rw da partição do SO não é suficiente.

A ajuda real veio de Yu Jia Cheong e do StarBloom, onde eles explicam como redefinir o bootloader do GRUB para 'ver' a partição do .

Eu tive que fazer alguns detalhes que podem tornar as instruções de Yu Jia um pouco mais claras. (Por favor, note que estas instruções podem não ser totalmente apropriadas para a imagem padrão do Ubuntu ISO, pois acho que algumas das localizações dos arquivos podem ser alteradas pela configuração do Systemback).

Especificamente - na Parte 5, o arquivo gerado por

sudo update-initramfs -u

foi nomeado initrd.img-4.4.0-47-generic .

Então - eu copiei este arquivo para a minha partição 'casper-rw', mas depois percebi que o meu menu de inicialização do GRUB estava referenciando /casper/initrd.gz (em quatro lugares) que reside dentro de / boot / grub na partição UUI.

Então - eu renomei meu initrd.img-4.4.0-47-generic para initrd.gz , e substitui o arquivo em UUI / boot / grub / casper / (obviamente, mantendo uma cópia do arquivo antigo, apenas no caso!).

Inicializado com esse dispositivo USB específico e usando df -h na pasta raiz "machine", recebo o seguinte:

$ 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

Eu assumo que / cow é a partição live do casper, e está mostrando o tamanho correto.

Acho interessante que eu possa realmente VER a partição casper-rw como / dev / sdb2 quando estou usando a máquina - isso está correto ??

Eu também não estou convencido sobre o particionamento de 3 vias. No Windows (10), só vejo a partição OS , não a partição Data .

Muito obrigado a todos, e espero que minha experiência ajude outra pessoa! (Nota - Eu sou suficientemente novo no uso do Stack Exchange que não posso comentar - daí minha resposta é nova, ao invés de um comentário sobre o de Yu Jia).

Atualizar

Estou tentando novamente criar outro 'Pen-Machine' e percebi que quanto maior a imagem ISO, mais espaço você precisa criar para o arquivo do casper-rw quando você executa o UUInstaller.

Minha última imagem ISO é algo como 3,8 GB (é um Ubuntu 16.04 personalizado) e depois de três tentativas eu tenho que criar a partição inicial do sistema operacional em 5 GB e usar uma configuração de persistência de 1 GB no instalador - senão você fica sem armazenamento ao atualizar as funções do initramfs.

Nota - Eu finalmente recorri a configuração da partição do sistema operacional em 8 GB, apenas para ter certeza de que eu tinha espaço!

    
por JamesBB 30.01.2017 / 19:44
1

Parece ser o processo de inicialização interrompido logo após o carregamento do disco RAM inicial. Isso ocorre devido à falha na montagem do sistema de arquivos raiz (filesystem.squashfs). Como tudo funciona bem antes de editar a partição, um ou mais dos seguintes fatores podem ser o motivo da falha.

  • Alteração do UUID.
  • Arquivo (s) corrompido (filesystem.squashfs, vmlinuz)
  • Sistema de arquivos corrompido

Tente:

  • Formate a partição de inicialização (com ext3) (agora você tem três partições como antes).
  • Recrie o sistema ao vivo usando UNetbootin com a opção de persistência.
  • Exclua o arquivo de persistência (para que ele use a partição de persistência)
por totti 28.08.2015 / 18:48
1

Eu tenho tido um problema parecido com a imagem ISO do Lubuntu 14.04.3 i386 e desisti. Então eu tentei a imagem ISO do Lubuntu 15.04 AMD64 (eu tinha desistido anteriormente em 15.04 por causa de um bug que ocorre na inicialização, mas acaba sendo apenas um pequeno problema * ).

A partição casper-rw funciona bem com o sistema posterior (seguindo as instruções usuais), então parece que o problema não tem nada a ver com o processo, mas sim com um problema específico para algumas imagens ISO 14.04.

Eu já tinha instalado com sucesso um sistema Lubuntu 14.04 com uma partição casper-rw persistente, então eu sei que o 14.04 original funcionou. Então pode ser apenas 14.04.3 que é o problema?

* Se você usar o 15.04 e encontrar o problema "Parâmetro ausente no arquivo de configuração ..." na inicialização, digite "live" e digite.

    
por Gordon Rouse 26.01.2016 / 08:23