Vamos explicar um pouco de comida ... e depois explicar o que está acontecendo com o que você está fazendo. Existem 4 partes para inicializar um sistema linux:
- O registro de inicialização mestre. Isso é muito pequeno e deve estar localizado em um setor muito específico no disco. O BIOS é codificado para procurar por isso e iniciar a execução lá.
- O Bootlaoder em si. Isso pode ser grub, lilo, syslinux ou uma variedade de outras coisas. Neste caso, é grub. Freqüentemente, o MBR (master boot record) e o bootloader são o mesmo arquivo localizado estrategicamente na mídia inicializável. (normalmente iniciando nos primeiros bytes do disco) Isso nem sempre é o caso, já que você pode ter uma carga de bootloader em um segundo bootloader.
- O próprio Kernel. Infelizmente, o próprio kernel não faz muito sem bits adicionais. Pense nisso como um cérebro. Por si só não pode fazer muito. Acrescente alguns scripts de partes do corpo (olhos, pernas, sistema circulatório, etc ...), módulos do kernel e você terá o início de um sistema adequado.
- A imagem inicial do Ramdisk. Esta é uma imagem pequena o suficiente para iniciar o sistema operacional inteiro. Ele é carregado na RAM e montado como o sistema de arquivos raiz. Geralmente contém tudo o que o kernel precisa para inicializar. (Módulos de kernel, scripts de inicialização, etc ...) Em algum momento, o ramdisk inicial irá remontar o sistema de arquivos raiz real em seu lugar, e transferir a execução adicional para os scripts init localizados nessa raiz. Você nem sempre precisa de um ramdisk inicial ... mas você está limitado pelo que pode colocar na bzImage.
Agora, uma explicação dos valores "UUID". Pessoalmente, eu odeio UUIDs. Eu entendo porque eles são usados hoje ... mas isso não me faz odiá-los menos. No passado, nós simplesmente definíamos discos como "/ dev / hda1" ou "(hd0,1)", o que nos dizia que era o primeiro disco físico (hda ou hd0) e a primeira partição naquele disco. Se você decidiu adicionar uma segunda unidade, a unidade antiga se tornaria hdb ou hd1? ou seria o mesmo? Para combater essa ambigüidade, alguém teve a idéia de criar um "Identificador único universal", que atribuía um valor único a cada disco, que persistiria durante as reinicializações, e não se importaria com a ordem em que os discos são detectados. é gravado no disco ... e geralmente permanece intocado. A desvantagem é que, se você clonar o sistema de arquivos em outro disco ... o UUID não corresponderá e o sistema não inicializará. Se você quiser ficar com UUIDs ... basta inicializar o sistema em um típico live-disk ... e olhar em / dev / disk / by-uuid para aquele que aponta para a unidade / partição em questão.
A boa notícia é que você não precisa usar UUIDs. Você pode remover o comando "search" e deixar a raiz = ser o fator determinante para o que é root. Você também pode usar --label em vez de --fs-uuid e especificar o rótulo do disco (se você definir um).