ATUALIZAÇÃO 20180327: Recentemente encontrei um comando bastante esotérico que, nas últimas duas semanas, corrigiu meus problemas de inicialização. Aqui está o que eu fiz ...
Mantenha pressionado o ALT + SysRq (no meu laptop, o SysRq é uma tecla de função no END) e, enquanto segura as teclas, LENTAMENTE - aguarde um segundo ou dois entre cada tecla - digite REISU B. fazer várias coisas, incluindo reiniciar o computador. E voila! Eu tenho estado livre de problemas nas últimas duas semanas.
Então, o que exatamente isso faz?
- R: alterna o teclado do modo bruto para o modo XLATE
- E: Envie o sinal SIGTERM para todos os processos, exceto init
- I: Envie o sinal SIGKILL para todos os processos, exceto o init
- S: Sincronize todos os sistemas de arquivos montados
- U: Remontar todos os sistemas de arquivos montados no modo somente leitura
- B: Reinicie imediatamente o sistema sem desmontar partições ou sincronizar. Se você quiser desligar o computador, digite O em seu lugar.
UPDATE 20171120: Parece que há um problema recorrente com o / dev / sdb3, em que os inodes se tornam órfãos. Sempre que o sistema inicializa no Modo de Manutenção, a execução do seguinte corrige consistentemente o problema:
$ umount /dev/sdb3 # as a precaution, sdb3 is usually not mounted yet
$ fsck -y /dev/sdb3
Isso normalmente retorna um aviso dizendo que "blocos livres contam errado ..." e depois "inodes gratuitos contam errado ..." seguido de uma correção.
Por que o sistema regularmente faz isso, o júri ainda está fora. Mas, enquanto isso, isso conserta o sistema e traz tudo de volta à ordem de trabalho.
ATUALIZAÇÃO 20171113: Welp ... Acontece que esta resposta foi uma medida provisória temporária na melhor das hipóteses ... O sistema irá arrancar várias vezes seguidas sem nenhum problema. Mas então, aparentemente do nada, ele começará a entrar no modo de manutenção. A única "correção", então, é inicializar no modo de recuperação e executar um disco de verificação. E se isso não corrigir a inicialização padrão, carregue um CD ao vivo e execute a verificação completa do fsck.
O fato de o sistema funcionar bem no modo de recuperação me deixou confiante de que o disco não estava corrompido. Além disso, como os drivers de vídeo não estão totalmente carregados no modo de recuperação, isso me fez suspeitar que tinha algo a ver com o chip AMD Radeon do meu laptop.
Isso me levou a descobrir o seguinte comando:
$ unbuntu-drivers devices
Este comando lista os pacotes disponíveis que correspondem ao hardware do sistema. No meu caso, isso listou "amd64-microcode". Depois de instalar esse pacote, eu não entrei em mais problemas de inicialização (knock on wood). Repeti o mesmo processo quando a unidade está conectada à minha área de trabalho principal, para que a unidade esteja totalmente pronta para uso em ambos os ambientes.