Solucionando problemas de boot no Linux
Publicado em 21/01/2009 – 16:13por Carlos Morimoto
Em quase todas as distribuições, é possível especificar opções adicionais durante o boot. Estas opções são repassadas diretamente ao kernel, alterando seu comportamento, ou desativando recursos que podem fazer com que o sistema trave durante o boot, ou que determinados não seja reconhecidos. No Ubuntu, por exemplo, você pode acessar a linha de opções para o kernel pressionando a tecla F6 na tela de boot:

Você pode combinar várias opções, caso necessário, combinando de uma vez várias opções para solucionar problemas comuns (acpi=off, noapic, nolapic, etc.) de maneira a tentar fazer a máquina terminar o boot e depois ir testando uma a uma para descobrir qual elas que realmente resolveu o problema.
Todas estas opções possuem efeitos colaterais, de forma que elas não servem para otimizar ou melhorar o desempenho do sistema, são apenas uma forma de solucionar problemas em casos específicos. Vamos então a uma lista das opções disponíveis, que você pode usar como fonte de consulta para quando tiver problemas:
acpi=off: Esta opção desativa o ACPI, corrigindo problemas diversos de boot em muitas máquinas. O ACPI é o responsável pelo monitoramento da carga da bateria, ajuste da freqüência do processador e muitas outras funções importantes, de maneira que você deve deixar para desativá-lo apenas em último caso.
acpi=noirq: Esta é uma versão mais light da opção "acpi=off", que ao invés de desativar completamente o suporte a ACPI, desativa apenas a atribuição dinâmica de endereços, que é a causa de uma grande parte dos problemas relacionados ao ACPI.
Esta opção corrige problemas na detecção da placa de rede, placa de som e placa wireless em diversos notebooks da Acer, Positivo e possivelmente outros fabricantes, além de diversas placas-mãe com chipset SiS, causadas por bugs na atribuição de endereços por parte do BIOS.
Uma observação importante é que embora corrija problemas em algumas placas e notebooks, esta opção cria problemas de detecção de componentes e conflitos em outros, fazendo com que a placa wireless ou periféricos USB não sejam detectados, por exemplo. Você deve usá-la apenas como forma de solucionar problemas, nunca como uma opção de rotina.
noapic: O APIC é um recurso usado nos micros modernos para atribuir endereços de IRQ, evitando conflitos entre os dispositivos. Entretanto, muitos PCs usam BIOS com bugs diversos, que atribuem o endereços incorretamente. O resultado mais comum é que alguns periféricos não sejam detectados pelo sistema, como nos misteriosos casos onde a placa de som ou a placa de rede não são detectados no Linux. Usar esta opção soluciona o problema em muitos casos.
Note que, em muitos casos, a melhor forma de corrigir de forma definitiva este tipo de problema é fazer uma atualização de BIOS da placa-mãe, já que uma versão corrigida pode solucionar o problema direto na fonte. Muitos fabricantes, como a Asus, oferecem um bom suporte com relação a isso; vale a pena verificar se não existe uma atualização disponível para sua placa. Normalmente, o upgrade de BIOS é feito dando boot através de um disquete ou CD-ROM gravado com uma imagem baixada na página do fabricante. Atualizar o BIOS é um procedimento potencialmente perigoso, por isso não deixe de ler as instruções do fabricante e checar se o arquivo baixado é realmente para a sua placa.
nolapic: O LAPIC (local APCI) é uma variação do APIC que é usado em máquinas com processadores dual-core ou quad-core. Assim como a "noapic", a opção "nolapic" é usada para solucionar problemas relacionados ao boot ou à detecção de periféricos. Embora as duas possam ser usadas em conjunto enquanto você está atirando para todos os lados, normalmente apenas uma delas é necessária.
nosmp: Em máquinas com processadores dual-core, esta opção desativa o segundo núcleo, o que soluciona problemas de boot em muitas máquinas. Naturalmente, sem um dos núcleos o desempenho da máquina será mais baixo, mas ela serve como uma solução temporária, até que você descubra uma solução definitiva para o problema, que pode ser uma atualização de BIOS, uma nova versão do kernel, ou, simplesmente, uma versão atualizada da distribuição em uso.
pci=biosirq: Esta é mais uma opção que resolve problemas de detecção da placa de rede ou som em algumas máquinas. Ela faz com que o sistema siga a configuração de endereços definida pelo BIOS, em vez de usar o procedimento normal de detecção.
pci=bios: Mais uma opção de compatibilidade, desta vez destinada a burlar problemas com a controladora PCI da placa mãe. Embora raro, é necessário usá-la para que o sistema consiga completar o boot em alguns notebooks.
pnpbios=off: Desativa o suporte a plug-and-play por parte do BIOS da placa-mãe, deixando que o Kernel se encarregue da detecção de todos os componentes. Esta é mais uma opção que resolve problemas de compatibilidade em algumas placas.
irqpoll: Esta opção modifica a forma como o sistema detecta os dispositivos da máquina, corrigindo uma série de problemas em PCs e notebooks recentes, sobretudo quando usados em conjunto com distribuições antigas, anteriores a 2008. Ela é necessária para a placa wireless funcionar em alguns notebooks Acer com placas Broadcom, resolve problemas relacionados com a placa de som ou com placa de rede em diversas configurações e soluciona um problema relacionado à detecção de HDs SATA em placas baseadas no chipset K8T890 (como a Asus A8V-E), entre outras. Esta opção causa poucos efeitos colaterais, se comparada com as demais.
reboot=b: Essa opção faz com que seja usada uma função alternativa para reiniciar o micro via software, resolvendo alguns casos em que a máquina não reinicia sozinha ao usar o comando "reboot".
all-generic-ide: Esta opção soluciona problemas de compatibilidade com as controladoras IDE ou SATA de algumas placas-mãe, sobretudo nas placas com o infame chipset SiS 761GX/965L (ao usar um HD SATA), como a PC-Chips K8 A31G. Esta opção deve ser usada em casos onde o sistema não consegue detectar os HDs do micro (o que além de impedir que você acesse os arquivos, impossibilita a instalação). Ao usar a opção de boot, o sistema utiliza um modo de acesso genérico para os HDs, o que resolve o problema na maioria dos casos.
Esta opção causa uma redução significativa no desempenho do sistema, por isso só deve ser usada quando realmente necessário. Uma peculiaridade é que ela faz o sistema detectar o HD SATA como "/dev/hde" e não "/dev/sda", como seria usual. Apesar disso, a instalação do sistema ocorre de forma normal. Outra dica é que em algumas placas com chipset VIA pode ser necessário combiná-la com a opção "irqpoll", solucionando também um problema com a atribuição dos endereços.



13 respostas para “Solucionando problemas de boot no Linux”
o assunto nesse texto é muito utilizado no dia-a-dia. Gostei muito desse texto. Mais uma vez meus parabéns.
texto muito interessante.
esses exemplos são genéricos, certo ?
servem para qualquer distribuição, visto que o kernel é um só..
Está de parabéns, muito boa matéria sobre inicialização dos sistemas linux.
Estas opções de boot já me salvaram várias vezes, principalmente esta de usar all-generic-ide, num slackware 11.
Muito boa a matéria.
Ciao
Minha mobo é uma A13g. Tinha um CD-live do Ubuntu 7.04 que funcionava normalmente. Mas TODAS as distros depois disso dão erro no boot, parece ser algo relacionado ao sata. Testei varios Ubuntu, Mandriva e OpenSUSE e nenhum iniciou corretamente, o único que consegui fazer funcuonar foi o Slax Popcorn Editon. O motivo eu não faço idéia.
Alguma dica? Quero muito tentar usar o linux (Mandriva)
Realmente ajudam, mas há casos em que tudo o que resta é tentar outra distribuição ou uma mais recente.
Particularmente tenho um problema chato: preciso de uma distro que suporte meu modem lucent, mas que reconheça o restante da máquina (quad core, nvidia, etc). Infelizmente quando um dos problemas é resolvido, o outro permanece. Por exemplo, as versões Gutsy e Hardy Heron do K/Ubuntu davam conta do modem num pc antigo, mas não consigo dar boot no novo pc.
Saudades do tempo em que o Kurumin fazia chover :(
Valeu pela dica, o linux mostra seu poder na linha de comandos.
Que isso!!! Ow!! Carlos..Quero lhe parabenizar! O seu trabalho é ótimo… Lhe Considero como uns dos Grandes nome da Informática! Obrigado mesmo, pela contribuição que a vc dá a todos nós, sedentos por conhecimento…
Aqui, quanto ao "all-generic-ide" não seria "all_generic_ide"?
Abraços a todos….!
Na verdade tem as duas, varia de acordo com a versão do kernel usada. Uma dica pros mais geeks é que você pode confirmar o que as opções fazem (e descobrir outras) olhando direto dentro do código dos módulos e procurando pelos comentários. A all-generic-ide, por exemplo, é citada dentro do ide-generic.ko.
Tem também a "generic.all_generic_ide=1", que é uma versão longa da "all_generic_ide" :)
Olá, gostaria de parabenizar ao usuário desse texto,e dizer q é muito bom e bastante instrutivo. Mais eu gostaria de aproveitar o ensejo, para colocar uma dúvida e tentar tira-lá,é sobre uma possível instalação do Linux Kurumin p/ o HD. Já tentei de forma simples, criando partições no HD,mais ele me pede uma Partição Swap e na verdade ele não cria e nem faz a instalação… só roda no drive como se estivesse já instalado.Quero colocar essa instalação por cima do Win.XP, que seria um 2º HD que faço dele como se foce um Backup.Gostaria dessa orientação.
Instalar impressoras é muito fácil no kurumin só que uma vez desligado o computador, quando religado, não reconhece mais a impressora, apesar de aparecer entre as impressoras instaladas. Poderia me dizer qual o problema? Obrigada
Esses artigos desse guia superou minhas expectativas. Quando lí os títulos pensei os textos fosse bem superficiais, mas depois de tê-los lido gostei muito. Os artigos estão enfatizando problemas, realmente, reais. Acho que esse livro vai sair muito bom!
morimoto vc teria uma soluçao para o ubuntu 8.04 no cce j94 reconhecer os 2 nucleos pq o meu roda soh com "noapic nolapic nosmp pnpbios=off" sei ki u nosmp anula o 2 nucleo ai eu tentei "acpi=off noapic nolapic nobluetooth" ai me aconteceu ki perdi wireless mas fikei com 2 nucleos teria a soluçao para isso ?