硬盘的添加方法

2009-05-13 00:40:55来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


http://blog.chinaunix.net/index.php?op=ViewArticle&blogId=2809&articleId=7782
习惯了windows的人一到FreeBSD的时候,由于还没有领会到unix下的高效和工作方式,往往会觉得FreeBSD下的一些工作非常耐烦,不直观,不高效,比如硬盘的添加就是其中一项。需要指出的是,这是一种误解,下面我将详细来说明一下FreeBSD下硬盘的准备、文件系统创建等问题。
FreeBSD下添加硬盘一般有三个步骤,即:fdisk disklabel newfs。如果不需要考虑和别的系统共用一个硬盘那么就只有两个步骤,即:disklabel newfs。同时为了先删除原来的分区,先要进行一个准备工作。下面将就每一个步骤详细说明:
注意:为了说明方便以一个设备名为ad2的硬盘为例,参数如下:
******* Working on device /dev/ad2 *******
parameters extracted from in-core disklabel are:
cylinders=3618 heads=15 sectors/track=63 (945 blks/cyl)
如果你参照这篇文章进行操作,请把ad2换成对应的设备文件
1、准备步骤
# dd if=/dev/zero of=/dev/ad2 bs=1k count=1
上面这行命令的作用是把一个大小为1k的全为0的文件写入到ad2的第一个扇区中,我们知道第一个扇区是主引导区,运行上面这个命令后就等于把原来的主引导区给删了。删除后的分区表为:
******* Working on device /dev/ad2 *******
parameters extracted from in-core disklabel are:
cylinders=3618 heads=15 sectors/track=63 (945 blks/cyl)
Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=3618 heads=15 sectors/track=63 (945 blks/cyl)
fdisk: invalid fdisk partition table found
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
The data for partition 2 is:
The data for partition 3 is:
The data for partition 4 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 3418947 (1669 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 545/ head 14/ sector 63
可以看到要像这个硬盘有一个分区,这个分区覆盖了整个硬盘,这是初始状态,先不用管它。这种效果和使用
# fdisk -I
的效果是一样的。(下面会说到)
2、fdisk
fdisk -I //创建一个覆盖整个硬盘的FreeBSD分区
fdisk -B //初始化引导区
-b //初始化引导区时用这个指定引导区文件,比如:fdisk -B -b /boot/boot0
fdisk -i //进行分区
fdisk -t //测试模式
在fdisk的阶阶段,一般使用
# fdisk -i ad2
进入分区状态,它会一个一个地问你关于四个主分区的设置。在这个阶段比较难的在于计算分区大小和设置分区类型(sysid):
1)计算分区大小
磁盘的总容量=cylinders * heads * sectors/track
本例中就是 3618 * 15 * 63 = 3419010
每个磁盘中的头64个扇区是引导区,因此:
实际可用容量= 总容量 - 63 //为什么不是64?因为是0 - 63
所以第一个分区要从63开始。以后的各个分区依此类推就可以了。
2)分区类型(sysid)
查看/usr/src/sbin/fdisk/fdisk.c中的130到214行,这里也附上:
0x00 unused
0x01 Primary DOS with 12 bit FAT
0x02 XENIX / file system
0x03 XENIX /usr file system
0x04 Primary DOS with 16 bit FAT (= 32MB)
0x07 OS/2 HPFS, NTFS, QNX-2 (16 bit) or Advanced UNIX

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:boot0cfg用法

下一篇:FreeBSD 5.2.1R Web Server架设实例过程(有详细解释)