การสร้างพาร์ติชัน ext4 จากคอนโซล


74

ฉันมีไดรฟ์ข้อมูล/dev/sda1(1.2 TB) ที่มีพาร์ติชัน NTFS โดยใช้พื้นที่ 0.6 TB

ฉันต้องการสร้างext4พาร์ติชันในพื้นที่ 0.6 TB ที่เหลือ

ฉันยังไม่ได้ลองอะไรเลยเพราะฉันไม่ต้องการเสี่ยงที่จะสูญเสียข้อมูลหากฉันกดคำสั่งผิด (ฉันไม่สามารถใช้ gparted ได้เนื่องจากไม่มี GUI)

mkfs.ext4คุณสามารถให้ฉันด้วยคำสั่งที่ถูกต้องหรืออย่างน้อยพารามิเตอร์ที่เหมาะสมสำหรับ

root @ rasp: ~ # fdisk -l / dev / sda

Disk /dev/sda: 1500.3 GB, 1500299395072 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930272256 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000303ee

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  2930272255  1465135104    7  HPFS/NTFS/exFAT

ขอขอบคุณสำหรับการปรับปรุง, ฉันกำลังมองเข้าไปในรายละเอียด แต่ในเวลาเฉลี่ยที่คุณไม่ได้สำรองข้อมูล NTFS ของคุณได้หรือไม่? ถ้าไม่ทำตอนนี้! มันเป็นไปได้ที่จะทำเช่นนี้โดยไม่มีการสูญหายของข้อมูล แต่คุณไม่มีทางรู้ว่า ... นอกจากนี้คุณมีการเข้าถึงเครื่องอย่างเต็มที่หรือไม่? คุณสามารถรีบูทเป็นเซสชันสดได้หรือไม่?
terdon

@terdon ฉันมีสิทธิ์เข้าถึงรูท แต่ไม่ใช่สิทธิ์เข้าถึงแบบฟิสิคัล / dev / sda ไม่ใช่สิ่งที่ฉันบูตจาก ฉันไม่สามารถสำรองหรือบูตจากสิ่งอื่นได้ จากubuntuforums.org/showthread.php?t=1244058ฉันอ่านว่าฉันต้องลบพาร์ติชันออกจากตารางและตั้งพาร์ติชันใหม่ในช่วงขนาด NTFS จากนั้นเพิ่มพาร์ติชันใหม่ที่ฉันต้องเริ่มต้นด้วย ext4
Daniel W.

ใช่แล้ว นอกจากนี้ยังมีลักษณะที่นี้ ในทางทฤษฎีเมื่อคุณได้ปรับขนาดโดยใช้ntfsresizeคุณสามารถลบพาร์ติชันที่ใช้fdiskและสร้างมีขนาดเล็กลงตราบใดที่มันจะเริ่มต้นในกระบอกเดียวกัน ดังนั้นโดยพื้นฐานก่อนอื่นให้ลบพาร์ติชันที่มีอยู่แล้วทำตามขั้นตอนในคำตอบของฉันเพื่อสร้างพาร์ติชันใหม่ คุณทำเช่นนี้ด้วยความเสี่ยงของคุณเองฉันไม่เคยลองด้วยตัวเอง แต่มันก็ใช้ได้ดี ฉันอยากจะแนะนำให้ใช้clonezillaหรือเครื่องมือที่คล้ายกันเพื่อทำการสำรองข้อมูลก่อน
terdon

@terdon ผมสังเกตเห็นว่าntfsresizeวิ่งอย่างถูกต้องกับความสำเร็จ แต่มันจะต้องได้ลบอะไรเพราะฉันจะได้รับข้อผิดพลาดของความซื่อสัตย์ล้มเหลว Failed to load $MFT: Input/output error..
Daniel W.

ขออภัยไม่มีความคิดเกี่ยวกับสิ่งนั้น บางทีนี่อาจช่วยได้
terdon

คำตอบ:


104

ก่อนอื่นคุณต้องสร้างพาร์ติชันจากนั้นคุณสามารถสร้างระบบไฟล์

  1. สร้างพาร์ติชันใหม่

    sudo fdisk /dev/sda
    

    จะเป็นการเปิดfdiskเมนูขึ้นมา คุณควรทำความคุ้นเคยกับมันค้นหาบทช่วยสอน ( นี่คือข้อแนะนำ ) ตัวเลือกพื้นฐานคือ:

    Command action
       a   toggle a bootable flagL
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       l   list known partition types
       m   print this menu
       n   add a new partition
       o   create a new empty DOS partition table
       p   print the partition table
       q   quit without saving changes
       s   create a new empty Sun disklabel
       t   change a partition's system id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit
       x   extra functionality (experts only)
    

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

  2. เนื่องจากคุณต้องการสร้างextพาร์ติชันคุณไม่จำเป็นต้องทำอะไรเลย หากคุณต้องการสร้างประเภทอื่น (สลับหรือ NTFS หรืออะไรก็ตาม) คุณจะต้องใช้tเพื่อเปลี่ยนประเภทพาร์ติชัน ฉันกำลังพูดถึงเรื่องนี้ในกรณีที่

  3. ตรวจสอบว่าการเปลี่ยนแปลงของคุณเป็นสิ่งที่คุณคาดหวังโดยกดปุ่มPเพื่อพิมพ์ตารางพาร์ติชัน

  4. หากทุกอย่างเรียบร้อยให้เขียนตารางพาร์ติชันใหม่ลงในดิสก์ ( W) และออก ( Q)

เมื่อคุณมีพาร์ติชั่นใหม่และว่างเปล่าแล้วคุณสามารถสร้างระบบไฟล์ได้ ดังนั้นหากคุณเพิ่งสร้าง/dev/sdaX( Xเช่นหมายเลขของพาร์ติชันที่คุณสร้างขึ้น/dev/sda2) ให้รันสิ่งนี้:

sudo mkfs.ext4 /dev/sdaX

ฉันเพียงแค่ shrinked พาร์ทิชัน NTFS ntfsresize -s 656511M /dev/sda1กับคำสั่ง โดยใช้คำแนะนำที่ดีของคุณฉันต้องการสร้างพาร์ติชันที่สองด้วยfdiskแต่เมื่อกดปุ่ม n, p, 2 มันเป็น saisNo free sectors available
Daniel W.

ใช้cfdiskมันเป็น NTFS ของฉันยังคงขนาด 1,500,000 MB ฉันเพิ่งปรับขนาดโดยใช้ntfsresize! เกิดอะไรขึ้น:, - (
แดเนียลดับเบิลยู.

@ DanFromGermany โปรดเพิ่มผลลัพธ์ของsudo fdisk -l /dev/sdaคำถามของคุณ
terdon

ฉันกำลังต่อไปนี้คำตอบของคุณ แต่เมื่อผมเลือกผมบอกn to create more partitions, first replace a primary with and extendedสิ่งที่ฉันกำลังมองหาคือส่วนของ 2GB จาก SSD ซึ่งเพียงพอที่จะสำรองไว้
dustin

@dustin ซึ่งหมายความว่าคุณกำลังใช้รูปแบบการแบ่งพาร์ติชัน GPT ที่อนุญาตเฉพาะพาร์ติชันหลักที่สามเท่านั้น คุณจะต้องแปลงจากพาร์ทิชันที่มีอยู่เป็นโลจิคัลพาร์ติชัน (แบบขยาย) และสร้างพาร์ติชั่นอื่นภายในนั้น มันค่อนข้างซับซ้อนเกินกว่าที่จะตอบในความเห็นฉันแน่ใจว่ามันถูกถามมาก่อน แต่ถ้าไม่ใช่ให้โพสต์คำถามใหม่
terdon

21

ไวยากรณ์คือ mkfs.ext4 *partition*

ตัวอย่างจะเป็นmkfs.ext4 /dev/sda2ที่ซึ่ง/dev/sda2พาร์ติชันที่ยังไม่ฟอร์แมตนั้นเป็นปัญหา

คุณสามารถรับข้อมูลเกี่ยวกับระบบไฟล์ของคุณโดยการดำเนินการlsblkหรือlsblk --fsสำหรับข้อมูลเพิ่มเติม

2 พาร์ติชั่นสุดท้ายนั้นว่างเปล่าและยังไม่มีระบบไฟล์:

root@augur:/# lsblk --fs --ascii 
NAME        FSTYPE LABEL MOUNTPOINT
mmcblk0                  
|-mmcblk0p1 vfat   boot  /boot
|-mmcblk0p2 ext4         /
|-mmcblk0p3              
`-mmcblk0p4 

คำสั่งนี้จะลบ 0.6 TB NTFS ที่มีอยู่ของฉันหรือจะใช้พื้นที่มากที่สุดเท่าที่จะทำได้โดยไม่ต้องสัมผัสพาร์ติชั่นอื่น ๆ ?
Daniel W.

ตารางพาร์ติชันต้องมีพื้นที่ว่างที่ตั้งค่าไว้แล้วเพื่อให้ mkfs.ext4 ทำงานได้ หากคุณมีพาร์ติชันขนาดใหญ่เพียงอันเดียวคุณจำเป็นต้องปรับขนาดเพื่อสร้างพื้นที่ว่างเพื่อให้ mkfs ทำงานได้ หากเป็นกรณีบูตเข้าสู่ Windows และไปที่เครื่องมือผู้ดูแลระบบการจัดการดิสก์และปรับขนาดพาร์ติชันที่มีอยู่เพื่อให้มีพื้นที่ว่างบางส่วนที่คุณจัดรูปแบบด้วย Linux สร้างพาร์ติชันในพื้นที่ว่างแล้วจัดรูปแบบนั้น
headkase

ฉันไม่มี GUI หรือ Windows หรือแม้แต่การเข้าถึงตัวเครื่อง ฉันจะลองpartman
Daniel W.

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