开始慢慢由Windwos转到BSD下,我选择的是NetBSD,关于原因就不再详述了。 了解,用熟,深入,改造NetBSD,是我很早以前就已经确立了的目标,整个过程会很辛苦,也很漫长,所以觉得有必要把这个前进的过程给记录下来:一方面是个经验,可能会对有些相同情况的人有用;另一方面自己在记录的时候也加深对问题的理解,同时也能发现一些以前没有注意到的地方。 现在还处于了解阶段,刚开始,所以打算把以后所有的体会和经验都放到这里,让它见证我的进步,欢迎捧场。 就我个人来说,生性就讨厌某一个产品一统天下的局面,所以用BSD来替代Windows也是早就谋划好了的,只是进步一直比较慢。浏览器现在已经转到Opera,电子邮件用Foxmail和DreamMail替代Outlook了,OS是个大关键,现在已经装好了NetBSD4.0_RC3和XP的双系统,就开始吧。 用BSD,学习BSD,前提都是要装BSD.但这对处在中国的我们来说,是个比较麻烦的问题。不容易 得到最新的安装盘,所以唯一可行的就是直接下载光盘镜像了。但对于我们初级“非Windows er"”来说,用ISO镜像安装确实比较烦,很容易出问题。所以建议在安装之前先看一下官方说明文档,了解基本的术语和安装过程中要注意的问题,最好找一些详细的图解安装教程,好在现在这方面的文章比较多,很容易找得到,我就不再多说了。另外,如果是第一次接触非Windows,最好先在虚拟机下安装,因为虚拟机安装比正式在硬盘上安装要容易,可以不用考虑复杂的分区问题,减少可能存在的数据丢失的风险。虚拟机推荐用专业的VMWare,该产品功能强大,就不在多述。在虚拟机下熟悉了安装流程之后,就可以正式在硬盘上安装了。由于安装介质是ISO镜像,所以只能用“硬盘安装”的方式进行安装了。 关于硬盘安装NetBSD,网上有好几篇文章,在阅读我这篇文章之前,最好先找来看一看。我在安装之前就是先参考了这几篇文章了,下面是这几篇文章的地址: http://bbs.chinaunix.net/viewthread.php?tid=838712 http://www.bsdforum.org.cn/viewtopic.php?p=3 不过由于他们讲的和的情况不大一样,所以根据自己的实际又重新写了一篇,如果有疏漏失误的地方,欢迎指正。 另外我原文是Word文档,将它转换成网页形式后很多格式图片都没了,看起来有些吃力。如果谁有兴趣看原文档,可和我联系。 E-mail:gisrzf@163.com 好,下面开始第一篇B文吧。 NetBSD系列文章(一)硬盘安装NetBSD 概述: 硬盘安装NetBSD,需要先准备好一张NetBSD的iso镜像文件,可去NetBSD的官方站点下载(www.netbsd.org)。由于在我的pc上已经装好了windows,所以再装NetBSD时就需要用引导器来负责多系统启动。可用的引导器有Grub和LILO,我选择的是Grub。 准备工作: 1.收集系统相关信息: NetBSD版本: 4.0 RC_3 已装操作系统: Windows XP 引导器: WinGrub 0.95 分区工具: PQMagic v8.0 硬盘分区信息 : 下表是安装NetBSD之前的我的电脑上的分区情况,由于windows和NetBSD,Grub采用不同得分区命名方法,所以将同一分区的不同表示方式都罗列出来了,方便以后使用。 Windows 下名称 C D E F G Grub 下名称 (hd0,0) (hd0,4) (hd0,5) (hd0,6) (hd0,7) NetBSD 下名称 Wd0e Wd0i Wd0j Wd0k Wd0l 分区类型 NTFS FAT32 FAT32 FAT32 NTFS 分区大小(M) 8535 23643 26427 38154 37958 2.准备分区 安装之前,需要为NetBSD准备一个独立分区。我选择pq,分区过程不再赘述,需要注意的是,在选择分区类型时由于没有NetBSD的分区类型,所以选freebsd的分区类型(可能选其他的类型也不会有太大问题,因为在安装时NetBSD的安装进程会自动将分区转换为所需要的类型)。还有,如果准备实际使用的话,分区最好大一点,我选的是17G.。 3.准备好安装源 将netbsd的镜像安装文件解压到一个fat32系统分区目录下,并设置为一个单独的文件夹,我这里设为D:/netbsd对应Grub下名称为(hd0,4)。 然后将镜像文件中I386/BINARY/KERNEL/NETBSD_INSTALL.GZ文件复制解压到D:/netbsd下。 (关于该处应该拷哪些文件,我个人其实不太清楚,因为我参考别人的情况和我的不一样,而又没找到参考资料,就姑且这样了) 4.安装引导器 Grub的安装比较简单,一路next就可以。 安装好wingrub,第一次运行得选择一个盘,我是C,然后再tools->install grub,否则等会儿安装会出问题。 Install->grub,如果boot from MBR 后得partition列表框没有选项,就选择boot from boot.ini,下图 Title,timeout随便填就是。 接下来重要的是编辑menu.lst文件,该文件是引导器引导得关键文件。 在C:/Grub下有一个menu.lst文件,如果前面第一次运行没有选择c盘,这里就不会有该目录了。 记事本打开该文件,共有四行 ‘timeout 10 title Windows at (hd0,0) root (hd0,0) chainloader +1’ 前面已经准备好了NetBSD的安装源,现在开始编辑menu.lst,加入如下四行: ‘title netbsd_INSTALL root (hd0,4) kernel --type=netbsd /netbsd-INSTALL boot’ 注意:这里netbsd /netbsd-INSTALL “/”前有一个空格,否则在引导时会出问题: ‘booting ‘netbsd-INSTALL’ Root (hd0,4) Filesystem type is fat,partition type 0Xb Kernel –type=netbsd/netbsd-INSTALL error 1: filename must be either absolute name or blocklist” 这里(hd0,4)表示NetBSD的安装源文件是在windows的D盘下,安装是视具体情况而定。如果不知道自己的分区在Grub下对应的名称,在Grub的菜单Tools->Partition List中可以查看: 做好这些以后,就已经把netbsd的安装程序加入了引导器了,在启动时会从这里面指定的路径读取相应的文件。 关于更多的Grub知识,请参考:http://www.gnu.org/software/grub/manual/grub.html。 做了这么多工作,已经准备好了,只需要重启就可以开始安装NetBSD了。 正式安装: 重启后,由于已经安装好引导器,因此不会像以前一样直接进入windows,而是会弹出菜单供你选择启动哪个系统,如果没有的话,可能是前面准备工作出了问题,请仔细检查。 如果前面的准备工作没问题的话,应该会有两个启动菜单项“Windwos XP”和“netbsd-INSTALL”,这是前面在menu.lst中指定的。 选择“netbsd-INSTALL”,就会进入NetBSD的安装程序了。 关于NetBSD的具体安装步骤,这里就不再详述,只列出需要注意的问题。 在安装过程中,最需要注意的是分区。 关于unix-like类系统的分区设置,有很多资料可以查看,不难了解。下面是我安装后的硬盘分区结构图: d e i j k l c a b f h m g 需要注意的是,上面分区名称都是在NetBSD的wd0硬盘下的,所以全称 应该是wd0*,如wd0e,wd0i,wd0j等等。下面是分区的详细信息: 分区类型 windows对应盘符 备注 Wd0a: 4.2BSD Wd0b: swap Wd0c: unused Wd0d: unused Wd0e: NTFS C: Wd0f: 4.2BSD Wd0g: unknown Wd0h: 4.2BSD Wd0i: MSDOS D: (安装源文件在此分区) Wd0j: MSODS E: Wd0k: MSDOS F: Wd0l: NTFS G: Wd0m: 4.2BSD 在设置好 netbsd 分区后,安装程序会列出一张分区列表,这时注意一下你放置 netbsd安装源文件夹的那个分区的名称。比如我的是wd0i。 继续。 在选择安装介质时,选择umount fs。然后设置: device: wd0i file system: msdos base directory: netbsd set directory: /i386/binary/sets 该项是默认的。 aevice wd0i #这就是你的安装源所在分区的设备名。 b.Filesystem msdos #这就是你的安装源所在分区的文件系统类型。fat32为msdos,ntfs还是ntfs,ext2/3为ext2fs,netbsd的为ffs。经作者本人试验,完全支持fat32和ntfs的文件系统的安装 c:Base directory #这就是上面第一步中提到的i386所在目录。系统默认是release。如果i386是在根目录下的话就留空 d:set /i386/binary/sets #这就是具体的安装源了。就是有一堆base.tgz.、comp.tgz之类文件的目录。如果你是下载的整个i386目录并且没有改变目录结构及其中文件的话就用系统默认的/i386/binary/sets就行 如果你无法确定自己的安装源所在分区的话,如下操作 a.按ctrl+z,让安装进程“sysinst”暂时挂起到后台 b.运行“disklabel /dev/wd0”或“disklabel /dev/wd1”(其他设备依此类推),查找自己安装源所在的文件系统在netbsd里的命名方法并记下 c.输入“fg”,让安装程序“sysinst”转入前台继续安装 到这一步,如果没有什么问题就应该已经开始拷贝文件,正式进入安装过程了。 在我自己进行安装时,在选择安装介质这一步出过好几次问题。 我曾经按上面的方法设置安装源路径,结果怎么试都是: “mnt2/dev/wd0i/netbsd//i386/binary/sets/kern-Generic.tgz”does not exist 而事实上该路径下确实存在该文件,试了多种路径写法都解决不了,估计是文件的命名上错了,查到资料说netbsd不认8.3命名法,所有的路径都经过粗暴的处理后成为无法解释的字符串,所以认不了: Then I see that /dev/wdoe mounts on /mnt After that it complains /mnt2///kern-GENERIC.tgz does not exist (because the 8.3 naming problem) Then tar -zxvepf /mnt2///base.tgz starts, but stops right after extracting ./dev/fd with a message: [1] Illegal instruction (core dumped) sysinst a "df" shows that /dev/wd0a is mounted as /targetroot and /dev/wd0g as /targetroot/usr, being 7% and 8% full respectively At that point I can see the # for the prompt but my input is not shown, although the commands are understood !!?? I guess I could hand-copy the tgz files to a local directory in BSD partition and tar -zxvepf everything from there? But I would rather use the installer, that is what it was made for in the first place right? I had never thought about using MS-DOS for this, but, of course, it works. I end up using some other system and nfs for installs and I use MacOS only to boot the mac68k systems.“ 不过看别人的经验,应该能解决。既然自路不通,那么只有另谋他路了。 万一出现上述问题,可以试试ftp方式。 配置很简单,只需要填一个dns就可以了,其他的自动设置好了,自动下文件安装。 不过这样安装最受不了得是,速度太慢了,平均下来才2k多,20多m得东西,居然下了3个小时,最可气得是,到最后竟然还是装不了! 不知道是什么原因,ftp安装失败。 奇怪的是,当我通过ftp下载了一些安装文件(主要是Generic.tgz和base.tgz两个文件)后,再试ummounted fs,竟然认了路径。 这样一来,接下来一路OK,顺顺利利的就装好了。 (后来猜测,可能是在前面准备的时候,还需要某个文件没准备好,通过ftp下载该文件后就可以继续安装了)。 后续工作: NetBSD装好后,电脑里就是双系统了。这时又出现另一个比较麻烦的问题,无法正确引导双系统。 因为在装了NetBSD后,就自动的装了NetBSD的引导器netbsd boot MBR,这样原来的引导器Grub就不起作用了。于是在开机时,pc就通过netbsd boot MBR直接进入NetBSD,根本不给机会让你选择进windows。因此到这一步,如果还想回windwos,就得重新配置引导器了。 其实netbsd boot MBR也可以引导双系统,好像在安装时有个bootmenu,没怎么注意,后来怎么都找不到该如何配置netbsd boot MBR来启动双系统,就只好想其他办法了。 在netbsd下有个fdisk程序,该程序就是用来管理启动引导器的,其大致启动过程是:先找到整个磁盘得活动分区(标志为Active得分区),默认情况下是netbsd所在得wd0i分区,然后在按照设置从第一个活动分区启动或者从第一个盘启动。有办法了。 先执行fdisk得到分区列表,查看netbsd和windows在哪个分区下(果然只有netbsd被标识为active),然后 Fdisk –a 设置windows所在分区为active 最后 fdisk –B 设置从第一个活动分区启动。 重启。 并没有像以前一样直接进入netbsd,而是先“黑”了老半天,啥都没有,不耐烦了回车一下,然后奇迹出现了:久违得选择菜单神奇得出现了,选择熟悉得windows,然后,就看到了那飘动得旗帜和长长得滚动条了,至此,已经顺利得实现了windows得回归。 不过虽然回到了windows,却再也无法进入netbsd,因为这时grub的menu.lst里只有先前设置的两个选项:windows XP和 netbsd_INSTALL(NetBSD的安装程序,不是进入安装好的NetBSD)。此时要想再回到NetBSD,就得重写grub的menu.lst了。 参考Grub的manul,得知引导NetBSD主要分三个步骤,下面摘录来自grub manul: GRUB can load NetBSD a.out and ELF directly, follow these steps: 1. Set GRUB’s root device wit root (see Section 13.3.31 [root], page 47). 2. Load the kernel with kernel (see Section 13.3.20 [kernel], page 46). You should append the ugly option ?-type=netbsd’, if you want to load an ELF kernel, like this grub> kernel --type=netbsd /netbsd-elf 3. Run boot (see Section 13.3.2 [boot], page 42). For now, however, GRUB doesn’t allow you to pass kernel parameters, so it ma be better to chain-load it instead. For more information, please see Section 4.1.2 [Chain- loading], page 11. 再次查看Grub的partition list,分区如下: 可见NetBSD的分区在Grub下是(hd0,2)。 我写了如下几种引导方式: ‘title netbsd 4.0-1 root (hd0,2) boot’ ‘title netbsd 4.0--2 root (hd0,2) kernel boot’ ‘ title netbsd 4.0--3 root (hd0,2) kernel --type=netbsd /netbsd-elf boot’ 结果均无法正常引导NetBSD,分别提示: 1.kernel must be loaded before boot 2.fielname must be either an abosolute pathname or blocklist 3.can’t mount selected partition 没办法,试试chainloader: title netbsd 4.0 rootnoverity (hd0,2) makeactive chainloader +1 boot 返回: Makeactive: invalid device requested 再试: title netbsd 4.0 root (hd0,2) chainloader +1 boot 这次居然成功了,能够正常引导NetBSD. 到这里,就已经可以在windows和NetBSD之间自由穿行了。 这时menu.lst如下: timeout 20 title Windows at (hd0,0) root (hd0,0) chainloader +1 title netbsd 4.0 root (hd0,2) chainloader +1 boot 下面列一下我的电脑的启动过程: 1. 开机进入BIOS,硬件信息过后,并没有直接弹出Grub的启动菜单,而是在黑屏上显示“Fn:diskn”.这时启动的是NetBSD boot MBR,由于前面已经设置windows所在的c盘为活动分区,因此NetBSD boot MBR发现NetBSD所在的分区不是活动分区而无法正常进入NetBSD。 2. 回车。此时进入了windwos的BootLoader(读取c:/boot.ini)。可能是回车后,NetBSD boot MBR就开始从活动分区c盘开始启动。然后就弹出启动菜单菜单。 3. 选择“netbsd 4.0”。此时进入Grub,(读取menu.lst)。有两个菜单项:Windows at (hd0,0)和netbsd 4.0,这是menu.lst中设置的。 4. 选择netbsd 4.0。至此就顺利进入NetBSD了。 可以看到,这里分别用到了NetBSD,windows和Grub三种启动引导器,经过三重引导后才能进入NetBSD。其实本可以不必如此麻烦,用其中得一个就能引导,只是不知道具体该怎么做,只能暂时这样了。 2008-1-15 参考文献: 1. the GNU GRUB manual 2. http://www.linuxsir.org/bbs/printthread.php?p=1209201 3. 北南南北“系统引导管理器GRUB,为初学者指南”Http://www.linuxsir.org/main/?q=node/129 4. 北南南北“系统引导管理器GRUB学习笔记”http://www.linuxsir.org/main/?q=node/130 5. "硬盘安装NetBSD"http://bbs.chinaunix.net/viewthread.php?tid=838712 6. "硬盘安装NetBSD" http://www.bsdforum.org.cn/viewtopic.php?p=3

硬盘安装NetBSD4.0相关推荐

  1. win10装linux分区格式化硬盘,windows10 下硬盘安装centos7.0 – MBR硬盘分区格式

    准备工作 1,下载centos7.0系统镜像文件 2,建立ext4分区,存放centos7镜像文件以及安装所需目录(images,isolinux) 可在win10下安装PM分区工具,新建ext4分区 ...

  2. U(优)盘安装FreeBSD-9.0+GNOME_lite桌面

    贴图在我的主页:http://hi.baidu.com/daodej/item/26313f4fc3db51ef1f19bcc6  修订于:2012/07/04  标题:U(优)盘安装FreeBSD- ...

  3. xp装linux一键安装教程图解,XP下硬盘安装CentOS 6.0图解教程

    电脑系统是Windows XP,电脑没有光驱.手头没有U盘.没有移动硬盘.电脑主板不支持U盘启动,在这种情况下想安装CentOS 6.0,有木有办法? 答案:有办法,请看下面教程! 必备工具: 一.电 ...

  4. suma服务器 硬盘安装,[Server] HP DL380 G6更新esxi6.0 SATA 硬盘掉线问题

    最近弄了台旧服务器HP DL380 G6安装esxi6.0之后,发现本地硬盘时不时会经常掉线,然后必须要重启服务器,找了相关的资料发现是由于板载的P410i固件版本过旧引起的,然后准备更新固件发现了几 ...

  5. 如何用easybcd从硬盘安装ubuntu 10.0

    如何用easybcd从硬盘安装ubuntu 10.04(WIN7,VASTA) Ubuntu又一个LTS版本10.04今天发布了.我在第一时间下了dvd版(学校ipv6的速度那叫个快),但我没有dvd ...

  6. linux服务器 硬盘安装教程,硬盘安装CentOS 6.0(超级详细图文教程) | 系统运维...

    引言: 电脑系统是Windows XP,电脑没有光驱.手头没有U盘.没有移动硬盘.电脑主板不支持U盘启动,在这种情况下想安装CentOS 6.0,有木有办法? 答案:有办法,请看下面教程! 必备工具: ...

  7. 惠普硬盘安装linux,hp台式电脑原本是linux系统,如何安装win7系统

    你是想安装虚拟机还是真正的系统,如果是虚拟机,就比较简单,但效果没有xp和ubuntu双系统爽. 我给你简要说一些安装双系统怎么弄.因为你没有启动盘,就只有硬盘安装了.其实也可以把它刻录成光盘在安装, ...

  8. 【Linux】在VirtualBox-6.0中安装Manjaro18.0

    1.参考博客: VMware虚拟机下Manjaro17.1.6安装详细教程 2.在VirtualBox-6.0中安装Manjaro18.0 1)基本步骤和博客中安装17.1.6相同,下面只记录不同的. ...

  9. TensorFlow2.0正式版发布,极简安装TF2.0(CPUGPU)教程

    作者 | 小宋是呢 转载自CSDN博客 [导读]TensorFlow 2.0,昨天凌晨,正式放出了2.0版本. 不少网友表示,TensorFlow 2.0比PyTorch更好用,已经准备全面转向这个新 ...

最新文章

  1. CComboBox 置空
  2. MyEclipse6.0下代码提示(alt+/)无法使用的解决方法
  3. python控制流代码怎么用_Python学习笔记控制流的元素
  4. 详述Redo日志中操作系统块头信息损坏的处理过程
  5. php utf-8编码 正则匹配中文
  6. java sql merge_sql merge用法
  7. (转)正则表达式在ORACLE中的使用
  8. 基于matlab单目视觉焊缝跟踪系统,基于激光线结构光3D视觉的机器人轨迹跟踪方法与应用...
  9. 图标圆角角度_教你在 iOS 和 macOS 上获取 App 图标
  10. 记录一丢丢自己在用FileTransfer和FileOpener2实现自动更新下载安装apk时候踩的坑
  11. Java项目集成海康威视门禁,NVR
  12. 机器学习核心概念完全解析(建议收藏)
  13. 51job的城市编号
  14. GCC编译器下C语言不定长参数宏##__VA_ARGS__和__VA_ARGS__的使用
  15. ccs工程文件类型和作用
  16. Optimizing radiotherapy plans for cancer treatment with Tensor Networks解读
  17. Python:folium地图标记icon分组展示
  18. 期待第二届云计算大会
  19. Android 8.1 中Systemui中的常见修改(二)电池的修改
  20. plc和单片机哪个更有前途?为什么本科生都不搞plc?

热门文章

  1. stm32cubemx打开头文件路径错误_prt文件右键打开方式没有NX软件的解决方案
  2. 码云如何下载历史版本代码_git和码云的使用
  3. matlab输入字符串函数,MATLAB字符串函数
  4. 工业控制计算机原理与应用,《工业控制计算机原理与应用》课程标准.doc
  5. Win10环境下CPU版本基于YOLOv5的行人检测研究(包括Anaconda安装超详细)
  6. Android Studio TV开发教程(五)建立电视回放应用
  7. 计算机组成原理带进位加运算,计算机组成原理实验运算器进位.doc
  8. 怎样理解WaaS?看zCloud如何走上自治智能数据库云管平台的道路
  9. SAP大中华区公布Q4及全年财报 软件及相关服务成亮点
  10. 华为服务器建虚拟机,在服务器上创建虚拟机