歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

FreeBSD安裝時關於硬盤參數提示的處理方法


錯誤信息:
WARNING: A geometry of 116301/16/63 for ad0 is incorrect.Using a more likely geometry.If this geometry is incorrect or you are unsure as to whether or not it's correct,please consult the Hardware Guide in the Documentation submenu or use the (G) eometry command to change it now.
Remember:you need to enter whatever your BIOS thinks the geometry is!For IDE,it's what you were told in the BIOS setup.For SCSI,it's the translation mode your controller is using.Do NOT use a ''physical geometry''.
這種錯誤一般發生在第一次安裝時,可能的原因一般有:
1:全新安裝的機器;
安裝時在 Fdisk 中會顯示出硬盤信息,包括硬盤的名字,以及柱面、磁頭和扇區等硬盤參數。
柱面、磁頭和扇區這些磁盤映射方式參數對於劃分分區非常重要,必須保證 Fdisk 中的這些數據和 BIOS 中的數據一致,以使 Fdisk 劃分出的分區被 BIOS 識別。
如果硬盤上已有分區,FreeBSD 可以從已有分區找到硬盤映射參數,通常與 BIOS 一致並可以避免它劃分的分區與已有的分區沖突(不一致硬盤映射參數可能造成分區重疊);但是如果是在全新的硬盤上安裝由於沒有任何分區,所以 FreeBSD 直接從硬盤驅動器上獲取到真實的硬盤參數,而不會是映射過的邏輯參數,因此,如果 BIOS 重新映射過硬盤參數的話,就有可能 FreeBSD 獲取的真實參數與 BIOS 映射的參數不一致。
這個不一致主要時導致不同操作系統的分區重疊和啟動引導問題,但是不影響數據存儲;所以如果僅僅安裝一個單獨的 FreeBSD 系統可以不必理會硬盤參數問題,可以簡單的忽略;
注: 修改 Fdisk 的硬盤映射參數可以用 G 命令進行設置;
2:已安裝過 FreeBSD 系統的機器
在安裝了 FreeBSD 系統之後,如果再次更改 BIOS 中的硬盤映射方式,同樣也可能發生系統啟動程序不能找到 FreeBSD 分區並載入 FreeBSD 系統的情況。
背景資料:
安裝程序會提示兩種類型的硬盤幾何數據;你應該了解它們的意思:
真實幾何數據(real geometry)
BIOS幾何數據(BIOS geometry)
真實幾何數據是硬盤真實的幾何數據,由系統檢測。BIOS幾何數據是BIOS使用的幾何數據而它可以不同於真實的幾何數據(例如,BIOS可以使用LBA來重新設定硬盤)。
范例是一個具有如下幾何數據的IDE磁盤:
real: 6232 cyl, 16 heads, 63 sec
BIOS: 779 cyl, 128 heads, 63 sec (LBA)
你可以看到BIOS使用LBA重新設定硬盤,有效地縮減了磁柱的數目並增加了磁道的數目(但結果是一樣的:6232 * 16 = 779 * 128 = 99712)。一個扇區包含512字節,這就是說硬盤大小為6232 * 16 * 63 * 512 = 3 GB。NetBSD不需要重新設定硬盤的幾何數據(事實上也不會如此做)。如果sysinst出現錯誤時,在安裝時可以手動地更改幾何數據。
這個警告的意思是告訴你CHS對於freebsd來說,沒法處理。簡單的方法就是通過更改CHS讓freebsd自己來處理。好多大容量的硬盤,freebsd都是無法根據bios裡的設置劃分區的。安裝做fdisk時,修改geometry,輸入99999/999/999,這時候系統會提示如上的警告,不用管它,回到分區界面,系統已經設置好了它認為正確的CHS。如果你堅持使用bios裡的設置,系統可能存在不能啟動的危險。
安裝系統時,根區/,不要劃得太大,否則有找不到fs的危險,一般1-200M足夠了,根區就是為了一個掛接和系統維護用的,平常的工作應該放到/home區。
(一台磁盤的"gromrtry",我們指的是這台磁盤上 cylinders,heads 和 sectors/track 的數目 - 為了方便且稱之為 C/H/S。這是 PC 的 BIOS 用來讀/寫磁盤的依據)。
為了某些理由,這似乎會導致很多困擾。
首先,一台 SCSI 裝置的 physical geometry 跟 FreeBSD 在使用的 disk blocks 是完全無關的。
事實上,並沒有所謂"physical geometry"這種東西,這是指磁盤驅動器上扇區密度的變化 - 制造商要求是"真實的"physical geometry 通常是指,他們所能找出浪費最少空間的 geometry 結果。 對 IDE 磁盤來說,FreeBSD 使用 C/H/S 方式工作,但是所有現在的磁盤已經在內部參考時把它轉換成 block 了。
另外就是所謂的logical geometry - 這是當 BIOS 問"你的 geometry 是什麼?"的時候,所得到的答案並且把它用來存取磁盤。 當開機時 FreeBSD 使用 BIOS 數據,讓這個正確是相當重要的。另外,如果你在同一個磁盤驅動器上有一個以上的操作系統,他們必須都同意 grometry,否則你在開機時會有大問題!
對 SCSI 磁盤驅動器來說,geometry 的使用是依靠啟動控制器來支持 extended translation ,如果不支持,那麼使用 N cylinders,64 heads 和 32 sectors/track,這裡'N'是指磁盤驅動器的 MB 容量。舉例來說,一個 2GB 的磁盤驅動器應該假設它有 2048 cylinders,64 heads 和 32 sectors/track。
如果它確定是打開的(通常提供這種方法在 MSDOS 下有某些限制),並且磁盤容量超過 1GB,使用 M cylinders,每個 track 63 sectors (*而非* 64),以及 255 heads,這裡 'M' 是每 MB 的磁盤容量除以 7.844238 (!)。所以我們的這個范例,2G 磁盤驅動器就有 261 cylinders, 每個 track 63 sectors 以及 255 heads。
如果你不確定以上這個,或是 FreeBSD 在安裝過程中要偵測 geometry 的正確性時失敗了,最簡單的解決方法通常是在磁盤上建立一個小的 DOS 分割區。正確的 geometry 應該能被偵測到(而且如果你不想保留它,你總是可以在分割區編輯器裡把這個 DOS 分割區移除掉,或是把它留下來,給程序化網絡卡使用或隨你高興怎麼用它)。
另外,有一個免費而有用的公用程序叫 ``pfdisk.exe'' 隨著 FreeBSD 散播出來(位於 FreeBSD CDROM 的 tools 子目錄 下或是在大多數的 FreeBSD ftp 站台內可找到),這個程序可用來找出另一操作系統正在使用磁盤驅動器上的哪塊 geometry。然後你就可以在 分割區編輯器裡面輸入它。
Copyright © Linux教程網 All Rights Reserved