Eu tive o seguinte cenário:
Eu instalei o arquivo FreeBSD 10.1 USB .img em 1GB e instalei o FreeBSD no stick de 16GB. O stick de 1 GB foi reconhecido como /dev/da0 e o stick de 16 GB como /dev/da1 . O FreeBSD foi instalado em 16GB stick sob /dev/da1s2a . Então eu removi o stick de 1GB e - normalmente - não consigo inicializar o sistema FreeBSD automaticamente. O sistema disse que não pode inicializar em vfs.root.mountfrom="/dev/da1s2a" , mas me ofereceu para inicializar manualmente no FreeBSD, então eu tive que mudar a fatia de inicialização para /dev/da0s2a , e funcionou. Claro, eu não quero fazer isso manualmente, então encontrei este post.
Isso me inspirou a procurar o local da variável vfs.root.mountfrom , então eu fiz o upgrade do sistema, peguei o stick de 16GB, coloquei de volta o stick de 1GB, inicializei dele como um Live CD. Neste ponto, eu coloquei de volta o stick de 16GB, montei-o ( mount /dev/da1s2a /mnt ) e procurei por "vfs.root.mountfrom". Meus resultados foram:
- NÃO MUDE o arquivo
/boot/loader.conf !
- NÃO MUDE o arquivo
/boot/defaults/loader.conf !
Desde que fazer essas coisas vai atrapalhar o carregador!
A solução foi ajustar o /etc/fstab no /mnt (stick de 16 GB) alterando a entrada /dev/da1s2a para /dev/da0s2a/ quando o carregador está procurando fstab para sistemas de arquivos em fstab durante a inicialização e escreva automaticamente o valor da variável vfs.Root.Mountfrom !!!
Então, durante a reinicialização eu removi o stick de 1GB e a máquina inicializou o FreeBSD com sucesso!