ทำให้ความรู้สึกของตารางพาร์ทิชัน


17

นี่คือผลลัพธ์ของfdisk:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT
/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

และนี่คือผลลัพธ์ของcfdisk:

Name         Flags       Part Type   FS Type           [Label]         Size (MB)
--------------------------------------------------------------------------------
                                     Unusable                               1.05  *
sda1                      Primary    ext4                              214744.18  *
sda2                      Primary    ext4                              429499.88  *
sda5         NC           Logical    swap                                8586.79  *
                          Logical    Free Space                         12889.10  *
sda4         Boot         Primary    ntfs                              209715.20  *
                                     Unusable                          124768.71  *

ฉันควรจะมี 2 พาร์ติชัน Linux, 1 พาร์ติชัน Windows ขยายพาร์ติชั่นประมาณ 20 GB พร้อมโลจิคัลพาร์ติชัน swap 8GB และพื้นที่ว่างที่ไม่ได้แบ่งพาร์ติชันสูงสุด 130GB

ราวกับว่ามันไม่เพียงพอเอาท์พุทของgpartedยังแตกต่างกัน ป้อนคำอธิบายรูปภาพที่นี่

ฉันสับสนจากผลลัพธ์ที่ฉันโพสต์ที่นี่

  1. ทำไม/dev/sd4ทำเครื่องหมายว่าสามารถบู๊ตได้ถ้าฉันบูทเป็น GRUB2
  2. / dev / sda3 คืออะไร มันคืออะไร (หลัก / ตรรกะ)? ทำไมมันไม่แสดงขึ้นมาcfdisk?
  3. เหตุใดจึงมีพื้นที่ว่าง (ฉันสมมติว่า 124768 ในcfdisk) ทำเครื่องหมายว่าใช้ไม่ได้
  4. การตั้งค่าสถานะ NC หมายถึงอะไรในcfdiskการสลับพาร์ติชัน

คำตอบ:


26

ทำไม / dev / sd4 ถูกทำเครื่องหมายว่าสามารถบู๊ตได้ถ้าฉันบูทเป็น GRUB2

สามารถบูตได้คือแฟล็กใน MBR (จริง ๆ แล้วเป็นไบท์ซึ่งเปรียบเทียบกับ 0x80) รายการนั้นถูกทำเครื่องหมายว่าสามารถบูตได้ bootloader 'ดั้งเดิม' อ่าน MBR ค้นหารายการด้วยการตั้งค่าสถานะที่สามารถบูตได้และส่งผ่านการควบคุมไป ในขณะที่คุณกำลังใช้ด้วงมันทำสิ่งที่แตกต่างอย่างสิ้นเชิงเพราะมันใช้ไฟล์การกำหนดค่าแทน แต่เครื่องมือกำลังบอกคุณว่าพาร์ติชั่นตั้งค่าอย่างไร (จริง ๆ แล้วคุณอาจมี bootloader ใน MBR กระโดดไปที่ / dev / sda4 และติดตั้ง grub2 ไว้ที่นั่น)

/ dev / sda3 คืออะไร มันคืออะไร (หลัก / ตรรกะ)? เหตุใดจึงไม่แสดงใน cfdisk

/ dev / sda3 เป็นพาร์ติชันหลักของชนิดพาร์ติชันเสริม เป็นพาร์ติชันที่ใช้เป็นคอนเทนเนอร์สำหรับพาร์ติชันอื่น gparted แสดงว่ามันค่อนข้างดีในกราฟิกของมัน

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

เครื่องมือแบ่งพาร์ติชันปฏิบัติต่อพวกมันเป็นพิเศษดังนั้น cfdisk จึงไม่ต้องการแสดงมัน เช่น fdisk ไม่อนุญาตการกระทำบางอย่างในพาร์ติชันเหล่านั้น

ทำไมพื้นที่ว่าง (ฉันคิดว่า 124768 ใน cfdisk) ถูกทำเครื่องหมายว่าใช้ไม่ได้

ฉันคิดว่าสิ่งเหล่านี้คือ 116.20 GiB ที่แสดงโดย gparted ในตอนท้าย

คุณสามารถมีพาร์ติชันหลักได้สูงสุด 4 พาร์ติชันเท่านั้น (นับพาร์ติชันเสริม) ที่มาจากจำนวนช่องที่ส่วนท้ายของ MBR เนื่องจากคุณมีอยู่แล้ว 4 รายการพื้นที่ที่ไม่ได้ปันส่วนในตอนท้ายไม่สามารถแบ่งพาร์ติชันได้ (คุณไม่สามารถใส่โลจิคัลพาร์ติชันที่นั่นได้เนื่องจากคุณสามารถมีพาร์ติชันเสริมได้เพียงพาร์ติชันเดียว

ตัวเลือก (ง่าย) ของคุณที่จะใช้พื้นที่นั้นคือ:

  • ขยาย / dev / sda4 เพื่อใช้งาน
  • ขยาย / dev / sda3 เพื่อรวม / dev / sda4 (และควรรวมถึงท้ายดิสก์) และทำให้ / dev / sda4 เป็นโลจิคัลพาร์ติชัน

การตั้งค่าสถานะ NC หมายถึงอะไรใน cfdisk สำหรับการแลกเปลี่ยนพาร์ติชัน?

การอ้างถึงหน้า cfdisk man : "ค่าสถานะสามารถเป็น Boot ซึ่งกำหนดพาร์ติชันที่สามารถบู๊ตได้หรือ NC ซึ่งย่อมาจาก" Not Compatible with DOS หรือ OS / 2 " ไม่ใช่สิ่งที่ต้องกังวล


11

เริ่มกันเลย ...

  1. มีการทำเครื่องหมายว่าสามารถบูตได้เพื่อให้ Windows สามารถโหลดบูตเดอร์ได้ แม้ว่า Grub อาจโหลดก่อน แต่มันจะ "chainload" ลงใน boot boot Windows หาก Windows ถูกเลือกจากรายการ เพื่อให้ Windows Bootloader ทำงานได้จะต้องอยู่ในพาร์ติชันที่สามารถบู๊ตได้ (มีใครตรวจสอบอีกครั้งสำหรับฉันหรือไม่ฉันไม่เคยลองลบการตั้งค่าสถานะ Bootable บน Windows 7 ติดตั้ง ... )

  2. sda3 เป็นจริงขยาย พาร์ทิชัน ฮาร์ดดิสก์ของคุณมีรูปแบบเป็นMBRแทนGPT หนึ่งในข้อ จำกัด คือ MBR สามารถมีพาร์ติชันหลักได้สูงสุด 4 พาร์ติชันเท่านั้น ในการหลีกเลี่ยงปัญหานี้คุณสามารถใช้ Extended primary partition เพื่อสร้างโลจิคัลพาร์ติชันเล็ก ๆ หลายอันภายใน (ให้คุณมากกว่า 4 พาร์ติชั่น)

  3. เนื่องจากข้อ จำกัด MBR จึงไม่สามารถสร้างพาร์ติชันหลักที่ 5 นอกพาร์ติชันแบบขยายตรรกะได้ นี่เป็นปกติ. หากคุณขยาย Extended Partition คุณควรสร้างพาร์ติชั่นใหม่ภายในพาร์ติชั่นนั้นและใช้ส่วนที่เหลือของดิสก์

  4. จากหน้าcfdisk Man :

แฟล็กสามารถเป็นBootซึ่งกำหนดพาร์ติชันที่สามารถบูตได้หรือNCซึ่งย่อมาจาก "Not Compatible with DOS หรือ OS / 2"


ไม่มีปัญหา. ฉันโพสต์คำตอบเดียวกันและเป็นคำตอบเดียวที่คุณไม่ได้ตอกย้ำกว่าฉัน ;)
Ƭᴇcʜιᴇ007

3

พาร์ติชันที่ 1 ถึง 4 เป็นแบบแผน "ทางกายภาพ" (เป็นชนิดเดียวที่พร้อมใช้งานในเวลา) ดังนั้นคุณมี:

Device    Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT

/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

... sda1เป็นจริง, Linux sda2เป็นจริง, Linux อีกครั้ง sda3เป็นโลจิคัลพาร์ติชันที่อาจมีพาร์ติชันอื่น (5 เป็นต้นไป) ในที่สุดsda4คือพาร์ติชัน Windows ทำเครื่องหมายบูตได้ - ฉันคิดว่ามีเพียง Windows เท่านั้นที่ใส่ใจสิ่งนั้นอีกต่อไป GRUB2 ยินดีที่จะบูตพาร์ทิชันที่คุณต้องการ แต่ Windows ต้องการที่จะอยู่ในพาร์ติชันที่สามารถบูตได้

ตอนนี้ภายในโลจิคัลพาร์ติชันsda3ที่cfdiskไม่แสดงเช่นนั้นมีพาร์ติชันฟิสิคัลที่เทียบเท่ากันมากกว่า sda5ในกรณีนี้เท่านั้น

และตั้งแต่เปลี่ยนsda3จากภาค 1258M ไปเป็นภาค 1300M แต่sda5ใช้งานได้มากถึง 1275M เท่านั้นภาค 1275062272 ถึง 1300236287 นั้นฟรี (แต่จัดสรรได้sda6)

ในที่สุดของคุณsda4(ฟิสิคัลพาร์ติชันที่เป็นไปได้สุดท้าย - MBR เพียงสี่อันเท่านั้น) ไม่ได้เติมจนถึงจุดสิ้นสุดของดิสก์ มันออกประมาณ 116Gb พื้นที่นั้นไม่สามารถใช้งานได้เนื่องจากคุณไม่สามารถสร้างฟิสิคัลพาร์ติชันเพื่อให้ครอบคลุมได้ (พาร์ติชันเสริมsda3ไม่สามารถขยายได้เนื่องจากขนาด "บล็อก" โดยsda4:

[SDA3...(sda5)...| FREE    ][...sda4...][ UNREACHABLE SPACE ]end-of-disk

โซลูชั่นสำหรับการกู้คืนพื้นที่ที่ไม่พร้อมใช้งาน

ไม่เจ็บปวดฉันกลัว คุณสามารถลบsda4และใส่คำอธิบายประกอบขอบเขตได้ทั้งนี้ขึ้นอยู่กับเรขาคณิต จากนั้นขยายsda3เพื่อรวมดิสก์ทั้งหมด (เริ่มต้นที่เท่ากันคือ 1258291200 แต่จบที่ส่วนท้ายของดิสก์) หรือลบออกแล้วสร้างใหม่ด้วยการเริ่มต้นและจุดสิ้นสุดสูงสุดเดียวกัน ตอนนี้คุณสามารถสร้างพาร์ทิชันsda6ภายในsda3และทำให้มันจึงสิ้นสุดที่ถังก่อนภาค 1300236288. sda3นี้จะครอบครองพื้นที่ว่างที่เหลืออยู่ในปัจจุบันที่มีอยู่ ในที่สุดคุณก็สร้างพาร์ติชั่นด้านในsda3และมันจะเป็นการsda7บอกให้ระบบขยายจาก 1300236288 เป็น 1709836287 และเป็นประเภทที่ 7

หากคุณไม่ฟอร์แมตพาร์ติชันนั้นเนื้อหาจะยังคงอยู่เหมือนเดิมและเป็นพาร์ติชัน Windows ที่ถูกต้อง มันคือ

แน่นอนหากสิ่งต่าง ๆ ผิดพลาดคุณจะสูญเสียข้อมูลทั้งหมดของคุณ ฟิสิsda4คัลพาร์ติชัน (อย่างที่ Windows เป็นอยู่ตอนนี้) และฟิสิคัลพาร์ติชันภายใน (ตามที่มันจะเกิดขึ้นเมื่อมันกลายเป็นsda7) ไม่จำเป็นต้องผสมกัน เครื่องมือบางอย่างจะแบนปฏิเสธที่จะสร้างพวกเขา ฉันขอแนะนำให้ทำการทดสอบบนดิสก์เสมือนที่มีขนาดเท่ากันซึ่งสร้างขึ้นภายในไฟล์แบบกระจาย (ไฟล์นั้นจะมีขนาดเพียงไม่กี่กิกะไบต์เท่านั้น) หรือบนดิสก์ภายนอก

อีกวิธีหนึ่งที่ปลอดภัยกว่าคือการลบsda5(เป็นเพียงการสลับ) และsda3ย้ายsda4พารามิเตอร์ไปที่sda3(ซึ่งอาจบอกเป็นนัยถึงการลบsda4และสร้างใหม่sda3ด้วยsda4พารามิเตอร์เก่า) และจะทำให้sda4ช่องว่าง (และ "ช่อง" อยู่ตรงกลาง ของดิสก์) BIOSes ส่วนใหญ่อนุญาตให้ใช้ตารางพาร์ติชันที่ไม่อยู่ในลำดับ อีกครั้งนี้ไม่จำเป็นต้องคัดลอกอะไร sda4ตอนนี้กลายเป็นsda3และยังคงเป็นฟิสิคัลพาร์ติชันดังนั้นเรขาคณิตของมันควรเห็นด้วยกับสมมติฐานของเครื่องมือการแบ่งพาร์ติชัน

แน่นอนว่าวิธีที่แนะนำและปลอดภัยที่สุด (และช้าที่สุด) คือการสำรองข้อมูลพาร์ติชั่นทั้งหมดทำการฟอร์แมตพาร์ติชั่นใหม่ทั้งหมดและกู้คืนพาร์ติชั่นหลังจากที่ "จัดตำแหน่ง" ใหม่อย่างถูกต้องโดยพาร์ติชันเสริมขยาย นี่จะกำจัดพื้นที่ว่างใน sda3 และเรียกคืนพื้นที่ว่างในตอนท้ายโดยไม่มีความเสี่ยง (หากการสำรองข้อมูลถูกต้อง - ตรวจสอบหลังจากสำรองข้อมูลฉันเคยสำรองข้อมูลบนดิสก์ภายนอกที่ผิดพลาดซึ่งเสียชีวิตเมื่อฉัน คืนค่า. ไม่น่าขบขันเลย)


0

นอกเหนือไปจากสิ่งที่มีอยู่แล้วกล่าวว่าเกี่ยวกับความหมายของทั้งหมดนี้ผมคิดว่าทางออกที่เจ็บปวดมากที่สุดจะมีพื้นที่ swap /homeในพื้นที่ขนาดใหญ่ที่ปลายและเพื่อเพิ่มพื้นที่ว่างในช่วงกลางของคุณ

ในการทำเช่นนั้นคุณต้อง

  • ลบไฟล์ swap ของคุณทันทีที่ไม่ได้ใช้งานรวมถึงพาร์ติชันเสริมที่เก็บไว้
  • ขยายของคุณsda2เพื่อรวมพื้นที่ว่างที่สมบูรณ์หลังจากนั้น (คุณจะต้องลบและสร้างใหม่)
  • สร้างพาร์ติชันเสริมขึ้นใหม่เพื่อให้สามารถsda3ใช้งานได้ตามปกติและใช้เพื่อเก็บพาร์ติชั่นได้มากเท่าที่คุณต้องการ

สิ่งนี้ทำได้ง่ายที่สุดcfdiskเนื่องจากจัดการกับพาร์ติชันเสริมแบบไดนามิก แต่ระวังที่sda2ทำให้ LBA เริ่มต้นไม่เช่นนั้นคุณจะสูญเสียเนื้อหา

หลังจากขยายขนาดพาร์ติชันคุณต้องปรับขนาดระบบไฟล์ที่ล้อมรอบเพื่อใช้ประโยชน์จากพื้นที่เต็ม

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