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!