มันใช้ได้กับ mkfs ที่ไม่มีหมายเลขพาร์ติชันหรือไม่?


10

ฉันมีไดรฟ์ปากกาและพาร์ติชันหนึ่ง:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
└─sda1   8:1    0 931.5G  0 part /
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part

และฉันได้ฟอร์แมตด้วยคำสั่ง:

   # mkfs.fat -n A /dev/sdb

และมันใช้งานได้ดี

แต่หลังจากนั้นฉันก็อ่านผ่านหน้า man สำหรับ mkfs:

   mkfs is used to build a Linux filesystem on a device,  usually  a  hard
   disk  partition.   The  device argument is either the device name (e.g.
   /dev/hda1, /dev/sdb2),  or  a  regular  file  that  shall  contain  the
   filesystem.   The  size argument is the number of blocks to be used for
   the filesystem.

มันบอกว่าmkfsควรจะทำงานกับหมายเลขพาร์ติชัน และปัญหาของฉันคือทำไมการทำงานของฉันทำงานโดยไม่มีข้อผิดพลาดแจ้ง?


1
ไม่มีปัญหาในการใช้อุปกรณ์ทั้งหมดแทนพาร์ติชันเดียว สิ่งนี้จะสมเหตุสมผลมากกว่าหากคุณต้องการไขมัน 3.5 G และ 4G ext3 / luckfs / อะไรก็ตามคุณจะต้องแบ่งส่วนและจัดรูปแบบแต่ละส่วน
Archemar

1
หากคุณวางไว้ในอุปกรณ์ที่คาดว่าจะมีตารางพาร์ติชันอยู่ก็อาจขอให้คุณจัดรูปแบบ ... โดยปกติแล้วจะดีกว่าถ้ามีตารางพาร์ติชันแม้ว่าจะไม่จำเป็นต้องใช้อย่างเคร่งครัดก็ตาม
frostschutz

1
หน้าคนกล่าวว่าอุปกรณ์ที่มักพาร์ติชันฮาร์ดดิสก์ ฮาร์ดดิสก์ทั้งหมดเป็นอุปกรณ์บล็อคที่เหมาะสมเช่นกัน
Toby Speight

คำตอบ:


10

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

หลังจากทำเช่นmkfs.fat -n A /dev/sdbนั้นคุณจะไม่มีพาร์ติชันบนดิสก์นั้นอีกต่อไป ระวังว่าเคอร์เนลยังคงคิดว่าดิสก์นั้นมีพาร์ติชั่นอยู่เพราะมันจะเก็บตารางพาร์ติชันไว้ในหน่วยความจำ แต่คุณไม่ควรลองใช้/dev/sdb1อีกต่อไปเนื่องจากไม่มีอยู่แล้ว เขียนถึงมันจะเสียหายระบบแฟ้มที่คุณสร้างขึ้นบน/dev/sdbตั้งแต่/dev/sdb1เป็นส่วนหนึ่งของ/dev/sdb(ทุกอย่างยกเว้นไม่กี่ร้อยไบต์ที่จุดเริ่มต้น) รันคำสั่งpartprobeในฐานะ root เพื่อบอกเคอร์เนลให้อ่านตารางพาร์ติชันอีกครั้ง

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


8

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

อุปกรณ์ในคำถามของคุณดูเหมือนจะเป็นไดรฟ์แบบถอดออกได้ที่มีรูปแบบ FAT: ถ้ามันจะถูกใช้กับอุปกรณ์ฝังตัวที่อาจมีรายละเอียดมากขึ้นหรือน้อยลงเกี่ยวกับวิธีการติดตั้งระบบไฟล์ ข้อเท็จจริงสนับสนุนระบบไฟล์ทั้งอุปกรณ์โดยไม่มีตารางพาร์ติชัน (ตัวอย่างเช่นกล้องมีแนวโน้มที่จะสร้างพาร์ติชันและรูปแบบเดียวที่เป็นไปได้ทั้งหมดที่พวกเขาจะประกาศการ์ดหน่วยความจำที่ไม่สามารถใช้พาร์ติชันได้)

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