Solução de problemas de tempo extremo de inicialização no Linux

Solução de problemas de tempo extremo de inicialização no Linux

Não tenho certeza se este é o lugar certo para fazer perguntas relacionadas ao suporte técnico, mas isso definitivamente parece ser um problema do Linux ou pelo menos relacionado à maneira como o Linux interage com meu hardware.

Eu tenho um PC desktop construído a partir de uma estação de trabalho HP Z800 e pode ser relevante que o sistema estejanãoCompatível com UEFI, portanto, todos os sistemas operacionais usam esquemas de partição BIOS e MBR legados.

Normalmente faço inicialização dupla do Windows 10 e de uma distribuição Linux (atualmente Linux Mint 20.2, mas esse problema existe paratodosdistros que experimentei, incluindo Debian 11, Ubuntu 20.04-21.10, Fedora 33-35, OpenSUSE Tumbleweed e Arch Linux).

Como sou um usuário não técnico, não tenho certeza de qual é a terminologia adequada, mas para poder descrever corretamente meu problema, tenho que separar o processo de inicialização em três estágios (estas são minha própria terminologia e meu conflito com as existentes). que não conheço!):

  • Estágio 1: A parte que começa pressionando o botão liga / desliga e termina chegando ao bootloader (GRUB2).
  • Estágio 2: A parte que começa com a chegada ao bootloader e termina quando o sistema operacional real começa a inicializar, ou seja, quando recebo mensagens do console/systemd, a tela do plymouth, etc.
  • Estágio 3: A parte que começa com o final do Estágio 2 termina quando o sistema operacional está totalmente inicializado e eu estou no gerenciador de exibição.

O problema é que o Estágio 2 leva um tempo absurdamente longo. Então, quando eu chego ao gerenciador de inicialização e seleciono (ou seleciona automaticamente) uma entrada do Linux, a tela fica completamente em branco (com base na distribuição, pode haver um prompt piscando aqui, no Mint está completamente em branco, mas por exemplo, no Fedora eu geralmente recebo um prompt piscando), o sistema fica ocioso aqui por um tempo extremamente longo (Eu medi cerca de 1 minuto e 44 segundos da última vez) e então o Estágio 3 começa.

Como o Estágio 3 desce sem problemas, não sei como solucionar isso. Por exemplo, systemd-analyze dá Startup finished in 16.129s (kernel) + 2.863s (userspace) = 18.993s graphical.target reached after 2.120s in userspace, o que parece normal para mim e definitivamente não leva em conta o 1 minuto + nada entre o bootloader e o sistema operacional começando a inicializar.

Outras informações:

  • janelasnãocomporte-se desta maneira. Se eu selecionar a entrada do Windows 10 no bootloader, ele iniciará o processo de inicialização instantaneamente (mesmo se a inicialização rápida estiver desativada).
  • Nem sempre se comportou assim. Não tenho certeza de quando o comportamento começou (provavelmente cerca de um ano atrás) e acho que fiz uma reinstalação completa de ambos os sistemas operacionais no PC, limpando todos os discos rígidos e instalando o W10 e uma distribuição Linux do princípio. Mas nada de extraordinário aconteceu que pudesse fazer pensar em qualquer causa raiz para este problema.
  • Além de pequenas diferenças (como o prompt intermitente que mencionei antes), todas as distros Linux que experimentei desde então se comportam da mesma maneira. No entanto, não medi os tempos de inicialização de diferentes distros para verificar a variação. Mas em cada caso o tempo de espera é muito maior do que seria apropriado e é sempre o mesmo, entre a Fase 2 e a Fase 3.
  • Meu PC tem três discos rígidos, dois SSDs e um HDD giratório. Eu costumo usar um SSD para Windows C:, outro SSD para a partição Linux/e o HDD giratório para as partições Linux/home e Windows D:. Experimentei escrever código de inicialização MBR durante a instalação do Linux em cada um desses discos e o mesmo problema acontece em todos os casos. Portanto, parece que o disco de inicialização é irrelevante.

Eu não espero necessariamente uma solução mágica, mas como eu disse, não tenho absolutamente nenhuma ideia de como começar a solucionar isso, já que durante o tempo de espera nenhum feedback é fornecido para mim, e esse problema é muito difícil de procurar (por exemplo, procurar tempos de inicialização lentos geralmente pressupõe um problema do Estágio 3).

EDITAR:

  • Eu removi quiete splashadicionei systemd.show_status=yesaos parâmetros de inicialização. O problema permanece, ou seja, há mais de um minuto de tempo de espera antesqualquermensagem aparece.
  • A saída de dmesg | grep commandé [ 0.064784] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.11.0-38-generic root=UUID=78354078-8fcd-4223-8fb0-9137207cb415 ro systemd.show_status=yes.
  • Sobre as luzes LED: Durante o "tempo de espera", a luz verde ao lado do meu botão liga / desliga emitia luz constantemente, sem piscar. Esta é a única luz LED que vejo no meu chassi.
  • A saída de fdisk -le lsblkestá colada abaixo:
Disk /dev/sda: 447,13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: CT480BX500SSD1  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00a879e5

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    104447    102400    50M  7 HPFS/NTFS/exFAT
/dev/sda2          104448 936654957 936550510 446,6G  7 HPFS/NTFS/exFAT
/dev/sda3       936656896 937697279   1040384   508M 27 Hidden NTFS WinRE


Disk /dev/sdb: 1,84 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRX-00D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfc1366de

Device     Boot      Start        End    Sectors  Size Id Type
/dev/sdb1  *          2048 2833283071 2833281024  1,3T  7 HPFS/NTFS/exFAT
/dev/sdb2       2833283072 3907028991 1073745920  512G 83 Linux


Disk /dev/sdc: 223,58 GiB, 240057409536 bytes, 468862128 sectors
Disk model: KINGSTON SA400S3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x143a208b

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sdc1       452857856 468860927  16003072  7,6G 82 Linux swap / Solaris
/dev/sdc2  *         2048 452857855 452855808  216G 83 Linux

Partition table entries are not in disk order.

e

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 447,1G  0 disk 
├─sda1   8:1    0    50M  0 part 
├─sda2   8:2    0 446,6G  0 part 
└─sda3   8:3    0   508M  0 part 
sdb      8:16   0   1,8T  0 disk 
├─sdb1   8:17   0   1,3T  0 part 
└─sdb2   8:18   0   512G  0 part /Storage
sdc      8:32   0 223,6G  0 disk 
├─sdc1   8:33   0   7,6G  0 part [SWAP]
└─sdc2   8:34   0   216G  0 part /

informação relacionada