У меня есть настройка usb-ключей для мультизагрузки разных образов Linux. Я не против добавить FreeNAS, и есть документ с примерами для добавления вgrub.cfg
menuentry "FreeNAS-8.0.4-RELEASE-x64" {
insmod ufs2
insmod iso9660
# /usr/local/sbin/grub-probe -d /dev/sde1 -t fs_uuid
# c89c-7b3a
#search --no-floppy --fs-uuid --set c89c-7b3a
set isofile="/boot/FreeNAS-8.0.4-RELEASE-x64.iso"
loopback loop $isofile
kfreebsd (loop)/boot/kernel/kernel.gz
kfreebsd_loadenv (loop)/boot/device.hints
#set FreeBSD.vfs.root.mountfrom=ufs:/dev/ad4s1a
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/acd0
set kFreeBSD.vfs.root.mountfrom.options=rw
#set vfs.root.mountfrom=cd9660:/dev/ad1s1
#set vfs.root.mountfrom.options=rw
}
Я немного не уверен в настройке корня VFS. Вот результат попытки загрузить это;
Некоторая полезная информация может быть найдена в; загрузить FreeBSD iso с флешки grub2
grub.cfg
Ответы:
Поскольку вы пытаетесь загрузиться с флэш-накопителя USB, устройство будет начинаться с da. В выводе вы можете видеть, что он был обнаружен как / dev / da0. В зависимости от того, как устройство было разделено, это может быть что-то вроде / dev / da0s1a или / dev / da0a (если нет bsdlabel).
Проблема заключается в том, что в зависимости от компьютера он может не определиться как da0 во всех случаях. da также используется для устройств scsi, и USB-ридеры также будут называться da * устройствами. Обходной путь после того, как вы можете запустить его, состоит в том, чтобы использовать функцию метки GEOM, чтобы «назвать» точку монтирования, а затем вы можете изменить свой fstab, чтобы ссылаться на него по имени. Он всегда будет работать независимо от того, какое устройство помечено тогда. man glabel для получения дополнительной информации в среде FreeBSD. (или проверьте сайт с руководствами freebsd)
источник
Кажется, что ядро застопорилось, так как когда дело доходит до загрузки USB-накопителя, еще не сообщили о его существовании. Интересно, что делает ваш конфиг, но он не работает и не предоставил ядру FreeBSD правильное имя устройства для загрузки.
Вам нужно спросить ядро о доступных дисках, набрав '?' как подсказывает подсказка. После этого вы должны ввести правильную спецификацию корневой файловой системы для вашего корневого раздела. Это должно быть что-то вроде ufs: / dev / da0s1a в зависимости от того, как вы разбили USB-диск на разделы.
Когда вы найдете правильный путь к диску, вы должны изменить свой grub.conf с этим путем. Также обратите внимание, что он должен читать «FreeBSD», а не «kFreeBSD», поскольку ваши настройки просто игнорируются.
источник
Попробуйте добавить переменную загрузчика, чтобы увеличить задержку инициализации USB. Вы можете добавить эту переменную в /boot/loader.conf или во время загрузки в командной строке. В качестве альтернативы вы также можете выбрать «3» в меню загрузки, чтобы разрешить загрузку с USB. (не уверен на 100%, если это 3-й)
set kern.cam.boot_delay="10000"
Это работает, когда в процессе загрузки возникают проблемы с подключением USB-накопителя.
Все три варианта выше выполняют одно и то же
Удачи
источник