FreeBSD開機出現geometry does not match label警告訊息

當初安裝FreeBSD只有一顆主硬碟︰

1
ad0: 38154MB <WDC WD400VE-00HDT0 09.07D09> at ata0-master UDMA100

後來又加裝一顆硬碟︰
1
ad1: 152627MB <Seagate ST9160821A 3.ALD> at ata0-slave UDMA100

但每次開機都會出現警告訊息︰
1
2
GEOM: ad1: partition 1 does not start on a track boundary.
GEOM: ad1: partition 1 does not end on a track boundary.


1
2
GEOM: ufsid/4e772f58cc65d330: geometry does not match label (16h,63s != 16h,255s).
GEOM: ufs/data: geometry does not match label (16h,63s != 16h,255s).

因不影響使用,所以沒特別去注意。

不過最近看到這種訊息就覺得不順眼,覺得似乎和硬碟磁柱、磁頭、磁區等設定有關,進入bsdlabel看一下內容︰

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# /dev/ad1s1:
type: unknown
disk: amnesiac
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 310100
sectors/unit: 312581745
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]
c: 312581745 0 unused 0 0 # "raw" part, don't edit
d: 312581729 16 unused 0 0

重新開機,發現在BIOS視窗的主硬碟自動定址為LBA,但是第二顆硬碟卻自動定址為CHS。進入BIOS設定,將第二顆硬碟手動定址為LBA,之後開機就不再出現這些警告訊息。由以下BIOS定址內容和bsdlabel內容做比對(還有開機其中這段訊息16h,63s != 16h,255s),大概就能了解其差別。
CHS定址內容︰
1
2
3
4
5
Cylinder 65535
Head 16
Precomp 0
Landing Zone 65534
Sector 255

LBA定址內容︰
1
2
3
4
5
Cylinder 16643
Head 255
Precomp 0
Landing Zone 65534
Sector 63

但為何BIOS會自動定址為CHS,並不清楚,不知和這兩顆2.5吋硬碟轉3.5吋使用有沒有關係?還是和主機板(ASUS A7N8X Deluxe)有關?