我想在Linux下制作freebsd8.2USB启动盘.
于是我先阅读FreeBSD 中文计划中的FreeBSD 使用手册的第I部分第2章第2.3节2.3.7准备引导介质的要求.
发现这个:
# sysctl kern.geom.debugflags=16
我觉得这个东西LINUX没有, 应该不会有很大影响.
然后, wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.2/FreeBSD-8.2-RELEASE-amd64-memstick.img, 完成后,插入U盘, 下一步fdisk -l查到U盘是/dev/sdb1, 在下一步, dd if=/home/wu/FreeBSD-8.2-RELEASE-amd64-memstick.img of=/dev/sdb1 bs=64k.最后, Shutdown -r now.
开机以后显示, missing operating system.
这就是全部的操作过程. 主引导记录是不是没有写入正确的内容.
chengshiding 于 2011-03-27 19:50:30发表:
不带数字应该是从磁盘的0扇区写,而sdb1应该是跨过磁盘开头的MBR扇区。但是MBR好像要占512字节。
我以前试图把ubuntu镜像用这种命令的方式写进去 ,用U盘引导启动,但是没成功,最后在windows下用软碟通写进去就可以。忘记了是不是我多了个 1的原因。
karl_der_grosse 于 2011-03-27 11:53:36发表:
dd if=/FreeBSD-8.2-RELEASE-amd64-memstick.img of=/dev/sdb1 bs=64k会制作freebsd8.2USB启动盘失败
dd if=/FreeBSD-8.2-RELEASE-amd64-memstick.img of=/dev/sdb bs=64k则能成功
为什么会有这种区别?
karl_der_grosse 于 2011-03-27 11:38:39发表:
我想知道:
dd if=/home/wu/FreeBSD-8.2-RELEASE-amd64-memstick.img of=/dev/sdb1 bs=64k制作freebsd8.2USB启动盘失败
dd if=/home/wu/Freebsd-8.2-RELEASE-amd64-memstick.img of=/dev/sdb1 bs=64k没把if后面的参数对应.img文件mbr信息写入到U盘mbr.
而dd if=/home/wu/Freebsd-8.2-RELEASE-amd64-memstick.img of=/dev/sdb1 bs=64k制作freebsd8.2USB启动盘dd if=/home/wu/Freebsd-8.2-RELEASE-amd64-memstick.img of=/dev/sdb bs=64k就把它写进U盘mbr去了
karl_der_grosse 于 2011-03-27 09:24:51发表:
看过之后, 我回到运行级别2.
dd if=/dev/zero of=/dev/sdb, 再按照以上的引用: dd if=/home/wu/Freebsd-8.2-RELEASE-amd64-memstick.img of=/dev/sdb bs=64k
最后, shutdown -r now. 开机后进入bios更改设置退出, 成功进入freebsd安装界面.
另, dd指令if后跟的参数/dev/sdb1和/dev/sdb结果为什么会有不同
. 后面写的是个人思路对不对请指正:
dd if=/home/wu/Freebsd-8.2-RELEASE-amd64-memstick.img of=/dev/sdb1 bs=64k没把if后面的参数对应.img文件mbr信息写入到U盘mbr.
而d if=/home/wu/Freebsd-8.2-RELEASE-amd64-memstick.img of=/dev/sdb bs=64k就把它写进U盘mbr去了
coov 于 2011-03-27 08:49:02发表:
帮顶
yhzm1314 于 2011-03-27 08:13:55发表:
注意:
这条命令会清空U盘上的数据~~~~使用之前请备份U盘上的数据
yhzm1314 于 2011-03-27 08:11:00发表:
[i=s] 本帖最后由 yhzm1314 于 2011-3-27 08:12 编辑 [/i]
dd if=XXX.img of=/dev/sdb bs=8192
注意 /dev/sdb 后面不要带数字 “1”