fdisk یک ابزار خط فرمان است که بهترین ابزار برای پارتیشن بندی یک هارد به حساب می اید. وقتی که یک توزیع لینوکسی را توسط واسط گرافیکی نصب می کنید، در اصل با آن واسط کاربری دارید از fdisk استفاده می کنید. در این آموزش با مبانی و ساختار یک سیستم فایل آشنا شدید. فرض کنید یک هارد جدید به سیستم اضافه کرده اید. با اجرای دستور زیر می توانید فهرست تمامی پارتیشن های هارد اول را ببنید.
همچنین یک پیغام مبنی بر اینکه هارد (Device) وجود دارد که هنوز پارتیشن بندی نشده است.

هر هارد فقط شامل 4 پارتیشن Primary است که چهارمین آنها تبدیل به پارتیشن Extended می شود و خودش شامل چندین پارتیشن منطقی یا Logical خواهد شد. اولین هارد سیستم (بافرض استفاده از هارد های ساتا) به نام sda و دومین هارد به نام sdb و ذر زیر دایرکتوری dev/ هستند. از دستور fdisk برای ایجاد، تغییر و حذف یک پارتیشن استفاده می شود. برای شروع به پارتیشن بندی ابتدا دستور fdisk را به همراه نام هارد دیسک جدید بصورت زیر اجرا کنید.
وقتی دستور بالا را اجرا می کنید، یک اعلان مانند زیر نشان داده می شود که بیان می کند برای نمایش Help باید کلید m را وارد کنید.
کلید m رو بزنید تا فهرستی از تمامی دستور ها( کلید ها) ی ابزار fdisk را ببینید. در زیر مهمترین آنها فهرست شده اند.
d : پاک کردن یک پارتیشن
n : ایجاد یک پارتیشن
q : خارج شدن بدون ذخیره تغییرات در جدول پارتیشن ها
w : ذخیره تمامی تغییرات روی جدول پارتیشن ها
l : نمایش انواع پارتیشن ها
p : نمایش جدول پارتیشن (معادل fdisk -l)
با اجرای fdisk -l ، جدول پارتیشن های موجود روی سیستم نشان داده می شود. وقتی با دستور a یک پارتیشن جدید را ایجاد می کنید و یا با دستور d یک پارتیشن را حذف می کنید، تا زمانی که دستور w را اجرا نکنید هیچ تغییری ذخیره نخواهد شد و برای خروج بدون ذخیره تغییرات باید q را بزنید. هر نوع سیستم فایل مانند ext3 یک عدد منحصر به فرد را دارد. بطور مثال پارتیشن نوع ext3 که در لینوکس بکار می رود عدد 83 و پارتیشن swap که در تمام سیستم عامل های یونیکسی بکار می رود عدد 82 را دارد.
برای مشاهده این اعداد باید دستور l را اجرا کنید. فرق گزینه l که بصورت fdisk -l بکار رفت با دستور l ی که جلوی اعلان Command m for help استفاده کردید این است که l اولی برای نمایش جدول پارتیشن ها و l دومی برای نمایش اعداد معادل هر کدام از نوع سیستم فایل ها استفاده شده است.
Command (m for help): m
Command action
a toggle a bootable flag
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
اگر دستور p برای چاپ شدن جدول پارتیشن ها را اجرا کنید خروجی شکل زیر را می بینید و یعنی که هیچ پارتیشنی وجود ندارد.

ایجاد پارتیشن :
برای ایجاد یک پارتیشن جدید باید 5 گام را دنبال کنیم. مهمترین نکات اینکه :اول باید پارتیشن های Primary را بسازیم و فقط می توانیم 4 پارتیشن Primary را بسازیم. خود چهارمین پارتیشن Primary تبدیل به یک پارتیشن Extended شده و درون آن دیگر پارتیشن ها ساخته می شوند پس پارتیشنی به نام dev/sdb4/ که معرف چهارمین پارتیشن از دومین هارد است که همان پارتیشن چهارم Primary است وجود نخواهد داشت. مراحل زیر ساخت 4 پارتیشن Primary اول را نشان می دهد.
جلوی اعلان Command m for help دستور n را بزنید (عدد 1 در شکل زیر) تا اعالان Command action ظاهر شود.
از بین گزینه های e و p باید p را نوشته و Enter بزنید. (عدد 2 در شکل زیر).
باید مطابق با عد 3 در شکل زیر، عدد 1 را برای ایجاد شدن اولین پارتیشن Primary انتخاب کنید.
مطابق با عدد 4 در شکل زیر، باید شروع سیلند را انتخاب کنید. در داخل پرانتز عدد 1 default است که می توانید همین عدد را انتخاب کنید.
مطابق با عدد 5 در شکل زیر باید انتهای سیلندر را انتخاب کنید. در داخل پرانتز عدد 5221 default است که می توانید همین عدد را انتخاب کنید یا اینکه سایز دلخواه تان را بر کسب کلیو بایت K یا مگابایت M انتخاب کنید (K و M بزرگ نوشته شوند).

برای ساخت 3 پارتیشن دیگر Primary نیز گامهای 1 تا 5 را دنبال کنید. ولی با ساخت چهارمین پارتیشن Primary بعد از آن باید پارتیشن های Extended شده را انتخاب کنید. برای ساخت آن در جلوی اعلان Command action باید دستور e را وارد کنید.
برای اعمال تغییرات روی هارد باید دستور w را جلوی اعلان Command m for help وارد کنید.
ایجاد سیستم فایل :
پس از ایجاد پارتیشن ها باید سیستم فایل را روی آنها نصب کنیم تا قابل استفاده باشند. برای این کار از دستور mkfs که مخفف Make File System است استفاده می کنیم. در لینوکس سیستم فایل های ext3,ext2 و به تازگی ext4 بصورت پیش فرض استفاده می شوند. دستور mkfs بصورت پیش فرض سیستم فایل ext3 را در توزیع های قدیمی مانند CentOS و Redhat نسخه 5 و ابونتو های قدیمی مانند سری های 9 و 10 استفاده می کند. ولی در توزیع های جدید ext4 استفاده می شود. فرمت کلی دستور mkfs در توزیع های لینوکسی بصورت زیر است :
که در آن fstype یکی از فرمت های زیر خواهد بود.
فر کنید دو پارتیشن dev/sdb1/ و dev/sdb2/ را در هارد دیسک dev/sdb/ ایجاد کرده ایم. برای ایجاد سیستم فایل ext4 روی پارتیشن dev/sdb1/ باید دستور زیر را اجرا کنیم.
و برای ایجاد سیستم فایل نوع ext4 روی پارتیشن dev/sdb2/ از دستور زیر استفاده می کنیم.
فراموش نکنید که ext4 بصورت پیش فرض در توزیع های جدید مانند نسخه های 6 از توزیع های CentOS و Redhat و Oracle Linux استفاده می شود و اجرای دستور mkfs.ext4 مساوی اجرای دستور mkfs است و اگر می خواهید روی این سری توزیع ها سیستم فایل ext3 را نصب کنید حتمن باید از دستور mkfs.ext3 استفاده کنید. در مورد نسخه های 5 از توزیع های CentOS و Redhat پیش فرض نوع ext3 است و یعنی اینکه دستور های mkfs.ext3 و mkfs یکی هستند و در این نسخه از توزیع ها ext4 پشتیبانی نمی شود و باید برای ایجاد ext2 از دستور mkfs.ext2 استفاده کنید. (البته با ارتقا هسته امکان پشتیبانی از ext4 در نسخه های 5 هم امکان پذیر می شود.)
حذف یک پارتیشن :
برای خذف یک پارتیشن جلوی اعلان Command m for help باید از دستور d استفاده کنیم. وقتی جلوی اعلان دستور d را می زنید اعلان Partition Number ظاهر می شود که درون پرانتز تعدا پارتیش ها را نشان می دهد. بطور مثال 4-1 یعنی تعداد 4 پارتیشن وجود داردو برای پاک کردن پارتیشن اول باید جلوی اعلان Partition Number باید عدد یک را بزنید و یا برای پاک کردن پارتیشن چهارم باید عدد 4 را بزنید. دقت کنید اگر دستور w را وارد نکنید هیچ تغییری در جدول پارتیشن ها نوشته نمی شود.
اگر می خواهید پیش از پاک کردن پارتیشنی بدانید که کدام عدد مطعلق به چه پارتیشنی است می توانید جلوی اعلان Command m for help دستور p برای چاپ یا Print جدول پارتیشن استفاده کنید.
نویسنده : نامی امیر
کد PHP:
fdisk -l
کد PHP:
Disk /dev/sdb dosen’ t containe a valid partion table
هر هارد فقط شامل 4 پارتیشن Primary است که چهارمین آنها تبدیل به پارتیشن Extended می شود و خودش شامل چندین پارتیشن منطقی یا Logical خواهد شد. اولین هارد سیستم (بافرض استفاده از هارد های ساتا) به نام sda و دومین هارد به نام sdb و ذر زیر دایرکتوری dev/ هستند. از دستور fdisk برای ایجاد، تغییر و حذف یک پارتیشن استفاده می شود. برای شروع به پارتیشن بندی ابتدا دستور fdisk را به همراه نام هارد دیسک جدید بصورت زیر اجرا کنید.
کد PHP:
fdisk /dev/sdb
کد PHP:
( Command (m for help
d : پاک کردن یک پارتیشن
n : ایجاد یک پارتیشن
q : خارج شدن بدون ذخیره تغییرات در جدول پارتیشن ها
w : ذخیره تمامی تغییرات روی جدول پارتیشن ها
l : نمایش انواع پارتیشن ها
p : نمایش جدول پارتیشن (معادل fdisk -l)
با اجرای fdisk -l ، جدول پارتیشن های موجود روی سیستم نشان داده می شود. وقتی با دستور a یک پارتیشن جدید را ایجاد می کنید و یا با دستور d یک پارتیشن را حذف می کنید، تا زمانی که دستور w را اجرا نکنید هیچ تغییری ذخیره نخواهد شد و برای خروج بدون ذخیره تغییرات باید q را بزنید. هر نوع سیستم فایل مانند ext3 یک عدد منحصر به فرد را دارد. بطور مثال پارتیشن نوع ext3 که در لینوکس بکار می رود عدد 83 و پارتیشن swap که در تمام سیستم عامل های یونیکسی بکار می رود عدد 82 را دارد.
برای مشاهده این اعداد باید دستور l را اجرا کنید. فرق گزینه l که بصورت fdisk -l بکار رفت با دستور l ی که جلوی اعلان Command m for help استفاده کردید این است که l اولی برای نمایش جدول پارتیشن ها و l دومی برای نمایش اعداد معادل هر کدام از نوع سیستم فایل ها استفاده شده است.
Command (m for help): m
Command action
a toggle a bootable flag
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
اگر دستور p برای چاپ شدن جدول پارتیشن ها را اجرا کنید خروجی شکل زیر را می بینید و یعنی که هیچ پارتیشنی وجود ندارد.
ایجاد پارتیشن :
برای ایجاد یک پارتیشن جدید باید 5 گام را دنبال کنیم. مهمترین نکات اینکه :اول باید پارتیشن های Primary را بسازیم و فقط می توانیم 4 پارتیشن Primary را بسازیم. خود چهارمین پارتیشن Primary تبدیل به یک پارتیشن Extended شده و درون آن دیگر پارتیشن ها ساخته می شوند پس پارتیشنی به نام dev/sdb4/ که معرف چهارمین پارتیشن از دومین هارد است که همان پارتیشن چهارم Primary است وجود نخواهد داشت. مراحل زیر ساخت 4 پارتیشن Primary اول را نشان می دهد.
جلوی اعلان Command m for help دستور n را بزنید (عدد 1 در شکل زیر) تا اعالان Command action ظاهر شود.
از بین گزینه های e و p باید p را نوشته و Enter بزنید. (عدد 2 در شکل زیر).
باید مطابق با عد 3 در شکل زیر، عدد 1 را برای ایجاد شدن اولین پارتیشن Primary انتخاب کنید.
مطابق با عدد 4 در شکل زیر، باید شروع سیلند را انتخاب کنید. در داخل پرانتز عدد 1 default است که می توانید همین عدد را انتخاب کنید.
مطابق با عدد 5 در شکل زیر باید انتهای سیلندر را انتخاب کنید. در داخل پرانتز عدد 5221 default است که می توانید همین عدد را انتخاب کنید یا اینکه سایز دلخواه تان را بر کسب کلیو بایت K یا مگابایت M انتخاب کنید (K و M بزرگ نوشته شوند).
برای ساخت 3 پارتیشن دیگر Primary نیز گامهای 1 تا 5 را دنبال کنید. ولی با ساخت چهارمین پارتیشن Primary بعد از آن باید پارتیشن های Extended شده را انتخاب کنید. برای ساخت آن در جلوی اعلان Command action باید دستور e را وارد کنید.
برای اعمال تغییرات روی هارد باید دستور w را جلوی اعلان Command m for help وارد کنید.
ایجاد سیستم فایل :
پس از ایجاد پارتیشن ها باید سیستم فایل را روی آنها نصب کنیم تا قابل استفاده باشند. برای این کار از دستور mkfs که مخفف Make File System است استفاده می کنیم. در لینوکس سیستم فایل های ext3,ext2 و به تازگی ext4 بصورت پیش فرض استفاده می شوند. دستور mkfs بصورت پیش فرض سیستم فایل ext3 را در توزیع های قدیمی مانند CentOS و Redhat نسخه 5 و ابونتو های قدیمی مانند سری های 9 و 10 استفاده می کند. ولی در توزیع های جدید ext4 استفاده می شود. فرمت کلی دستور mkfs در توزیع های لینوکسی بصورت زیر است :
کد PHP:
mkfs.fstype
ext2
ext3
ext4
vfat
msdos
ext3
ext4
vfat
msdos
فر کنید دو پارتیشن dev/sdb1/ و dev/sdb2/ را در هارد دیسک dev/sdb/ ایجاد کرده ایم. برای ایجاد سیستم فایل ext4 روی پارتیشن dev/sdb1/ باید دستور زیر را اجرا کنیم.
کد PHP:
mkfs.ext3 /dev/sdb1
کد PHP:
mkfs.ext4 /dev/db2
حذف یک پارتیشن :
برای خذف یک پارتیشن جلوی اعلان Command m for help باید از دستور d استفاده کنیم. وقتی جلوی اعلان دستور d را می زنید اعلان Partition Number ظاهر می شود که درون پرانتز تعدا پارتیش ها را نشان می دهد. بطور مثال 4-1 یعنی تعداد 4 پارتیشن وجود داردو برای پاک کردن پارتیشن اول باید جلوی اعلان Partition Number باید عدد یک را بزنید و یا برای پاک کردن پارتیشن چهارم باید عدد 4 را بزنید. دقت کنید اگر دستور w را وارد نکنید هیچ تغییری در جدول پارتیشن ها نوشته نمی شود.
اگر می خواهید پیش از پاک کردن پارتیشنی بدانید که کدام عدد مطعلق به چه پارتیشنی است می توانید جلوی اعلان Command m for help دستور p برای چاپ یا Print جدول پارتیشن استفاده کنید.
نویسنده : نامی امیر