บล็อกพารามิเตอร์ BIOS
ในด้านคอมพิวเตอร์พารามิเตอร์บล็อก BIOSหรือที่เรียกย่อว่าBPBคือโครงสร้างข้อมูลในVolume Boot Record (VBR) ที่อธิบายเค้าโครงทางกายภาพของวอลุ่มจัดเก็บข้อมูล บนอุปกรณ์ที่แบ่งพาร์ติชั่น เช่นฮาร์ดดิสก์ BPB จะอธิบายพาร์ติชั่นของวอลุ่ม ในขณะที่บนอุปกรณ์ที่ไม่ได้แบ่งพาร์ติชั่น เช่นฟลอปปี้ดิสก์มันจะอธิบายสื่อทั้งหมด BPB พื้นฐานสามารถปรากฏและใช้งานได้ในทุกพาร์ติชั่น รวมถึงฟลอปปี้ดิสก์ ซึ่งมักมีความจำเป็น แต่ระบบไฟล์บางระบบก็ใช้มันในการอธิบายโครงสร้างพื้นฐานของระบบไฟล์ด้วย ระบบไฟล์ที่ใช้พารามิเตอร์บล็อก BIOS ได้แก่FAT12 (ยกเว้นใน DOS 1.x), FAT16 , FAT32 , HPFSและNTFSเนื่องจากประเภทของฟิลด์และปริมาณข้อมูลที่บรรจุแตกต่างกัน ความยาวของ BPB จึงแตกต่างกันสำหรับเซกเตอร์บูตของ FAT16, FAT32 และ NTFS [ 1 ] (การอภิปรายโดยละเอียดเกี่ยวกับเวอร์ชัน FAT BPB ต่างๆ และรายการต่างๆ สามารถพบได้ใน บทความ FAT ) เมื่อรวมกับโครงสร้างข้อมูล 11 ไบต์ที่จุดเริ่มต้นของเรคอร์ดบูตวอลุ่มที่อยู่ก่อนหน้า BPB หรือ EBPB ทันที สิ่งนี้ยังเรียกว่าตัวอธิบาย FDCหรือตัวอธิบาย FDC แบบขยายใน ECMA-107 หรือ ISO/IEC 9293 (ซึ่งอธิบาย FAT ว่าเป็นสำหรับดิสก์แบบยืดหยุ่น/ฟลอปปี้และตลับดิสก์ออปติคอล)
เอฟที12 / เอฟที16
DOS 2.0 BPB
รูปแบบของไฟล์ BPB มาตรฐานของ DOS 2.0 สำหรับFAT12 (13 ไบต์):
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | คำ | ไบต์ต่อเซกเตอร์เชิงตรรกะ |
0x00D | 0x02 | ไบต์ | เซกเตอร์เชิงตรรกะต่อคลัสเตอร์ |
0x00E | 0x03 | คำ | เซกเตอร์ตรรกะที่สงวนไว้ |
0x010 | 0x05 | ไบต์ | จำนวนไขมัน |
0x011 | 0x06 | คำ | รายการไดเร็กทอรีราก |
0x013 | 0x08 | คำ | เซกเตอร์เชิงตรรกะทั้งหมด |
0x015 | 0x0A | ไบต์ | คำอธิบายสื่อ |
0x016 | 0x0B | คำ | เซกเตอร์เชิงตรรกะต่อ FAT |
ไม่ใช่ทุกเวอร์ชันของ DOS 2.00 ที่มีโครงสร้างแบบนี้ IBM PC-DOS 2.00 มีฟิลด์เพิ่มเติมที่ไม่ได้รับการบันทึกไว้ในพื้นที่นี้ ซึ่งดูเหมือนจะระบุไดรฟ์ที่สามารถบูตได้และเซกเตอร์ที่จะเริ่มต้นการอ่าน ข้อมูลนี้ไม่ปรากฏในเอกสารอย่างเป็นทางการของ IBM แต่ระบบ PC/XT จะไม่สามารถบูตได้หากไม่มีค่าที่ถูกต้องในไบต์เหล่านี้
DOS 3.0 BPB
รูปแบบของ BPB มาตรฐาน DOS 3.0 สำหรับFAT12และFAT16 (19 ไบต์) ซึ่งรองรับโดย MS-DOS 2.11 บางเวอร์ชันแล้ว: [ 2 ]
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | 13 ไบต์ | DOS 2.0 BPB |
0x018 | 0x0D | คำ | ภาคทางกายภาพต่อแทร็ก |
0x01A | 0x0F | คำ | จำนวนหัว |
0x01C | 0x11 | คำ | เซกเตอร์ที่ซ่อนอยู่ (ไม่รองรับDOS 3.31 BPB ) |
DOS 3.2 BPB
รูปแบบของไฟล์ BPB มาตรฐานของ DOS 3.2 สำหรับFAT12และFAT16 (21 ไบต์):
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | 19 ไบต์ | DOS 3.0 BPB |
0x01E | 0x13 | คำ | จำนวนเซกเตอร์ทั้งหมด (ไม่รองรับDOS 3.31 BPB ) |
DOS 3.31 BPB
รูปแบบของไฟล์ BPB มาตรฐาน DOS 3.31 สำหรับFAT12 , FAT16และFAT16B (25 ไบต์):
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | 13 ไบต์ | DOS 2.0 BPB |
0x018 | 0x0D | คำ | จำนวนเซกเตอร์ทางกายภาพต่อแทร็ก (เหมือนกับBPB ใน DOS 3.0 ) |
0x01A | 0x0F | คำ | จำนวนหัวอ่าน (เหมือนกับ DOS 3.0 BPB) |
0x01C | 0x11 | ดเวิร์ด | เซกเตอร์ที่ซ่อนอยู่ (ไม่รองรับ DOS 3.0 BPB) |
0x020 | 0x15 | ดเวิร์ด | เซกเตอร์เชิงตรรกะรวมขนาดใหญ่ |
DOS 3.4 EBPB
รูปแบบของ PC DOS 3.4 และ OS/2 1.0-1.1 Extended BPB สำหรับFAT12 , FAT16และFAT16B (32 ไบต์):
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | 25 ไบต์ | DOS 3.31 BPB |
0x024 | 0x19 | ไบต์ | หมายเลขไดรฟ์ทางกายภาพ |
0x025 | 0x1A | ไบต์ | ธง ฯลฯ |
0x026 | 0x1B | ไบต์ | ลายเซ็นบูตแบบขยาย ( 0x28หรือเรียกอีกอย่างว่า "4.0") (คล้ายกับDOS 4.0 EBPBและNTFS EBPB ) |
0x027 | 0x1C | ดเวิร์ด | หมายเลขซีเรียลของเล่ม |
FAT12 / FAT16 / HPFS
DOS 4.0 EBPB
รูปแบบของ DOS 4.0 และ OS/2 1.2 Extended BPB สำหรับFAT12 , FAT16 , FAT16BและHPFS (51 ไบต์):
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | 25 ไบต์ | DOS 3.31 BPB |
0x024 | 0x19 | ไบต์ | หมายเลขไดรฟ์ทางกายภาพ (เหมือนกับDOS 3.4 EBPB ) |
0x025 | 0x1A | ไบต์ | ธงต่างๆ (เหมือนกับ EBPB ใน DOS 3.4 ทุกประการ) |
0x026 | 0x1B | ไบต์ | ลายเซ็นบูตแบบขยาย ( 0x29หรือเรียกอีกอย่างว่า "4.1") (คล้ายกับ DOS 3.4 EBPB และNTFS EBPB ) |
0x027 | 0x1C | ดเวิร์ด | หมายเลขประจำเครื่อง (เหมือนกับ DOS 3.4 EBPB) |
0x02B | 0x20 | 11 ไบต์ | ฉลากปริมาตร |
0x036 | 0x2B | 8 ไบต์ | ประเภทระบบไฟล์ |
เอฟที32
DOS 7.1 EBPB
รูปแบบของบล็อกพารามิเตอร์ BIOS แบบขยาย DOS 7.1 ขนาดสั้น (60 ไบต์) สำหรับFAT32 :
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | 25 ไบต์ | DOS 3.31 BPB |
0x024 | 0x19 | ดเวิร์ด | เซกเตอร์เชิงตรรกะต่อ FAT |
0x028 | 0x1D | คำ | การสะท้อนภาพธง ฯลฯ |
0x02A | 0x1F | คำ | เวอร์ชั่น |
0x02C | 0x21 | ดเวิร์ด | คลัสเตอร์ไดเร็กทอรีราก |
0x030 | 0x25 | คำ | ที่ตั้งของภาคข้อมูล FS |
0x032 | 0x27 | คำ | ตำแหน่งของเซกเตอร์สำรองข้อมูล |
0x034 | 0x29 | 12 ไบต์ | สงวนสิทธิ์ (ชื่อไฟล์บูต) |
0x040 | 0x35 | ไบต์ | หมายเลขไดรฟ์ทางกายภาพ |
0x041 | 0x36 | ไบต์ | ธง ฯลฯ |
0x042 | 0x37 | ไบต์ | ลายเซ็นการบูตแบบขยาย ( 0x28) |
0x043 | 0x38 | ดเวิร์ด | หมายเลขซีเรียลของเล่ม |
รูปแบบของบล็อกพารามิเตอร์ BIOS แบบขยายของ DOS 7.1 ฉบับเต็ม (79 ไบต์) สำหรับFAT32 :
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | 25 ไบต์ | DOS 3.31 BPB |
0x024 | 0x19 | ดเวิร์ด | เซกเตอร์เชิงตรรกะต่อ FAT |
0x028 | 0x1D | คำ | การสะท้อนภาพธง ฯลฯ |
0x02A | 0x1F | คำ | เวอร์ชั่น |
0x02C | 0x21 | ดเวิร์ด | คลัสเตอร์ไดเร็กทอรีราก |
0x030 | 0x25 | คำ | ที่ตั้งของภาคข้อมูล FS |
0x032 | 0x27 | คำ | ตำแหน่งของเซกเตอร์สำรองข้อมูล |
0x034 | 0x29 | 12 ไบต์ | สงวนสิทธิ์ (ชื่อไฟล์บูต) |
0x040 | 0x35 | ไบต์ | หมายเลขไดรฟ์ทางกายภาพ |
0x041 | 0x36 | ไบต์ | ธง ฯลฯ |
0x042 | 0x37 | ไบต์ | ลายเซ็นการบูตแบบขยาย ( 0x29) |
0x043 | 0x38 | ดเวิร์ด | หมายเลขซีเรียลของเล่ม |
0x047 | 0x3C | 11 ไบต์ | ฉลากปริมาตร |
0x052 | 0x47 | 8 ไบต์ | ประเภทระบบไฟล์ |
NTFS
รูปแบบของ Extended BPB สำหรับNTFS (73 ไบต์):
| การชดเชยภาคส่วน | ค่าชดเชย BPB | ความยาวของสนาม | คำอธิบาย |
|---|---|---|---|
0x00B | 0x00 | 25 ไบต์ | DOS 3.31 BPB |
0x024 | 0x19 | ไบต์ | หมายเลขไดรฟ์ทางกายภาพ (เหมือนกับDOS 3.4 EBPB ) |
0x025 | 0x1A | ไบต์ | ธงต่างๆ (เหมือนกับ EBPB ใน DOS 3.4 ทุกประการ) |
0x026 | 0x1B | ไบต์ | ลายเซ็นบูตแบบขยาย ( 0x80หรือเรียกอีกอย่างว่า "8.0") (คล้ายกับ EBPB ของ DOS 3.4 และEBPB ของ DOS 4.0 ) |
0x027 | 0x1C | ไบต์ | ที่สงวนไว้ |
0x028 | 0x1D | คิวเวิร์ด | ภาคส่วนตามปริมาณ |
0x030 | 0x25 | คิวเวิร์ด | หมายเลขคลัสเตอร์แรกของ MFT |
0x038 | 0x2D | คิวเวิร์ด | หมายเลขคลัสเตอร์แรกของ MFT สะท้อนถึง MFT |
0x040 | 0x35 | ดเวิร์ด | ขนาดบันทึก MFT |
0x044 | 0x39 | ดเวิร์ด | ขนาดบล็อกดัชนี |
0x048 | 0x3D | คิวเวิร์ด | หมายเลขซีเรียลของเล่ม |
0x050 | 0x45 | ดเวิร์ด | ผลรวมตรวจสอบ |
เอ็กแฟต บีพีบี
exFATไม่ได้ใช้ BPB ในความหมายดั้งเดิม อย่างไรก็ตามเรคอร์ดบูตวอลุ่มในเซกเตอร์ 0 ถูกจัดเรียงในลักษณะเดียวกับ BPB [ 3 ]
| การชดเชยภาคส่วน | ความยาวของฟิลด์ (ไบต์) | คำอธิบาย |
|---|---|---|
0x000 | 3 | JumpBoot ต้องเป็น 0xEB, 0x76, 0x90 |
0x003 | 8 | ชื่อระบบไฟล์ ต้องเป็น" EXFAT " |
0x00B | 53 | พื้นที่ว่าง (พื้นที่ BPB แบบดั้งเดิม) ต้องเป็นศูนย์ทั้งหมด |
ดูเพิ่มเติม
อ่านเพิ่มเติม
- เดอ บอยน์ พอลลาร์ด, โจนาธาน. "ทุกสิ่งเกี่ยวกับบล็อกพารามิเตอร์ BIOS" คำตอบที่ได้รับบ่อย . เก็บถาวรจากต้นฉบับเมื่อ 2017-09-09 . เรียกดูเมื่อ2016-04-18 .—คำอธิบายเกี่ยวกับ BPB ตั้งแต่เวอร์ชัน 2.0 ถึงเวอร์ชัน 7.0
- Christopher, Ken W.; Feigenbaum, Barry A.; Saliga, Shon O. (1990). "9: การใช้งานดิสก์ DOS". การพัฒนาแอปพลิเคชันโดยใช้ DOS . Wiley . ISBN 0-471-52231-7.—ในส่วน "การประมวลผลบล็อกพารามิเตอร์ BIOS" ผู้เขียนได้อธิบายถึงวิวัฒนาการของบล็อกพารามิเตอร์ BIOS ตั้งแต่ BPB เวอร์ชัน 2.0 ของ MS-DOS ไปจนถึง BPB เวอร์ชัน 4.0 ของ PC DOS และระบุเวอร์ชัน DOS ที่นำฟิลด์นั้นมาใช้ในแต่ละฟิลด์
- ทาวน์เซนด์, คาร์ล (1989). "4: การจัดระเบียบและการจัดการดิสก์" เทคนิคขั้นสูงสำหรับโปรแกรมเมอร์ MS-DOS สำนักพิมพ์โฮเวิร์ด เอ็ม. แซมส์ISBN 0-672-22667-7.—รูปที่ 4.3 แสดงไดอะแกรมของ BPB เวอร์ชัน 4.0 และระบุว่าโครงสร้างของ BPB นั้น "ไม่ได้ถูกกำหนดโดย Microsoft และอาจแตกต่างกันไปตามผู้จำหน่ายแต่ละราย" ณ เวลาที่เขียนหนังสือเล่มนี้ ข้อความนี้เป็นความจริง Microsoft ได้เปิดเผยโครงสร้าง BPB อย่างเป็นทางการครั้งแรกใน OS/2 Developers' Toolkit
- Verstak, Alex (1998-03-10). "FAT Boot Sector" . เก็บถาวรจากต้นฉบับเมื่อ 2016-07-30.— Verstak ทำการวิเคราะห์ย้อนกลับ (reverse engineering) บล็อกพารามิเตอร์ BIOS เอกสารดังกล่าวมีข้อผิดพลาดหลายประการ หนึ่งในนั้นคือข้อความที่ระบุว่า "การมีอยู่ของ EBPB ใน FAT32 นั้นไม่ได้มีการบันทึกไว้โดย Microsoft" ดูเพิ่มเติมได้ที่:
- ไมโครซอฟต์ . "บทที่ 10 - ดิสก์และระบบไฟล์" . ชุดทรัพยากร Microsoft Windows 98. เก็บถาวรจากต้นฉบับเมื่อ 2017-09-09 . เรียกดูเมื่อ2017-09-09 .—เอกสารของ Microsoft ระบุถึง BPB เวอร์ชัน 4.0 และ "FAT32 BIOS Parameter Block (BPB)" ใหม่ (BPB เวอร์ชัน 7.0) สำหรับ DOS-Windows 98 ซึ่ง "มีขนาดใหญ่กว่า BPB มาตรฐาน" มี "โครงสร้างเหมือนกับ BPB มาตรฐาน" แต่ยัง "มีฟิลด์เพิ่มเติมอีกหลายฟิลด์"
- ไมโครซอฟต์ . "บทที่ 32 - แนวคิดเกี่ยวกับดิสก์และการแก้ไขปัญหา" . ชุดทรัพยากรสำหรับมืออาชีพของ Microsoft Windows 2000.เก็บถาวรจากต้นฉบับเมื่อ 10 สิงหาคม 2549. เรียกดูเมื่อ1 มิถุนายน 2549 .—เอกสารของ Microsoft กล่าวถึง BPB ที่ขยายเพิ่มเติมบนไดรฟ์ FAT16 และ FAT32 รวมถึงเอกสารเกี่ยวกับ BPB บนไดรฟ์ NTFS ด้วย
- ไมโครซอฟต์ . "วิธีการทำงานของ NTFS" . เอกสารอ้างอิงทางเทคนิค NTFS สำหรับ Microsoft Windows Server 2003.เก็บถาวรจากต้นฉบับเมื่อ 30 กรกฎาคม 2016—ตาราง "ฟิลด์ BPB และฟิลด์ BPB ขยายบนไดรฟ์ NTFS" อธิบาย BPB บนไดรฟ์ NTFS คำอธิบายของฟิลด์หลายรายการขัดแย้งกับคำอธิบายที่ให้ไว้ใน Windows 2000 Resource Kit
- เดอ บอยน์ พอลลาร์ด, โจนาธาน. "ความหมายและการใช้งานของฟิลด์ชื่อ OEM ในบล็อกบูตวอลุ่ม"คำตอบที่ให้บ่อย . เก็บถาวรจากต้นฉบับเมื่อ 2017-09-09 . เรียกดูเมื่อ2016-06-04 .—ปัญหาที่ส่งผลกระทบต่อ BPB
- Paul, Matthias R. (25 สิงหาคม 2547). "NOVOLTRK.REG" . www.drdos.org . เก็บถาวรจากต้นฉบับเมื่อ 4 มีนาคม 2559 . เรียกดูเมื่อ17 ธันวาคม 2554 .
- Paul, Matthias R. (2002-02-20). "ต้องการ DOS 6.22 (ไม่ใช่ OEM)" . กลุ่มข่าว : alt.msdos.programmer . สืบค้นเมื่อ2006-10-14 .
{{cite newsgroup}}: CS1 maint: บริการเก็บถาวรที่เลิกใช้แล้ว ( ลิงก์ ) —เกี่ยวกับการใช้ฉลาก OEM และ Volume Tracker ของ Microsoft ในทางที่ผิด - Paul, Matthias R. (12 สิงหาคม 2545). "รหัสระบบไฟล์ - คณะกรรมการมาตรฐานคำอธิบายเซกเตอร์บูตของ alt.os.development"" . กลุ่มข่าว : alt.os.development . เก็บถาวรจากต้นฉบับเมื่อ 2022-05-29 . เรียกดูเมื่อ 2019-07-29 .
- Bass, Wally (14 กุมภาพันธ์ 1994). "ขนาดคลัสเตอร์" . กลุ่มข่าว : comp.os.msdos.programmer . สืบค้นเมื่อ14 ตุลาคม 2006 .
{{cite newsgroup}}: CS1 maint: บริการเก็บถาวรที่เลิกใช้แล้ว ( ลิงก์ ) - เอลเลียต, จอห์น ซี. (17 เมษายน 2549) [18 มิถุนายน 2547]. "เกี่ยวกับรหัส OEM" . Seasip.info . 1.3. เก็บถาวรจากต้นฉบับเมื่อ 8 เมษายน 2562 . เรียกดูเมื่อ29 กรกฎาคม 2562 .
- Dye, Charles E. (20 มีนาคม 1999). "ปัญหา FDISK" . delorie.com . เก็บถาวรจากต้นฉบับเมื่อ 29 กรกฎาคม 2019 . เรียกดูเมื่อ29 กรกฎาคม 2019 .
- ผู้ไม่ประสงค์ออกนาม (15 มิถุนายน 2547) "หวังว่าข้อมูลนี้จะเป็นประโยชน์เกี่ยวกับ Microsoft และ Caldera DR-DOS และรหัส OEM" Groklaw เก็บถาวรจากต้นฉบับเมื่อ 20 กุมภาพันธ์ 2554 เรียกดูเมื่อ 29 กรกฎาคม 2562
- Kilmer, Jen (2013-05-21). "Evil :) DOS6 FAT" . กลุ่มข่าว : comp.os.os2.misc . เก็บถาวรจากต้นฉบับเมื่อ 2022-05-29 . เรียกดูเมื่อ2019-07-29 .