A primeira pergunta é por que você confia especificamente em / dev / sda1. Assumindo que é para o parâmetro "root = DEVNAME" para o kernel, a maneira como a maioria das distros resolve isso é usando um initrd cujo script de inicialização analisa todos os dispositivos disponíveis e escolhe inteligentemente um. É assim que muitas distros permitem que você diga coisas como "root = LABEL = MY_ROOT"; o kernel não está processando isso, o script de inicialização é. O script de inicialização pode executar ferramentas como "blkid" para identificar dispositivos de bloco pelo UUID ou pelo rótulo do sistema de arquivos.
Infelizmente, construir seu próprio initrd é um longo processo de aprendizado, mas há muitos guias para ajudar você a conseguir o que precisa.
Agora, se o seu problema foi com o comando mount, o mount já suporta a montagem por UUID ou LABEL (veja man mount
), então é uma mudança bem fácil.