Chỉnh sửa: như ai đó đã lưu ý trong luồng này , vấn đề là quá trình khởi động tại một số điểm muốn gắn hệ thống tập tin gốc từ thiết bị loopback theo cách không thể thực hiện được với chức năng loopback của GRUB. Lưu ý rằng PC-BSD đã được đổi tên thành TrueOS và giờ đây họ cung cấp hình ảnh USB.
Tôi không quá quen thuộc với BSD và tôi không thể tìm thấy bất cứ điều gì về BSD trong bài viết về ổ USB Multiboot của Arch , tuy nhiên họ có 3 cách trong bài viết GRUB của họ , ít nhất một cách nên hoạt động khi thích nghi với các thiết bị gắn trên vòng lặp:
Chainloading bản ghi khởi động nhúng
menuentry 'FreeBSD' {
insmod ufs2
set root='hd0,gpt4,bsd1'
chainloader +1
}
Điều này có vẻ đơn giản và tải mô-đun hệ thống tập tin thích hợp có vẻ là một ý tưởng hay nhưng hãy nhớ rằng trên phương tiện quang học có ISO 9660 hoặc UDF và không có phân vùng nào theo hiểu biết của tôi ngoài El Torito.
Chạy trình tải BSD giai đoạn 2 truyền thống
menuentry 'FreeBSD' {
insmod ufs2
set root='(hd0,4)'
kfreebsd /boot/loader
}
Đó gần như là những gì bạn đã làm chỉ là một cấu hình tĩnh mà không cần gọi tìm kiếm.
Đang tải kernel trực tiếp
menuentry 'FreeBSD' {
insmod ufs2
set root='hd0,gpt4,bsd1'
## or 'hd0,msdos4,bsd1', if using an IBM-PC (MS-DOS) style partition table
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s4a
set kFreeBSD.vfs.root.mountfrom.options=rw
}
Điều đó có vẻ phức tạp đáng ngạc nhiên. Tôi vừa mới tải xuống iso PC-BSD 10.3, hy vọng tôi sẽ có thời gian chơi với nó để tìm ra cách làm cho nó hoạt động thông qua UEFI hoặc di sản trong vài ngày tới.
ls
choopen '/' failed: no such file or directory
. Tôi tự hỏi làm thế nào trình tải hoạt động trong khi (dường như) không tìm thấy root?