FreeBSD安裝檔案系統(轉)

gugu99發表於2007-08-11
FreeBSD安裝檔案系統(轉)[@more@]

  FreeBSD將檔案儲存在磁碟等儲存裝置上,由作業系統來具體處理訪問硬體裝置的問題,使用者只需要面對作業系統,就能進行具體的檔案操作。作業系統首先將用於儲存的裝置進行格式化之後,該裝置才能用於儲存檔案,這個裝置可以是軟盤,可以是一個硬碟分割槽,或者其他允許隨機存取的塊裝置儲存介質。在Unix上將格式化後的儲存裝置統稱為檔案系統,格式化的過程稱為建立檔案系統。(由於磁帶是一種順序存取的裝置,因此在磁帶上不能建立檔案系統。)

  對於不同介質、不同的作業系統對磁碟進行格式化和管理的方式也不同,這樣就形成了不同型別的檔案系統。但作業系統給使用者提供了一種標準的通用存取方式,這樣在存取檔案時就不需要考慮是在對哪種檔案系統進行操作。但是不同的檔案系統仍然有一些差異,例如光碟檔案系統是隻讀介質,還有一些檔案系統並非為Unix系統而設計的,因此檔名、檔案屬性等標準就與Unix不同,FreeBSD在訪問這些檔案系統時儘量轉換這些差別,補充這些檔案系統沒有、但Unix 標準檔案系統需要的屬性。這樣這些檔案系統就與標準檔案系統看起來完全相同,只是某些操作受檔案系統本身的物理限制,例如企圖將光碟上檔案加上寫屬性,顯然無法完成。FreeBSD支援多種檔案系統,其中最常見的有:

  UFS檔案系統:是FreeBSD上的標準檔案系統,它實現了所有的標準檔案屬性,如檔案屬主和組、存取許可權等屬性。

  cd9660檔案系統:支援ISO 9660格式的CD-Rom,這種格式只支援8位基本長度3位擴充套件長度、不區分大小寫的檔名,但FreeBSD支援它的Rock Ridge擴充套件,使其能使用Unix風格的長檔名。

  NFS檔案系統:網路檔案系統,透過它Unix能在網路上共享檔案系統。

  msdos檔案系統:DOS和Windows使用的FAT檔案系統,基本上是使用8.3的檔名,Windows95 之後擴充套件了檔名的長度,但仍然不區分大小寫。FreeBSD支援Windows95的長檔名擴充套件和FAT 32格式的分割槽。

  ext2fs檔案系統:Linux使用的檔案系統,這個型別不是預設支援的檔案系統,需要重新配置核心。

  NTFS檔案系統:Windows NT使用的檔案系統,這個型別同樣需要重新配置核心。

  在個人計算機的硬碟管理方式中,檔案是直接放在硬碟的分割槽中,而FreeBSD使用的UFS檔案系統則又在基本分割槽中進行了劃分,檔案系統建立在BSD風格的子分割槽中。這樣每個UFS分割槽中能有多個檔案系統,每個檔案系統或交換空間各有一個標籤(DiskLabel),來標識其本身的起始和結束。當真正要使用檔案系統時,就需要獲得硬碟上檔案系統(UFS分割槽和分割槽內部各個檔案系統的DiskLabel)的具體資訊。這些硬碟上檔案系統的資訊應該由管理員維護,同時也記錄在硬碟上,可以使用FreeBSD中的系統工具fdisk和disklabel,或者安裝程式Sysinstall ,來獲得儲存在硬碟本身中的資訊。

  當使用Sysinstall中的Fdisk和Disklabel來分割槽和劃分磁碟空間時,當使用者完成操作之後,應該使用W命令將改變寫入磁碟之後再退出Fdisk或Disklabel。

  與Sysinstall不同,命令列的fdisk和disklabel為互動模式,而非sysinstall 的全螢幕介面,因此較為難用一些。使用硬碟名稱作為fdisk的引數,fdisk將報告硬碟上所有四個分割槽的詳細資訊:

# fdisk wd0

******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 16065, size 2056320 (1004Meg), flag 80

beg: cyl 1/ sector 1/ head 0;

end: cyl 128/ sector 63/ head 254

The data for partition 2 is:

sysid 7,(OS/2 HPFS, QNX or Advanced UNIX)

start 2072385, size 1044225 (509Meg), flag 0

beg: cyl 1/ sector 1/ head 0;

end: cyl 128/ sector 63/ head 254

The data for partition 3 is:

sysid 165,(FreeBSD/NetBSD/386BSD)

start 3116610, size 2024190 (988Meg), flag 0

beg: cyl 1/ sector 1/ head 0;

end: cyl 128/ sector 63/ head 254

The data for partition 4 is:

sysid 5,(Extended DOS)

start 5140800, size 3293325 (1608Meg), flag 0

beg: cyl 1/ sector 1/ head 0;

end: cyl 128/ sector 63/ head 254

  從這個fdisk的執行結果中可以看出這個硬碟的四個分割槽分別為不同的作業系統所佔用,第一個分割槽為DOS基本分割槽,第二個標識為HPFS,事實上它是NTFS分割槽,第三個分割槽wd0s3為BSD分割槽,而第四個分割槽為擴充套件分割槽。因此就可以針對第三個FreeBSD系統分割槽,使用disklabel來檢查其上的BSD子分割槽資訊。

# disklabel wd0s3

# /dev/rwd0s3c:

type: ESDI

disk: wd0s3

label:

flags:

bytes/sector: 512

sectors/track: 63

tracks/cylinder: 255

sectors/cylinder: 16065

cylinders: 126

sectors/unit: 2024190

rpm: 3600

interleave: 1

trackskew: 0

cylinderskew: 0

headswith: 0      # milliseconds

track-to-track seek: 0   # milliseconds

drivedata: 0

8 partitions:

#   size  offset  fstype [fsize bsize bps/cpg]

a: 65536   0  4.2BSD  0 0 0 # (cyl. 0 - 4*)

b: 151248 65536   swap       # (cyl. 4*- 13*)

c:2024190   0  unused  0 0 0 # (cyl. 0 - 125)

e: 61440 216784  4.2BSD  0 0 0 # (cyl. 13*- 17*)

f:1745966 278224  4.2BSD  0 0 0 # (cyl. 17*- 125*)

  可以看出disklabel除了顯示各個子分割槽a-f之外,還顯示了硬碟的引數。事實上BSD的分割槽管理工具要早於個人計算機的分割槽概念,而disklabel是BSD的分割槽管理工具,並不需要fdisk的幫助就能完成所有的磁碟管理操作。fdisk是用於將FreeBSD與其他作業系統進行相容的目的,它是使用個人計算機分割槽概念的系統工具。如果一個硬碟不被其他個人計算機作業系統訪問,完全可以拋棄fdisk,而僅僅使用disklabel和BSD傳統風格的裝置檔案,來執行FreeBSD。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-944769/,如需轉載,請註明出處,否則將追究法律責任。

相關文章