วิธีการขยายโลจิคัลและพาร์ติชันเสริมด้วย fdisk


14

ฉันพยายามที่จะขยายพาร์ติชัน / dev / sda5 ซึ่งเป็นโลจิคัลพาร์ติชันภายใต้การขยายพาร์ติชัน / dev / sda2

ฉันต้องการใช้fdisk

ขั้นตอนควรลบทั้งสองพาร์ติชั่นแล้วสร้างใหม่ด้วยเซกเตอร์เริ่มต้นเดียวกัน (1001470 & 1001472) มันจะไปได้ดีจนกระทั่งสร้างโลจิคัลพาร์ติชันที่เซกเตอร์เริ่มต้นขั้นต่ำมีขนาดใหญ่กว่า ( 1003518 ) มากกว่าที่มันควรจะเป็น

$ sudo fdisk / dev / sda
คำสั่ง (m สำหรับความช่วยเหลือ): p
ดิสก์ / dev / sda: 9.8 GiB, 10485760000 ไบต์, 20480000 ภาค
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์
ประเภท Disklabel: dos
ตัวระบุดิสก์: 0x0cd7105f

การเริ่มต้นการบูตอุปกรณ์ประเภทขนาดรหัสภาคส่วนท้าย
/ dev / sda1 * 2048 999423 997376 487M 83 Linux
/ dev / sda2 1001470 16775167 15773698 7.5G 5 เพิ่มเติม
/ dev / sda5 1001472 16775167 15773696 7.5G 83 Linux


ลบพาร์ติชัน 5 แล้ว
ลบพาร์ติชัน 2 แล้ว

คำสั่ง (m สำหรับความช่วยเหลือ): n
ประเภทพาร์ติชัน
   p primary (หลัก 1, ขยาย 0, 3 ฟรี)
   e Extended (คอนเทนเนอร์สำหรับโลจิคัลพาร์ติชัน)

เลือก (ค่าเริ่มต้น p): e
หมายเลขพาร์ติชัน (2-4 ค่าเริ่มต้น 2):
ภาคแรก (999424-20479999 ค่าเริ่มต้น 999424): 1001470 
ภาคสุดท้าย + ภาคหรือขนาด {K, M, G, T, P} (1001470-20479999 เริ่มต้น20479999 ):
สร้างพาร์ติชันใหม่ 2 ชนิด 'ขยาย' และขนาด 9.3 GiB

คำสั่ง (m สำหรับความช่วยเหลือ): n
มีการใช้พื้นที่ทั้งหมดสำหรับพาร์ติชันหลัก
การเพิ่มโลจิคัลพาร์ติชัน 5
ภาคแรก (1003518-20479999 ค่าเริ่มต้น1003520 ): 1001472

ค่าอยู่นอกช่วง

ฉันได้ทำมันแยกแต่มันควรจะเป็นไปได้ด้วย fdisk อย่างใด

$ fdisk -V
fdisk from util-linux 2.27.1

คำตอบ:


11

ในอินเทอร์เฟซปกติ fdisk ของ Linux ใช้ข้อ จำกัด การจัดตำแหน่งกับพาร์ติชัน ข้อ จำกัด ใดขึ้นอยู่กับรุ่นของ fdisk รุ่นเก่าผิดนัดการจัดตำแหน่งกระบอกเข้ากันได้กับระบบปฏิบัติการรุ่นเก่าที่มีความเข้ากันได้กับLBA เมื่อ LBA อายุน้อยกว่าสองทศวรรษเล็กน้อย fdisk หยุดจัดเลี้ยงสำหรับระบบโบราณดังกล่าวโดยค่าเริ่มต้นและเปลี่ยนไปใช้การจัดตำแหน่ง 1MB ซึ่งให้ประสิทธิภาพที่ดีกว่าบนสื่อเก็บข้อมูลสมัยใหม่

ในรุ่นปัจจุบันของ fdisk เพื่อสร้างพาร์ติชันด้วยการจัดตำแหน่งเซกเตอร์ (512B) ใด ๆ คุณต้องสร้างพาร์ติชันด้วยจุดสิ้นสุดที่ต้องการก่อนจากนั้นไปที่เมนูผู้เชี่ยวชาญ ( x) และใช้คำสั่งbเพื่อปรับการเริ่มต้นพาร์ติชัน ( สิ่งนี้จะเปลี่ยนขนาดพาร์ติชันไม่ใช่ที่ที่จะสิ้นสุด) มันดูค่อนข้างเงอะงะ


ทำงานเหมือนจับใจ คุณสามารถอธิบายรายละเอียดว่าทำไมโหมดผู้เชี่ยวชาญก็ไม่จำเป็นต้องใช้ในกรณีนี้ ?
โฆษณา

2
@AD เพราะในกรณีนี้พาร์ติชั่นอยู่ในแนวเดียวกับ 1MB
Gilles 'หยุดความชั่วร้าย'

จริงฉันพยายามที่จะขยายพาร์ติชันที่จัดตำแหน่งและทำงานได้แม้ไม่มีโหมดผู้เชี่ยวชาญ
โฆษณา

14

ขั้นตอนดำเนินการตามคำตอบของ Gilles :

$ sudo fdisk / dev / sda

ยินดีต้อนรับสู่ fdisk (util-linux 2.27.1)
การเปลี่ยนแปลงจะยังคงอยู่ในหน่วยความจำเท่านั้นจนกว่าคุณจะตัดสินใจเขียน
ระวังก่อนใช้คำสั่ง write


คำสั่ง (m สำหรับความช่วยเหลือ): p
ดิสก์ / dev / sda: 9.8 GiB, 10485760000 ไบต์, 20480000 ภาค
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์
ประเภท Disklabel: dos
ตัวระบุดิสก์: 0x0cd7105f

การเริ่มต้นการบูตอุปกรณ์ประเภทขนาดรหัสภาคส่วนท้าย
/ dev / sda1 * 2048 999423 997376 487M 83 Linux
/ dev / sda2        1001470 16775167 15773698 7.5G 5 เพิ่มเติม
/ dev / sda5        1001472 16775167 15773696 7.5G 83 Linux

คำสั่ง (m เพื่อขอความช่วยเหลือ): d
หมายเลขพาร์ติชัน (1,2,5 ค่าเริ่มต้น 5): 2

ลบพาร์ติชัน 2 แล้ว

คำสั่ง (m สำหรับความช่วยเหลือ): n
ประเภทพาร์ติชัน
   p primary (หลัก 1, ขยาย 0, 3 ฟรี)
   e Extended (คอนเทนเนอร์สำหรับโลจิคัลพาร์ติชัน)
เลือก (ค่าเริ่มต้น p): e
หมายเลขพาร์ติชัน (2-4 ค่าเริ่มต้น 2):
ภาคแรก (999424-20479999 ค่าเริ่มต้น 999424): 1001470
ภาคสุดท้าย, + เซกเตอร์หรือ + ขนาด {K, M, G, T, P} (1001470-20479999, ค่าเริ่มต้น 20479999):

สร้างพาร์ติชันใหม่ 2 ชนิด 'ขยาย' และขนาด 9.3 GiB

คำสั่ง (m สำหรับความช่วยเหลือ): n
มีการใช้พื้นที่ทั้งหมดสำหรับพาร์ติชันหลัก
การเพิ่มโลจิคัลพาร์ติชัน 5
ภาคแรก (1003518-20479999 ค่าเริ่มต้น 1003520):
ภาคสุดท้าย, + เซกเตอร์หรือ + ขนาด {K, M, G, T, P} (1003520-20479999, ค่าเริ่มต้น 20479999):

สร้างพาร์ติชันใหม่ 5 ประเภท 'Linux' และขนาด 9.3 GiB

คำสั่ง (m เพื่อขอความช่วยเหลือ): x


คำสั่งจากผู้เชี่ยวชาญ (m เพื่อขอความช่วยเหลือ): b
หมายเลขพาร์ติชัน (1,2,5 ค่าเริ่มต้น 5):
ข้อมูลเริ่มต้นใหม่ (1001471-20479999, ค่าเริ่มต้น 1003520): 1001472

คำสั่งจากผู้เชี่ยวชาญ (m เพื่อขอความช่วยเหลือ): p

ดิสก์ / dev / sda: 9.8 GiB, 10485760000 ไบต์, 20480000 ภาค
หน่วย: ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์
ประเภท Disklabel: dos
ตัวระบุดิสก์: 0x0cd7105f

Device End Start Sectors ประเภทรหัส Start-C / H / S End-C / H / S Attrs
/ dev / sda1 * 2048 999423 997376 83 Linux 0/33/32 62/55/53 80
/ dev / sda2        1001470 20479999 19478530 5 Extende 62/23/86 250/23/209
/ dev / sda5        1001472 20479999 19478528 83 Linux 62/57/118 250/23/209

จากนั้นr(กลับสู่เมนูหลัก) และw(เขียนตารางลงดิสก์)


-1

Fdisk เป็นโปรแกรมเก่ามันเข้าใจเฉพาะพาร์ติชั่น MBR ฉันคิดว่าปัญหาของคุณอยู่ในรูปทรงของดิสก์ที่เปลี่ยนไป (หัว, เซ็กเตอร์ต่อแทร็คและแทร็ก) หลังจากทำสำเนาข้อมูลจากดิสก์เก่าไปยังดิสก์ใหม่ผ่านคำสั่ง dd (เซกเตอร์ไปยังเซกเตอร์คัดลอก) คุณได้พาร์ติชันที่ไม่จัดแนวเพื่อเริ่มเซ็กเตอร์ของแทร็ก นั่นคือเหตุผลที่ fdisk ไม่อนุญาตให้คุณสร้างเซกเตอร์พาร์ติชั่นเริ่มต้นก่อนที่จะปรับแนวให้เริ่มต้นเซกเตอร์แทร็คก่อนที่จะอยู่ในดิสก์เก่า

คุณสามารถลองเปลี่ยนรูปทรงเรขาคณิตของดิสก์ใหม่ในโปรแกรม fdisk ผ่านคำสั่งในเมนูแบบขยาย แต่ก็เป็นวิธีที่ผิด ใช้โปรแกรมแบบแยกส่วนและแบบแยกส่วนแทน fdisk แบบเก่า

ตอนนี้ความเร็วในการอ่านและเขียนไม่ได้ขึ้นอยู่กับการจัดตำแหน่งเพื่อเริ่มภาคการติดตามของแต่ละพาร์ติชัน


fdisk รุ่นทันสมัยเข้าใจ GPT เช่นกัน แต่นั่นไม่เกี่ยวข้องเลย ปัญหาไม่จำเป็นต้องเปลี่ยนรูปทรงของดิสก์เพียงข้อ จำกัด ของส่วนต่อประสานที่ไม่ใช่ผู้เชี่ยวชาญของ fdisk
Gilles 'หยุดความชั่วร้าย'

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