Inicialização lenta - “um trabalho inicial está sendo executado para o dev-disk-by…”

108

Não me lembro quando o problema começou a ocorrer, mas é provável que mudei minha imagem do VMWare Ubuntu para um SSD externo para poder usar o sistema operacional em qualquer um dos meus PCs. Não há muitos links no Google sobre o problema, mas os que aparecem falam sobre fstab. Por exemplo, Inicialização lenta - O que é "Um trabalho inicial está sendo executado para o dev-disk-by ..."? - Fórum OpenSUSE .

Captura de tela

Menciona ter que excluir a partição swap e criá-la novamente.

Eu posso tentar fazer isso com o Gparted, mas minha principal preocupação é perder minha configuração atual no Ubuntu, pois não tenho certeza do que acontecerá se eu mexer com a troca, conforme sugerido no tópico. Alguém pode ajudar?

cpd1
fonte
Você pode querer clonar seu SSD e então você pode bater-se :) (Tente CloneZilla para isso)
Grammargeek
Hah, sim, acho que posso fazer isso. Vou esperar até que eu estou de volta para casa das férias para que eu possa movê-lo para algo onde eu tenho mais espaço
Cpto1
1
Acabei consertando isso. Eu acho que nunca houve uma troca se eu fosse pelo Gparted. Acabei criando um e alterando a entrada no fstab. Que trabalhou e não mais 90 segunda bota
Cpto1
1
Se você resolveu o seu próprio problema, fazer a sua própria resposta e clique no cheque para marcá-lo como resolvido :)
Grammargeek
1
Faz sentido ...
Adicionei

Respostas:

115

Se você receber "um trabalho inicial iniciado por dev-disk-by .." seguido de um atraso de 90 segundos durante cada inicialização, execute as seguintes etapas:

  1. Instale o gparted usando o Software Center
  2. Abra o gparted e veja quais partições o Ubuntu está usando atualmente
  3. Edite o arquivo fstab usando a linha abaixo.

    sudo -H gedit /etc/fstab
    
  4. Encontre o dispositivo que você não está usando no momento

  5. Insira um #espaço no início dessa linha e comente-o.

  6. Redefinir, espero que funcione para você!

William MacDonald
fonte
3
Instruções passo a passo ajudam a todos! obrigado!
John Hall
I marcado seu como a resposta desde que você deu os passos
Cpto1
9
+1 ... para quem não consegue encontrá-lo /etc/fstab, também pode fazer check-in /etc/crypttab- esse foi o meu caso.
Grzegorz
7
Se for um ID de bloco alterado, em vez de comentar, prefiro corrigir o ID do dispositivo. Use lsblk -f para ver qual dispositivo está associado a qual ID e substitua o ID.
user1708042
3
O que funcionou para mim é alterar a etapa 4 para: "Copie o UUID encontrado no gparted para o dispositivo que está causando o atraso na inicialização" e a etapa 5 para: "Substitua onde o dispositivo está localizado no arquivo fstab". Às vezes, quando você altera as partições de movimentação, os UUIDs mudam e é isso que causa o problema. Você só precisa corrigir o novo UUID para a partição modificada.
M4l490n
35

Parece que o problema ocorreu devido ao fato de que, embora o fstab tivesse uma entrada para uma troca, na verdade não havia uma. Eu usei o GParted para redimensionar a partição e criei um novo Swap. Em seguida, copiei o UUID no arquivo fstab ...

  1. Agora tenho swap
  2. E a inicialização é reduzida em segundos ou mais de 90 segundos
cpd1
fonte
5
Redimensionei minha partição principal (exclusão / recriação de swap) e deparei-me com esse problema. Eu usei 'sudo blkid' para listar dispositivos por UUID e depois usei o novo UUID em / etc / fstab.
Brad Goss
32

Eu tive o mesmo problema depois de redimensionar minha partição principal na minha VM desde que o gparted live me forçou a excluir e reinicializar meu swap para fazer isso. Isso causou a configuração de um novo UUID que não correspondia ao arquivo fstab.

Para evitar o problema, /etc/fstabvocê pode

  • Substitua o UUID de troca pelo novo (execute sudo blkidpara encontrá-lo) após o redimensionamento da partição primária.

  • Ou, comente a partição swap antes (ou depois) do redimensionamento da partição primária.

Eu recomendaria o primeiro, pois é assim que o sistema operacional deve ser configurado.

Matthew Cordaro
fonte
Ajudou-me bem depois de se mudar minha partição swap
po.pe
17

No meu caso, eu já estava usando swap criptografado e o trabalho de inicialização mencionado /dev/mapper/cryptswap1. Para resolver o problema, também tive que remover o arquivo /etc/crypttab, além das etapas descritas na resposta de William MacDonald.

Kalle Elmér
fonte
6

Ao redimensionar ou excluir partições com o gparted, você geralmente precisa criar uma nova partição de troca.

É então necessário ativar a troca via gparted após a sua criação (existe o comando "Ativar troca").

Além disso, você deve copiar o novo UUID no / etc / fstab para montá-lo. Caso contrário, na inicialização, o sistema operacional tentará encontrá-lo, mas em vão porque o arquivo fstab contém o UUID referente à troca antiga. O Gparted fornece as informações para o UUID, mas você pode executar facilmente no terminal:

sudo blkid

Para encontrar isso.

Alessandro D'lncal
fonte
4

Eu tive o mesmo problema ao inicializar.

No meu /etc/fstabarquivo, minhas partições foram definidas como /dev/sda1, /dev/sda2etc., mas durante a inicialização, várias vezes apareceu a mensagem " Um trabalho de inicialização está sendo executado para dev-sdx " ("x" define qual unidade ou partição foi afetada).

Para resolvê-lo, alterei o valor do /dev/sdxUUID da partição. Para ver o UUID, execute o terminal lsblk -f. Em seguida, copie o UUID da partição afetada e grave-o no /etc/fstabarquivo, substituindo da /dev/sdaxseguinte maneira: /dev/sda1muda para UUID=xxxxxxxxxxxxxxxxxx.

Funcionou para mim, espero que esta informação seja útil.

Lord Ferm
fonte
Sim. Este é precisamente o problema que o UUID resolve. O sistema monta qualquer partição com esse ID, independentemente do dispositivo em que está ou onde a partição está localizada. Com a desvantagem de que você precisa alterar o UUID sempre que destruir / criar a partição ou instalar uma nova unidade. E duplicar uma partição (copiar / colar com gparted) criará uma cópia com o mesmo UUID, o que pode causar problemas se o original e a cópia estiverem on-line ao mesmo tempo. Para a maioria das pessoas, isso é bom, mas você deve ter isso em mente ao clonar / substituir unidades.
David C.
3

Minha inicialização foi mais lenta porque troquei minha unidade e o UUID não correspondeu. Isso fez com que o Ubuntu fizesse uma verificação durante a inicialização.

Eu frequentemente troco de carro. Se suas montagens estiverem sempre no mesmo local (como as minhas), você poderá remover o UUID e colocar o caminho direto para impedir que esse erro de verificação aconteça ...

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1 /               ext4    errors=remount-ro 0       1
/dev/sda2 none            swap    sw              0       0
Dan
fonte
Como essa sugestão aceleraria a inicialização? Alguma referência?
Mostafa Ahangarha
Eu estava respondendo sua pergunta de erro que causou a inicialização lenta. Eu tornei minha resposta mais clara.
Dan
1
Sim, a montagem pelo nome do dispositivo evita o problema, mas também cria o problema que os UUIDs (e os rótulos de volume) deveriam solucionar - que anexar uma unidade a locais diferentes (por exemplo, de uma interface SATA para outra) alterará o nome do dispositivo, quebrando suas montagens. Você precisa decidir com qual problema é mais fácil conviver, mas lembre-se de sua decisão, pois pode ser muito frustrante quando um problema ocorre porque você esqueceu.
David C.
3

Situação principal:

Já respondeu em detalhes ... (Você precisa verificar o UUID nesses arquivos)

/etc/crypttab 
/etc/fstab
/etc/grub.d/40_custom 
/boot/grub2/grub.cfg

Situação Alternativa I - Udev:

Isso pode ser causado pelo udev se você tiver um script de regra/etc/udev/rules.d/ que não seja executado no momento da inicialização; se o script falhar, a etapa do fstab continuará para sempre; basta editar o script para atender às suas necessidades ou excluí-lo.

Situação alternativa II - Crypted Dev:

As partições criptografadas podem ser confusas porque a partição principal possui um UUID e a descriptografada mapeada possui outro UUID diferente do principal para uma única partição; elas precisam ser definidas em um local diferente etc/crypttabe/etc/fstab

# lsblk -o name,uuid,mountpoint
├─sda2                         727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0)          P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi

UUID real precisa ser especificado em etc/crypttab

# cat /etc/crypttab
sda2_crypt  UUID=727fa348-8804-4773-ae3d-f3e176d12dac  none  luks

O UUID virtual precisa estar em /etc/fstab

# cat /etc/fstab
UUID=P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi / ext4 defaults,errors=remount-ro 0 1

Situação alternativa III - Ghost Dev:

Um dispositivo configurado para ser montado no momento da inicialização, mas não está presente no sistema ou desanexado como uma unidade USB.

Faça check-out de dispositivos conectados reais com lsblk -o name,uuid,mountpointe edite /etc/fstabpara manter apenas o dispositivo conectado OU deixe o dispositivo desconectado lá, mas configure-os para serem ignorados na inicialização com a opção noautoe defina a linha como esta

UUID=BLA-BLA-BLA /mount ext4 option,noauto,option 0 0

Verificando os logs do sistema

journalctl -ab 

systemd-analyze blame

systemd-analyze critical-chain

systemctl status dev-mapper-crypt_sda2.device

systemctl status systemd-udev-settle.service
intika
fonte
1
Obrigado, essa é uma resposta muito boa e deve ser aceita. A maioria das outras respostas aqui são perigosamente erradas e, mesmo que contornem o problema, eles introduzem outros problemas que podem ser menos óbvios, por exemplo, remover a criptografia de um dispositivo de troca.
Waqar Lim
2

Além de verificar /etc/fstabou /etc/crypttabconforme mencionado nas outras respostas, verifique também os UUIDs provenientes dos parâmetros do kernel em /etc/default/grub. Por um tempo, fiquei muito confuso com um sistema que era perfeitamente cromulento /etc/fstabapenas para descobrir um resume=…parâmetro do kernel na configuração do GRUB.

Cartaz aleatório
fonte
1
Isso me ajudou a resolver o problema. Meu / etc / fstab estava bom. Além disso, /etc/default/grubeu também tive que fazer alterações /boot/efi/EFI/fedora/grub.cfg. O parâmetro "resume = UUID = ..." do linux ficou obsoleto depois que eu alterei manualmente a partição swap.
Stphane
1

Você pode pular a espera e ir diretamente para a tela de login usando ' Ctrl+ c' e, em seguida, trabalhar na solução. Às vezes isso vai durar para sempre, se não.

Ramon Suarez
fonte
Isso é literalmente Ctrl, a tecla mais ec?
muru
Sim, é isso :)
Ramon Suarez
0

Eu sei que isso é antigo, mas me deparei com esse problema, a mesma mensagem de erro, ao clonar uma instalação com o rsync. sem erros no fstab, o problema foi resolvido após a atualização manual dos initrdfs. para conseguir isso,

  1. inicialize a máquina em uma instalação funcional (máquina de inicialização múltipla, livecd caso contrário)

  2. monte a partição raiz do sistema com o problema

  3. monte dev, sys e proc como para um chroot de trabalho

  4. chroot na raiz do sistema de arquivos

  5. execute mkinitrd

  6. saia do chroot e reinicie.

merchamion
fonte