| FDISK(8) | إدارة النظام | FDISK(8) |
الاسم
fdisk - عالج جدول أقسام القرص
موجز
fdisk [خيارات] جهاز
fdisk -l [جهاز...]
الوصف
fdisk برنامج قائم على الحوار لإنشاء ومعالجة جداول الأقسام. يدعم جداول أقسام GPT و MBR و Sun و SGI و BSD.
يمكن تقسيم الأجهزة الكتلية إلى قرص منطقي واحد أو أكثر تسمى أقسام. يُسجل هذا التقسيم في جدول الأقسام، والذي يوجد عادة في القطاع 0 من القرص. (في عالم BSD يُتحدث عن `شرائح القرص' و `ملصق القرص'.)
تُقاد كافة عمليات التقسيم بواسطة حدود الإدخال/الإخراج للجهاز (الطوبولوجيا) مبدئيًا. يستطيع fdisk تحسين تخطيط القرص لحجم قطاع 4K واستخدام إزاحة محاذاة على الأجهزة الحديثة لـ MBR وGPT. من الجيد دائمًا اتباع قيم fdisk المبدئية حيث أن القيم المبدئية (مثل قطاعات القسم الأولى والأخيرة) وأحجام الأقسام المحددة بصيغة +/-<الحجم>{M,G,...} تُحاذى دائمًا وفقًا لخصائص الجهاز.
عنونة CHS (أسطوانة-رأس-قطاع) مهجورة ولا تُستخدم مبدئيًا. من فضلك، لا تتبع المقالات والتوصيات القديمة التي تنصح بـ fdisk -S <n> -H <n> لأجهزة SSD أو الأجهزة ذات قطاع 4K.
لاحظ أن partx(8) يوفر واجهة غنية للبرامج النصية لطباعة تخطيطات القرص، بينما صُمم fdisk للبشر بشكل أساسي. التوافقية مع الإصدارات السابقة في مخرجات fdisk غير مضمونة. يجب أن تكون المدخلات (الأوامر) متوافقة مع الإصدارات السابقة دائمًا.
الخيارات
-b، --sector-size حجم_القطاع
-B، --protect-boot
-c، --compatibility[=وضع]
-L، --color[=متى]
-l، --list
إذا لم تُعطَ أي أجهزة، تُستخدم الأجهزة المذكورة في /proc/partitions (في حال وجود هذا الملف). تُدرج الأجهزة دائمًا بالترتيب الذي حُددت به في سطر الأوامر، أو بواسطة النواة المدرجة في /proc/partitions.
-x، --list-details
--lock[=وضع]
-n، --noauto-pt
-o، --output قائمة
يمكن تمديد القائمة المبدئية للأعمدة إذا حُددت قائمة بصيغة +القائمة (مثلًا، -o +UUID).
--bytes*
-s، --getsz
-t، --type نوع
-u، --units[=وحدة]
-C، --cylinders رقم
-H، --heads رقم
-S، --sectors رقم
-w، --wipe متى
-W، --wipe-partitions متى
-h، --help
-V، --version
الأجهزة
عادةً ما يكون جهاز هو /dev/sda أو /dev/sdb وما شابه. يشير اسم الجهاز إلى القرص بأكمله. الأنظمة القديمة التي لا تحتوي على libata (وهي مكتبة تستخدم داخل نواة لينكس لدعم أجهزة وتحكم ATA) تفرق بين أقراص IDE وأقراص SCSI. في هذه الحالات، سيكون اسم الجهاز /dev/hd* (لـ IDE) أو /dev/sd* (لـ SCSI).
الـ قسم هو اسم جهاز متبوع برقم القسم. على سبيل المثال، /dev/sda1 هو القسم الأول على أول قرص صلب في النظام. راجع أيضاً وثائق نواة لينكس (ملف Documentation/admin-guide/devices.txt).
الحجم
يقبل حوار "القطاع الأخير" حجم القسم المحدد بعدد القطاعات أو بصيغة +/-<الحجم>{K,B,M,G,...}.
إذا كان الحجم مسبوقاً بـ '+'، فسيتم تفسيره على أنه نسبي بالنسبة للقطاع الأول للقسم. أما إذا كان مسبوقاً بـ '-'، فسيتم تفسيره على أنه نسبي بالنسبة للحد الأقصى (آخر قطاع متاح للقسم).
في حال تحديد الحجم بالبايت، يمكن أن يتبع الرقم لواحق مضاعفة مثل KiB (1024 بايت)، MiB (1024*1024 بايت)، وهكذا لـ GiB و TiB و PiB و EiB و ZiB و YiB. الـ "iB" اختيارية، فعلى سبيل المثال، "K" لها نفس معنى "KiB".
الأحجام النسبية إذا حُددت بلواحق مضاعفة (مثل +100MiB) يتم محاذاتها دائماً وفقاً لحدود الإدخال/الإخراج للجهاز. يوصى باستخدام صيغة +/-<الحجم>{K,B,M,G,...}.
يتم حساب القطاع الأخير للقسم بدقة كـ <البداية> + <الحجم> (دون -1) إذا حُدد الحجم بصيغة +<القطاعات>. في هذه الحالة، لا يتم محاذاة الحجم مع حدود الإدخال/الإخراج للجهاز.
من أجل التوافق مع الإصدارات السابقة، يقبل fdisk أيضاً اللواحق KB (1000 بايت)، و MB (1000*1000 بايت)، وهكذا لـ GB و TB و PB و EB و ZB و YB. هذه اللواحق القائمة على 10^N مهجورة.
ملفات السكربتات
يسمح fdisk بقراءة ملفات البرامج النصية (scripts) المتوافقة مع sfdisk(8) (باستخدام الأمر 'I'). يتم تطبيق البرنامج النصي على جدول الأقسام في الذاكرة، ومن ثم يمكن تعديل جدول الأقسام قبل كتابته على الجهاز.
والعكس صحيح، حيث يمكن كتابة تخطيط القرص الحالي الموجود في الذاكرة إلى ملف برنامج نصي باستخدام الأمر 'O'.
ملفات البرامج النصية متوافقة بين cfdisk(8) و sfdisk(8) و fdisk وتطبيقات libfdisk الأخرى. لمزيد من التفاصيل، راجع sfdisk(8).
اللصائق الأجهزة
GPT (GUID Partition Table)
لاحظ أن القطاع الأول لا يزال محجوزاً لـ MBR واقٍ (protective MBR) في مواصفات GPT. وهذا يمنع أدوات التقسيم التي تدعم MBR فقط من التعرف الخاطئ على أقراص GPT والكتابة فوقها.
يُعد GPT دائمًا خيارًا أفضل من MBR، خاصةً على الحواسيب الحديثة التي تستخدم مُحمّل إقلاع UEFI.
DOS-type (MBR)
في جدول أقسام نوع DOS، تُخزن إزاحة البداية وحجم كل قسم بطريقتين: كعدد مطلق من القطاعات (مُعطى في 32 بت)، وكتلاثية أسطوانات/رؤوس/قطاعات (مُعطاة في 10+8+6 بت). الطريقة الأولى جيدة — مع قطاعات بحجم 512 بايت ستعمل حتى 2 تيرابايت. أما الثانية فلها مشكلتان. الأولى هي أن حقول C/H/S لا يمكن ملؤها إلا عند معرفة عدد الرؤوس وعدد القطاعات لكل مسار. والثانية هي أنه حتى لو عرفنا ما يجب أن تكون عليه هذه الأرقام، فإن الـ 24 بت المتاحة لا تكفي. يستخدم DOS نظام C/H/S فقط، ويستخدم Windows كليهما، بينما لا يستخدم لينكس نظام C/H/S أبدًا. عنونة C/H/S مهجورة وقد لا تُدعم في إصدارات fdisk اللاحقة.
يرجى قراءة قسم وضع DOS إذا كنت تريد أقسامًا متوافقة مع DOS. لا يكترث fdisk بحدود الأسطوانات بشكل مبدئي.
BSD/Sun-type
IRIX/SGI-type
يُنفذ sync(2) و ioctl(BLKRRPART) (إعادة قراءة جدول الأقسام من القرص) قبل الخروج عند تحديث جدول الأقسام.
وضع DOS وتحذير DOS 6.X
لاحظ أن كل هذا مهجور. لست مضطرًا للاهتمام بأشياء مثل الهندسة والأسطوانات في أنظمة التشغيل الحديثة. إذا كنت تريد حقًا تقسيمًا متوافقًا مع DOS، فعليك تفعيل وضع DOS ووحدات الأسطوانات باستخدام خيارات سطر الأوامر fdisk '-c=dos -u=cylinders'.
يبحث أمر FORMAT في DOS 6.x عن بعض المعلومات في القطاع الأول من منطقة البيانات في القسم، ويعامل هذه المعلومات على أنها أكثر موثوقية من المعلومات الموجودة في جدول الأقسام. يتوقع DOS FORMAT من DOS FDISK مسح أول 512 بايت من منطقة البيانات في القسم كلما حدث تغيير في الحجم. سيبحث DOS FORMAT في هذه المعلومات الإضافية حتى لو أُعطي العلم /U — ونحن نعتبر هذا خطأ برمجيًا في DOS FORMAT و DOS FDISK.
الخلاصة هي أنه إذا استخدمت fdisk أو cfdisk(8) لتغيير حجم مدخل في جدول أقسام DOS، فيجب عليك أيضًا استخدام dd(1) لـ تصفير أول 512 بايت من ذلك القسم قبل استخدام DOS FORMAT لتهيئة القسم. على سبيل المثال، إذا كنت تستخدم fdisk لإنشاء مدخل جدول أقسام DOS لـ /dev/sda1، فإنه (بعد الخروج من fdisk وإعادة تشغيل لينكس ليكون جدول الأقسام صالحًا) ستستخدم الأمر dd if=/dev/zero of=/dev/sda1 bs=512 count=1 لتصفير أول 512 بايت من القسم.
يحصل fdisk عادةً على هندسة القرص آليًا. هذه ليست بالضرورة هندسة القرص الفعلية (في الواقع، لا تملك الأقراص الحديثة حقًا أي شيء يشبه الهندسة الفعلية، وبالتأكيد ليس شيئًا يمكن وصفه بصيغة الأسطوانات/الرؤوس/القطاعات البسيطة)، لكنها هندسة القرص التي يستخدمها MS-DOS لجدول الأقسام.
عادةً ما يسير كل شيء على ما يرام بشكل مبدئي، ولا توجد مشاكل إذا كان لينكس هو النظام الوحيد على القرص. ومع ذلك، إذا كان لا بد من مشاركة القرص مع أنظمة تشغيل أخرى، فغالبًا ما يكون من الجيد السماح لبرنامج fdisk من نظام تشغيل آخر بإنشاء قسم واحد على الأقل. عندما يقلع لينكس، ينظر إلى جدول الأقسام ويحاول استنتاج الهندسة (الوهمية) المطلوبة للتعاون الجيد مع الأنظمة الأخرى.
كلما عُرض جدول أقسام في وضع DOS، يُجرى فحص اتساق على مدخلات جدول الأقسام. يتحقق هذا الفحص من أن نقاط البداية والنهاية المادية والمنطقية متطابقة، وأن كل قسم يبدأ وينتهي عند حدود الأسطوانة (باستثناء القسم الأول).
تُنشئ بعض إصدارات MS-DOS قسمًا أول لا يبدأ عند حدود الأسطوانة، بل عند القطاع 2 من الأسطوانة الأولى. لا يمكن للأقسام التي تبدأ في الأسطوانة 1 أن تبدأ عند حدود الأسطوانة، ولكن من غير المرجح أن يسبب هذا صعوبة إلا إذا كان لديك OS/2 على حاسوبك.
للحصول على أفضل النتائج، يجب عليك دائمًا استخدام برنامج جدول أقسام مخصص لنظام التشغيل. على سبيل المثال، يجب عليك إنشاء أقسام DOS باستخدام برنامج DOS FDISK وأقسام لينكس باستخدام برنامج لينكس fdisk أو برامج لينكس cfdisk(8).
الألوان
نُفذ تلوين المخرجات بواسطة وظيفة terminal-colors.d(5). يمكن تعطيل التلوين الضمني بملف فارغ
/etc/terminal-colors.d/fdisk.disable
للأمر fdisk أو لجميع الأدوات بواسطة
/etc/terminal-colors.d/disable
منذ الإصدار 2.41، دُعم متغير البيئة $NO_COLOR أيضاً لتعطيل تلوين المخرجات ما لم يُمكن صراحةً بخيار من سطر الأوامر.
يتخطى $XDG_CONFIG_HOME/terminal-colors.d أو $HOME/.config/terminal-colors.d الخاص بالمستخدم الإعداد العام.
لاحظ أن تلوين المخرجات قد يُمكن مبدئياً، وفي هذه الحالة ليس من الضروري وجود أدلة terminal-colors.d بعد.
أسماء الألوان المنطقية التي يدعمها fdisk هي:
header
help-title
warn
welcome
البيئة
FDISK_DEBUG=all
LIBFDISK_DEBUG=all
LIBBLKID_DEBUG=all
LIBSMARTCOLS_DEBUG=all
LIBSMARTCOLS_DEBUG_PADDING=on
LOCK_BLOCK_DEVICE=<وضع>
المؤلفين
Karel Zak <kzak@redhat.com>, Davidlohr Bueso <dave@gnu.org>
كُتبت النسخة الأصلية بواسطة Andries E. Brouwer و A. V. Le Blanc وآخرين.
انظر أيضاً
التبليغ عن الأخطاء
لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.
التوفر
الأمر fdisk جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |