Parece que você está falando sobre o Debian.
Isso diz tudo, se você o tiver usando o sistema init tradicional. Especificamente:
O programa "/ sbin / init" é executado como o primeiro programa e executa o processo principal de inicialização. O Debian normalmente usa o esquema sysvinit tradicional com o pacote sysv-rc. Veja init (8), inittab (5) e "/usr/share/doc/sysv-rc/README.runlevels.gz" para a explicação exata. Esse processo principal de inicialização basicamente segue o seguinte.
O sistema Debian entra no nível de execução N (nenhum) para inicializar o sistema seguindo a descrição "/ etc / inittab".
O sistema Debian entra no nível de execução S para inicializar o sistema no modo de usuário único para concluir a inicialização do hardware, etc.
O sistema Debian entra em um dos níveis de execução multiusuário especificados (2 a 5) para iniciar os serviços do sistema.
O que acontece por nível de execução é que tudo /etc/rcX.dé executado, em ordem alfabética, onde Xestá o nível de execução.
Então, se você cd /etc/rcS.dverá /etc/init.dvários links simbólicos para , que começam com um número. O número está lá para determinar o pedido. Os que começam com Ssão executados quando o nível de execução é inserido e os que começam com Ksão executados quando o nível de execução é encerrado. O nível de execução "S" é usado apenas para inicialização, portanto, não há Klinks lá.
Tome cuidado aqui se você modificar ou renomear qualquer coisa. Teste seus scripts antes de submeter-se a um processo de inicialização.
Ok, vamos tentar responder à pergunta agora, com as informações acima, conforme o necessário.
No Debian, /etc/rc.S/S11mountall.shé onde o crucial "montar tudo no fstab" acontece. No entanto, fstabé consultado para montar o sistema de arquivos raiz em /etc/rc.S/S07checkroot.sh.
Se você fstabmontar automaticamente um novo /etc, tudo dentro /etc/rc.S/S12*e mais alto estará usando o /etcvolume "overlay". No entanto, você precisa de um válido /etc/fstabno volume raiz naquele momento com antecedência.
Outras coisas que /etcsão consultadas incluem /etc/hostname, possivelmente algumas coisas relacionadas a udev(o que é extremamente importante). Você precisa olhar para todos os scripts /etc/rc.S/S11*e para saber exatamente. Se você realmente não quer nada /etcaté que seja montado a partir de uma partição externa, você está olhando para modificar esses scripts. Provavelmente não será tão simples quanto mudar a ordem de /etc/rc.S/S12mountall.sh, por exemplo /etc/rc.S/S00mountall.sh, mas é possível adicionar um novo script que é trazido /etcde uma partição externa anteriormente.
Você pode usar o mount --bindcomando Linux para montar o original do volume raiz em /etcalgum lugar (como /etc_from_rootfs) para copiá-lo quando fizer alterações fstabou outros arquivos consultados anteriormente /etc/rc.S/S12mountall.sh.
O kernel do Linux não faz o que o Windows faz, que é usar e exigir a presença do registro antes e durante a inicialização. O próprio kernel inicializa bem (mas não é terrivelmente utilizável em 99% das instâncias) sem /etc, mas cabe aos programas de espaço de usuário chamados após (começando com init), que depois observam /etc, para preparar um ambiente de usuário decente.
Parece complicado? É por isso que é provável que ouvir @MattDMo seja prudente.
/etc/fstabpara nada. São os initramfs que são montados/(e frequentemente/usr), e o init executado a partir das/montagens é o restante.