Você não forneceu muitas informações com os logs, mas eu acredito que o erro que você está enfrentando é porque o kernel está confuso com uma unidade IDE / SATA. Fazer uma rápida pesquisa no Google levou-me ao link 1 , link 2 , link 3
Veja a seguir o trecho de um link referido por um dos links acima :
O mais provável é um dos problemas mais recorrentes (mas, uma vez resolvido, provavelmente você nunca mais verá isso novamente:
Unable to mount root fs on unknown-block(0,0)
ou
VFS: Cannot open root device "sda3" or unknown-block(8,3) Please append a correct "root=" boot option; here are the available partitions: sda driver: sd sda1 sda2
Os dígitos
0,0
ou8,3
podem ser diferentes no seu caso - referem-se a o dispositivo que o kernel tenta acessar (e que falha). De um modo geral, pode-se dizer que, se o primeiro dígito é 0, então o O kernel não consegue identificar o hardware. Se for outro dígito (como 8), é incapaz de identificar o sistema de arquivos (mas é capaz de acessar o hardware).O problema aqui é que o kernel que você está inicializando não pode traduzir o parâmetro
root=/dev/...
que você deu (dentro do boot configuração do carregador) em um sistema de arquivos real e acessível. De várias razões podem resultar em tal falha:
- a configuração do kernel não possui drivers para seu controlador de HDD (casos 1, 4, 5)
- a configuração do kernel está faltando drivers para o barramento usado pelo seu controlador de HDD
- a configuração do kernel está faltando drivers para o sistema de arquivos que você está usando
- o dispositivo foi identificado erroneamente em seu parâmetro root = (casos 2, 3)
Resolver o problema é fácil se você souber qual é o motivo. Você mais provavelmente não, então aqui está um rápido check-up.
Abra o assistente de configuração do kernel (a parte make menuconfig ) que você pode atualizar a configuração do kernel de acordo.
- Verifique se você tem suporte embutido (e não como módulo) para o barramento / protocolo que seu controlador de disco rígido usa.
- O mais provável é que esse suporte seja PCI, suporte a SATA (que está abaixo do suporte a dispositivos SCSI), ...
- Verifique se você tem suporte embutido (e não como módulo) para o controlador de HDD que você usa. Um dos casos mais freqüentes: você selecionou o suporte para o protocolo do controlador de disco rígido (IDE, SATA, SCSI, ...), mas esqueceu de usar o protocolo. selecione o controlador do HDD em si (como o Intel PIIX). Tente
executando o seguinte comando lscpi e cole sua saída no link . O site mostrará a você qual kernel drivers que você precisa selecionar para o seu sistema. Dentro do menuconfig,
você pode digitar "/" para abrir a função de pesquisa e digitar o driver
nome para descobrir onde ele reside. %código%- Verifique se você tem suporte embutido (e não como módulo) para o (s) sistema (s) de arquivos usado (s).
- Digamos que seu sistema de arquivos raiz use btrfs (que definitivamente não recomendo), mas você não o selecionou ou selecionou para ser criado como um. módulo, então você receberá o erro que você vê. Verifique se o sistema de arquivos
suporte é construído no kernel.Verifique se o parâmetro do kernel para
# lspci -n
está apontando para a partição correta.Isso não é tão estúpido quanto parece. Quando você é iniciado com um kernel, ele pode listar seus discos como sendo / dev / sda enquanto o seu O kernel (configurado) espera que ele seja / dev / hda. Isso não é porque os núcleos são inconsistentes entre si, mas por causa do drivers usados: drivers mais antigos usam a sintaxe hda, sda mais recente.
Tente alternar hda com sda (e hdb com sdb e ...).
Além disso, kernels recentes oferecem uma visão geral das partições encontradas no dispositivo disse. Em caso afirmativo, pode ajudá-lo a identificar se você uma partição selecionada (no exemplo dado no início deste seção, apenas duas partições são encontradas enquanto o kernel era instruído a inicializar o terceiro). Se isso não acontecer, é mais provável porque o kernel não conhece o dispositivo para começar (então ele não pode tente exibir partições).
Verifique se o kernel que está sendo inicializado pelo gerenciador de inicialização é o kernel correto. Eu tenho visto pessoas que, depois de construir um primeiro kernel (que não inicializa), esquecem que eles têm que montar
root=
antes do Sobrescreva o kernel com um novo. Como resultado, eles copiam kernel para o sistema de arquivos raiz (/boot
) enquanto o gerenciador de inicialização espera que a imagem do kernel esteja na partição/
.