硬盤分區FreeBSD手冊
硬盤分區
那麼應該將FreeBSD裝在硬盤的什麼位置呢?下面看看硬盤。熟悉DOS/Windows系統的用戶都知道,DOS/Windows將硬盤分成主分區和 擴展分區,在擴展分區上再建立邏輯分區,並給主分區和邏輯分區分配相應的盤符:C、D等。那麼FreeBSD是如何處理硬盤分區的呢?
在FreeBSD 中,分區的概念略有不同。FreeBSD將硬盤分成最多四個slice(片段),每一個slice上又可以分成最多8個partition(分區)。也就 是說FreeBSD將DOS/Windows裡的一個分區看作一個slice。在以後的敘述中,將采用FreeBSD的概念,即slice和 partition的硬盤分區術語。
FreeBSD(包括其他Unix類操作系統)可以將硬磁盤當作大量連續的數據塊進行處理,這樣 並沒有文件系統的概念,很像訪問磁帶機。這種訪問方式稱作raw訪問,這樣的設備稱作raw device或character device。但是用戶希望使用文件訪問的方式,這樣不用關心文件究竟存儲在硬盤的什麼地方,只要能夠打開文件進行數據操作就可以了。采用這種訪問方式需 要許多其他的處理工作,將這時使用的磁盤稱作block device。可以通過ls -l命令,從列出的權限屬性的頭一個字符區分character device和block device。"c"表示character device,而"b"表示block device。例如:
$ ls -l /dev/rwd0s1a /dev/wd0s1a
crw-r----- 1 root operator 3, 0x00010002 Oct 16 23:38 /dev/rwd0
brw-r----- 1 root operator 0, 0x00010002 Oct 16 23:38 /dev/wd0
下面介紹FreeBSD對硬盤分區的命名規則。
與 其他設備一樣,硬盤分區設備文件存儲於/dev目錄下。如果是raw device設備名的起始字符是:"r",否則不會使用這個起始字符。接下來是設備名,IDE硬盤是"wd",SCSI硬盤是"da",軟盤是"fd"。 接下來是一個數字,表示是第幾個硬盤,如第一個IDE口上的主用硬盤(Primary IDE Master)的名字就是:/dev/rwd0和/dev/wd0,從用硬盤(Primary IDE Slave)的名字就是:/dev/rwd1和/dev/wd1,以此類推。接下來是分區信息,為表示slice在前面的名字基礎上加字符"s"和數字 "1"到"4"來表示一個硬盤上的四個slice。BSD通過在slice名後面附加字符"a"到"h"來表示分區。這樣可以得到如下一些設備名(以 Primary IDE上的Master硬盤為例):
/dev/rwd0, /dev/rwd0s1,/dev/rwd0s2,/dev/rwd0s3,/dev/rwd0s3,
/dev/rwd0s1a,/dev/rwd0s1b,/dev/rwd0s1c,/dev/rwd0s1d,/dev/rwd0s1e,
/dev/rwd0s1f,/dev/rwd0s1g,/dev/rwd0s1h,/dev/rwd0a,/dev/rwd0b,
/dev/rwd0c,/dev/rwd0d,/dev/rwd0e,/dev/rwd0f,
/dev/rwd0g,/dev/rwd0h和/dev/wd0, /dev/wd0s1,/dev/wd0s2,/dev/wd0s3,
/dev/wd0s4,/dev/wd0s1a,/dev/wd0s1b,/dev/wd0s1c,/dev/wd0s1d,
/dev/wd0s1e,/dev/wd0s1f,/dev/wd0s1g,/dev/wd0s1h,/dev/wd0a,
/dev/wd0b,/dev/wd0c,/dev/wd0d,/dev/wd0e,/dev/wd0f,/dev/wd0g,/dev/wd0h等。
舉 例來講,/dev/rwd0s1a和/dev/wd0s1a分別表示第一個IDE接口上的Master模式硬盤上的第一個slice上的第一個分區的 character device和block device,這個分區(即"a"分區通常是根目錄 / ),而/dev/rwd0s1b和/dev/wd0s1b表示第一個slice上的第二個分區,這個分區通常用作swap(交換分區)。 /dev/rwd0s1c和/dev/wd0s1c則有特殊的含義,表示第一個slice這整個slice。下面是我自己的硬盤參數,用fdisk命令的 輸出結果:
******* Working on device /dev/rwd0 *******
parameters extracted from in-core disklabel are:
cylinders=525 heads=255 sectors/track=63 (16065 blks/cyl)
parameters to be used for BIOS calculations are:
cylinders=525 heads=255 sectors/track=63 (16065 blks/cyl)
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 6,(Primary 'big' DOS (> 32MB))
start 63, size 3084417 (1506 Meg), flag 80 (active)
beg: cyl 0/ sector 1/ head 1;
end: cyl 191/ sector 63/ head 254
The data for partition 2 is:
sysid 5,(Extended DOS)
start 3084480, size 3084480 (1506 Meg), flag 0
beg: cyl 192/ sector 1/ head 0;
end: cyl 383/ sector 63/ head 254
The data for partition 3 is:
sysid 165,(FreeBSD/NetBSD/386BSD)
start 6168960, size 2265165 (1106 Meg), flag 0
beg: cyl 384/ sector 1/ head 0;
end: cyl 524/ sector 63/ head 254
The data for partition 4 is:
用disklabel /dev/wd0s3命令可以看出FreeBSD占用的slice 3的分區情況,如下:
# /dev/wd0s3:
type: ESDI
disk: wd0s3
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 141
sectors/unit: 2265165
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 307200 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 19*)
b: 131072 307200 swap # (Cyl. 19*- 27*)
c: 2265165 0 unused 0 0 # (Cyl. 0 - 140)
e: 307200 438272 4.2BSD 1024 8192 16 # (Cyl. 27*- 46*)
f: 1519693 745472 4.2BSD 1024 8192 16 # (Cyl. 46*- 140*)
由以上可以清楚的看出硬盤的分區情況。對硬盤分區的詳細了解有助於在安裝系統時正確的選擇安裝位置,以免錯誤的刪除其他操作系統占用的分區,造成不必要的損失。