พยายามทำความเข้าใจกับการสนับสนุน linux สำหรับฮาร์ดดิสก์ไดรฟ์ 4TB บน BIOS รุ่นเก่า


8

ฉันต้องการเพิ่มฮาร์ดไดรฟ์ 4TB สำหรับจัดเก็บข้อมูลเท่านั้น การกำหนดค่าปัจจุบันของฉัน:

คำถาม :

  1. เนื่องจากขนาดใหญ่กว่า 2TB น. ฉันถูกบังคับให้ใช้พาร์ติชัน GPT จริง ๆ หรือไม่
  2. ถ้าใช่ต้องใช้พาร์ติชั่น GPT ที่ต้องการ UEFI หรือ BIOS รุ่นเก่า?
  3. ถ้าไบออสดั้งเดิมรองรับ Arch Linux จะเห็น 4TB หรือ 2TB เท่านั้น?

ฮาร์ดดิสก์ไดรฟ์ตัวใหม่นี้มีไว้สำหรับให้ข้อมูลเท่านั้นและฉันจะไม่ติดตั้งระบบปฏิบัติการบนมันหรือบูตจากมัน


ผมทำตามแบบนี้ตัวเลือกของฉันและสด 4TB USB ไดรฟ์ที่ 3 hunky-dory - การติดตั้งอุปกรณ์ภายนอก USB รูปแบบด้วย exFAT บนลินุกซ์อูบุนตู แม้ว่า off-topic (tm) ฉันรู้สึกว่าคนที่กำลังมองหาวิธีแก้ปัญหานี้จะมองที่นี่เหมือนที่ฉันทำ
จะถึง

คำตอบ:


17

ฉันเป็นผู้เขียนซอฟต์แวร์การแบ่งพาร์ติชันGPT fdiskดังนั้นฉันจึงรู้ว่าเรื่องนี้ค่อนข้างดี คำตอบก่อนหน้าได้ส่งเสริมความเข้าใจผิดที่ฉันต้องการจะแก้ไข ....

หากคุณต้องการขนาดพาร์ติชันที่มากกว่า 2TB คุณต้องใช้ GPT แทน MBR

อาจ. จับได้ว่า MBR สูงสุดที่ 2 ^ 32 ภาค สิ่งนี้แปลเป็น 2 TiB (ไม่ใช่ 2 TB ดูที่นี่สำหรับคำอธิบายของความแตกต่าง) ถ้าขนาดเซกเตอร์ตรรกะเท่ากับ 512 ไบต์ ตอนนี้ดิสก์ภายนอกจำนวนมากและดิสก์ภายในไม่กี่เครื่องในขณะนี้ใช้เซกเตอร์โลจิคัล 4 KiB (4096- ไบต์) ซึ่งเพิ่มขีด จำกัด MBR เป็น 16 TiB

โปรดทราบว่านี่เป็นการอ้างถึงขนาดเซกเตอร์ตรรกะ ฮาร์ดดิสก์ที่ทันสมัยส่วนใหญ่ใช้ฟิสิคัลเซกเตอร์4096 ไบต์แต่รายละเอียดนี้ไม่สำคัญสำหรับการพิจารณาข้อ จำกัด ของตารางพาร์ติชัน

MBR รองรับขนาดพาร์ติชั่น 2TB เท่านั้น หากคุณต้องการหลายพาร์ติชั่น (น้อยกว่า 2TB แต่ละอัน) คุณควรจะสามารถเข้าถึงดิสก์ทั้งหมดของคุณเป็นพาร์ติชั่นต่าง ๆ ได้

มากถึงขีด จำกัด 4 TiB (สมมติว่ามีขนาด 512 ไบต์) และหากคุณยินดีที่จะเล่นด้วยไฟก็ใช่ MBR จัดเก็บข้อมูลพาร์ติชันเป็นจุดเริ่มต้นและขนาดดังนั้นคุณสามารถขยายขีด จำกัด MBR ได้ถึง 4 TiB แต่ไม่เพิ่มเติม ปัญหาคือว่ามันไม่น่าเชื่อถือ ฉันได้ทำการทดสอบเมื่อหลายปีก่อน (ดูที่นี่) และผลที่สุดคือระบบปฏิบัติการที่สามารถรองรับขีด จำกัด MBR นี้ได้นั้นค่อนข้างเหมือนกับที่สามารถจัดการ GPT ได้ดังนั้นมันจึงไม่ได้ประโยชน์อะไรเลย ที่สำคัญกว่านั้นมีโอกาสที่ยูทิลิตีดิสก์แบบสุ่มบางอันจะหลุดลอกออกมาเพราะใช้ค่า 32 บิตสำหรับตัวชี้เซกเตอร์แม้ว่า OS เองจะสามารถจัดการได้ ดังนั้นฉันเองจะไม่เชื่อถือดิสก์ด้วยการกำหนดค่านี้ - มันอาจทำงานได้ดีในขณะที่ แต่ถ้าคุณใช้ยูทิลิตีดิสก์แบบ 32 บิตที่ไม่สะอาดก็อาจทำให้ข้อมูลเสียหายได้

BIOS ไม่ทราบเกี่ยวกับ GPT ดังนั้นจึงไม่สามารถบูตจากดิสก์ที่จัดรูปแบบ GPT ได้

คำสั่งนี้ไม่ถูกต้องหรืออย่างดีที่สุดจะมีผลกับระบบปฏิบัติการและ BIOS บางระบบเท่านั้น กระบวนการบู๊ต BIOS เกี่ยวข้องกับ BIOS ที่อ่านเซกเตอร์แรกของดิสก์ (aka MBR) และรันโค้ดที่นั่น ที่สำคัญ BIOS ดั้งเดิมไม่ทราบอะไรเลยเกี่ยวกับตารางพาร์ติชัน เป็นรหัสตัวโหลดบูตใน MBR ที่ (มักจะ) เริ่มตีความตารางพาร์ติชัน ดังนั้นข้อ จำกัด ในการป้องกันการบูตโหมด BIOS จาก GPT จะถูกฝังอยู่ในboot loaderและOSesไม่ใช่ใน BIOS ระบบปฏิบัติการที่รับรู้ GPT ส่วนใหญ่ (เช่น Linux, FreeBSD และแม้กระทั่ง OS X ที่ใช้ตัวโหลดการบูต Hackintosh) สามารถบูตได้ดีจากดิสก์ GPT บนคอมพิวเตอร์ที่ใช้ BIOS เท่านั้น ข้อยกเว้นที่สำคัญของกฎนี้คือ Windows ซึ่งไม่สามารถบูตระบบ (AFAIK) จากดิสก์ GPT ในโหมด BIOS

มีข้อแม้สำคัญอย่างหนึ่งสำหรับเรื่องนี้: BIOSes บางตัวนั้นฉลาดเกินไป บางคนอยู่ในความเป็นจริง EFIS ซึ่งทำเข้าใจตารางพาร์ทิชัน เฟิร์มแวร์ดังกล่าวอาจทำให้เกิดอุปสรรคที่ซับซ้อนหรือป้องกันการบูตในโหมด BIOS จากดิสก์ GPT ฉันได้ศึกษาปัญหานี้อย่างระมัดระวังและมีความคิดเห็นเกี่ยวกับเรื่องนี้ที่นี่ ปัญหาดังกล่าวมักจะสามารถแก้ไขได้แม้ว่าจะแก้ปัญหาได้ไม่ชัดเจน

แม้จะมีข้อแม้เหล่านี้พีซีส่วนใหญ่ที่มีความสามารถในการบูตโหมด BIOS (ทั้งไบออส "ของจริง" หรือ EFIs ที่มี CSM) สามารถบูตในโหมด BIOS จากดิสก์ GPT ได้หากระบบปฏิบัติการมีบูตโหลดเดอร์ที่เหมาะสม ดังที่ BufferUnderRun กล่าวว่าระบบปฏิบัติการที่เป็นปัญหาคือ Arch Linux ไม่น่าจะมีปัญหา GRUB 2, SYSLINUX และแม้แต่ LILO รุ่นเก่าก็สามารถทำงานได้ ฉันทำเองในคอมพิวเตอร์หลายเครื่อง

ทั้งหมดที่กล่าวมาเนื่องจากดิสก์ใหม่เป็นดิสก์ที่ไม่ใช่บูตคุณไม่จำเป็นต้องกังวลกับปัญหาเหล่านี้จริงๆ คุณสามารถบูต Linux ในโหมด BIOS จาก SSD ที่แบ่งพาร์ติชั่น MBR และใช้ฮาร์ดดิสก์ 4 TiB ที่แบ่งพาร์ติชัน GPT เพื่อการจัดเก็บข้อมูลโดยไม่มีปัญหา หากความต้องการของคุณเปลี่ยนไปในอนาคตคุณอาจต้องประเมินการกำหนดค่าใหม่ แต่ฉันไม่ต้องกังวลเกี่ยวกับมันตอนนี้


ขอบคุณสำหรับคำอธิบายทั้งหมดและเวลาที่ใช้ในการเขียนคำตอบ รายละเอียดบางอย่างที่คุณเน้นผลลัพธ์ของการทำความเข้าใจปัญหาที่ดีขึ้น
BufferUnderRun

1

เนื่องจากขนาดใหญ่กว่า 2TB น. ฉันถูกบังคับให้ใช้พาร์ติชัน GPT จริง ๆ หรือไม่

ข้อ จำกัด ของ MBR คือพาร์ติชันสูงสุดที่ 2TB และ BIOS แบบดั้งเดิมไม่สามารถบูตจากดิสก์ที่จัดรูปแบบ GPT

คุณสามารถทำหลายพาร์ติชัน 2TB หรือน้อยกว่าถ้าคุณต้องการที่จะเก็บมันไว้ MBR

เหตุผลที่แท้จริงเพียงอย่างเดียวที่จะทำให้มันเป็น MBR คือถ้าคุณต้องการที่จะบูตมันโดยใช้ BIOS ไม่ใช่ UEFI

ถ้าใช่ต้องใช้พาร์ติชั่น GPT ที่ต้องการ UEFI หรือ BIOS รุ่นเก่า?

BIOS ไม่ทราบเกี่ยวกับ GPT ดังนั้นจึงไม่สามารถบูตจากดิสก์ที่จัดรูปแบบ GPT ได้ UEFI รู้เกี่ยวกับทั้ง MBR และ GPT ดังนั้นจึงสามารถบูตได้ทั้งสองแบบ

ถ้าไบออสดั้งเดิมรองรับ Arch Linux จะเห็น 4TB หรือ 2TB เท่านั้น?

สมมติว่าเคอร์เนลที่ไม่ใช่ของโบราณ Linux จะเห็นอุปกรณ์ทั้งหมด คุณจะเห็นอุปกรณ์ทั้งหมด (เช่น/dev/sda) และพาร์ทิชัน ( /dev/sda1, /dev/sda2ฯลฯ )

อย่างไรก็ตามข้อ จำกัด 2TB เป็นข้อ จำกัด MBR ก่อนอื่นดังนั้นหากดิสก์ของคุณมีการจัดรูปแบบ MBR แม้แต่ Linux ก็ไม่สามารถใส่พาร์ติชั่นได้มากกว่า 2TB แต่อีกครั้งฉันเชื่อว่าคุณสามารถมีหลายพาร์ติชัน 2TB หรือน้อยกว่านั้นได้ Windows มีปัญหากับอุปกรณ์ที่ถอดออกได้และหลายพาร์ติชัน (อาจแก้ไขได้ในที่สุดกับ Win8.1 หรือ 10) แต่ไม่ใช่ Linux

ด้วย GPT พาร์ติชันเดียวสามารถมีค่าสูงสุดถึง 16384TB


1
  1. หากคุณต้องการขนาดพาร์ติชันที่มากกว่า 2TB คุณต้องใช้ GPT แทน MBR MBR รองรับขนาดพาร์ติชั่น 2TB เท่านั้น หากคุณต้องการหลายพาร์ติชั่น (น้อยกว่า 2TB แต่ละอัน) คุณควรจะสามารถเข้าถึงดิสก์ทั้งหมดของคุณเป็นพาร์ติชั่นต่าง ๆ ได้

  2. BIOS จะให้ความสำคัญกับ MBR / GPT สำหรับปริมาณการบูตเท่านั้นในกรณีนี้ SSD ของคุณ คุณสามารถใช้ MBR บน SSD และใช้ Legacy BIOS และยังสามารถเข้าถึงดิสก์ 4TB ได้อย่างเต็มที่ตราบใดที่คุณใช้ GPT สำหรับดิสก์ 4TB

  3. โดยไม่คำนึงถึง BIOS ของคุณ Arch Linux จะเห็นดิสก์ 4TB และตราบใดที่คุณใช้ GPT เมื่อคุณสร้างพาร์ติชันบนดิสก์คุณจะสามารถสร้างไดรฟ์ข้อมูล 4TB

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.