分类: BSD
2008-04-03 15:54:16
# fdisk -i wd1 |
fdisk能检测硬盘的真实映射数据和BIOS的映射数据,由于FreeBSD不使用BIOS存取硬盘数据,因此这两个数据有可能不一致,但这不影响FreeBSD系统对硬盘的访问。但BIOS的映射数据必须与BIOS中的设置一致,否则fdisk使用错误数据划分的分区,系统的引导和其他使用BIOS的操作系统就无法正确识别。当硬盘上没有硬盘分区时,fdisk无法获得正确的BIOS映射数据(因为FreeBSD不访问BIOS),此时就需要在询问是否更改BIOS映射方式时回答yes,以进行更改。一般在硬盘上已有分区或不需要兼容的情况下,不需要更改这个设置,直接回车选择no略过这个设置。
The data for partition 1 is: |
然后,fdisk会针对每个分区询问是否更改其数据,此时按需要更改分区的设置。由于使用fdisk可以直接指定分区的起始和结束,因此具有很大的灵活性,也很容易出现错误,如分区的划分出现重叠。由于多操作系统引导程序 Boot Manager占用了硬盘主引导区后面的几个空余扇区,按照DOS/Windows的标准,虽然主引导区仅占用了一个扇区,同一柱面中的其他扇区(一般为64或32个)也不能被分配给其他分区,而要保持为空余,这些扇区可以为 Boot Manager占用。这样就在fdisk指定分区的起始时,是不能从0开始的,而要从下一个柱面的起始位置开始。
然后按照要求回答分区的类型,(FreeBSD分区为165,DOS分区为6),分区的开始位置和大小,注意单位应该为512字节(扇区大小)。后面的大部分参数可以使用缺省值回应询问,或者设定激活分区。
更改分区设置并保存退出fdisk之后,还需要检查系统中是否具有对应的设备文件,必须在/dev目录下拥有相应的设备文件才能访问物理设备。
划分了UFS基本分区之后,就可以使用disklabel创建文件系统或交换空间的disklabel了,为了方便起见,可以先为这个分区建立空的disklabel,然后再进行修改。
# disklabel -r -w wd1s3 auto |
在使用-w参数为分区wd1s3生成缺省的disklabel时,就必须给定磁盘的类型,通常可以使用auto ,让系统自动检测。除了自动侦测之外,在/etc/disktab文件中也给出了很多标准磁盘类型数据,这些数据中包括包括软盘在内的各种磁盘类型,对于这个文件中不存在的新型磁盘,可以根据原有类型进行修改而生成新数据。通常很少需要利用这个文件中提供的磁盘类型数据来生成disklabel,使用auto参数能让系统自动检测磁盘的类型。极少数情况下,例如在配置伪存储设备vn的时候,才需要使用具体磁盘类型参数。
直接生成的disklabel仅仅包括磁盘的类型信息,以及一个使用c表示整个系统分区的空disklabel ,而没有具体文件系统的disklabel。要真正划分文件系统,需要再使用disklabel -e编辑更改disklabel 配置,例如增加两个子分区,b和e,就需要为b设置类型swap的disklabel,为e设置类型4.2BSD的disklabel,而c使用的unused类型表示这个disklabel不用做文件系统或交换空间,可用于特定目的,如raw方式存取硬盘。
注意由于要使用手工计算文件系统的大小,因此很容易发生重叠等错误。各个不同空间的disklabel允许重叠,例如缺省产生的以c代表的disklabel表示整个FreeBSD系统分区就会与其他disklabel的空间重叠。但是具体用做文件系统或交换空间的部分就不能重叠,否则会导致存取错误发生。
保存退出后,就可以使用disklabel -r wd1s1来查看新建的代表文件系统或交换空间的label 。下面为增加之后的disklabel的最后一部分。
# size offset fstype [fsize bsize bps/cpg] |
然后在新建的disklabel为4.2BSD类型的空间上真正建立文件系统,需要使用newfs命令。
# newfs /dev/rwd1s1e |
执行fsck检查刚建立的磁盘分区有无错误
# fsck -y /dev/rwd1s1e |
然后就可以将这个建立好的文件系统安装到系统中了,如果建立的是交换空间,可以使用swapon命令可使该交换分区立即生效。
# mount /dev/wd1s1e /mnt |
为了在启动时自动安装上这个文件系统,需要编辑/etc/fstab文件,将文件系统和交换设备加入系统,那么下次系统启动之后,就能使用新的磁盘分区和新的交换设备了。例如新磁盘为wd1,相应FreeBSD的分区为wd1s3e (文件系统)和wd1s3b(交换分区),文件系统要安装到系统的/disk2目录下,则fstab应为:
# Device Mountpoint FStype Options Dump Pass# |
然后就可以使用新硬盘来调整空间紧张的磁盘上的文件和目录。此时,除了可以使用符号连接这种方式之外,还可以直接将该新建的文件系统安装到需要的目录下。这也是推荐的方式,因为符号连接会对文件操作的性能造成少许影响。
# cd /usr |