پارتیشنبندی در Arch Linux
آشنایی کامل با پارتیشنبندی دیسک در Arch Linux: GPT/MBR، EFI، swap، btrfs subvolumes و بهترین ساختار برای سیستم شما.
پارتیشنبندی یکی از مهمترین گامهای نصب Arch Linux است. انتخاب درست ساختار پارتیشنها، تأثیر مستقیمی بر عملکرد، نگهداری و انعطافپذیری سیستم شما در آینده دارد. در این آموزش، مفاهیم و روشهای پارتیشنبندی را بهطور کامل مرور میکنیم.
مفاهیم پایه
پارتیشن چیست؟
پارتیشن (Partition) بخشی منطقی از یک دیسک فیزیکی است که بهصورت جداگانه مدیریت میشود. هر پارتیشن میتواند فایل سیستم، نقش و اندازهٔ متفاوتی داشته باشد.
جدول پارتیشنها
دو نوع اصلی جدول پارتیشن وجود دارد:
| جدول | پشتیبانی از UEFI | حداکثر اندازه | تعداد پارتیشن | توصیه |
|---|---|---|---|---|
| GPT | بله | بسیار بزرگ | ۱۲۸ | سیستمهای جدید UEFI |
| MBR (dos) | خیر (فقط BIOS) | ۲ ترابایت | ۴ اصلی | سیستمهای قدیمی BIOS |
GPT را ترجیح دهید
اگر سیستم شما از UEFI پشتیبانی میکند (اکثر سیستمهای تولیدشده پس از ۲۰۱۲)، از GPT استفاده کنید. GPT مزایای زیادی دارد: پشتیبانی از دیسکهای بزرگ، redundancy در هدر، و سازگاری با systemd-boot.
ابزارهای پارتیشنبندی
Arch ISO شامل چندین ابزار پارتیشنبندی است:
# رابط کاربری ساده و رنگی (پیشنهادی برای مبتدیان)
cfdisk /dev/sda
# رابط متنی سنتی
fdisk /dev/sda
# ابزار قدرتمند با امکانات بیشتر
parted /dev/sda
# برای دیسکهای NVMe
cfdisk /dev/nvme0n1شناسایی دیسکها
قبل از پارتیشنبندی، باید دیسکهای موجود را شناسایی کنید:
# مشاهدهٔ دیسکها و پارتیشنها
lsblk
# مشاهدهٔ جزئیات کامل
fdisk -l
# شناسایی نوع دیسک (NVMe در برابر SATA)
lsblk -d -o NAME,ROTA,TYPE,SIZE,MODEL
# ROTA=1 یعنی دیسک چرخان (HDD)، ROTA=0 یعنی SSDدیسک درست را انتخاب کنید
دقت کنید دیسک درستی را انتخاب میکنید. اشتباه در پارتیشنبندی میتواند تمام دادههای دیسک اشتباه را پاک کند. همیشه با lsblk مطمئن شوید.
ساختارهای رایج پارتیشنبندی
ساختار ۱: UEFI با ext4 (پیشنهادی برای مبتدیان)
| پارتیشن | اندازه | نوع | فایل سیستم | نقطهٔ نصب |
|---|---|---|---|---|
/dev/sda1 | ۱ گیگابایت | EFI System | FAT32 | /boot |
/dev/sda2 | معادل رم (تا ۸G) | Linux swap | swap | [SWAP] |
/dev/sda3 | باقیمانده | Linux filesystem | ext4 | / |
ساختار ۲: UEFI با btrfs و subvolumes
| پارتیشن | اندازه | نوع | فایل سیستم | نقطهٔ نصب |
|---|---|---|---|---|
/dev/sda1 | ۱ گیگابایت | EFI System | FAT32 | /boot |
/dev/sda2 | معادل رم | Linux swap | swap | [SWAP] |
/dev/sda3 | باقیمانده | Linux filesystem | btrfs | / (با subvolumeها) |
ساختار ۳: BIOS/Legacy با MBR
| پارتیشن | اندازه | نوع | فایل سیستم | نقطهٔ نصب |
|---|---|---|---|---|
/dev/sda1 | ۲ گیگابایت | Linux filesystem | ext4 | /boot |
/dev/sda2 | معادل رم | Linux swap | swap | [SWAP] |
/dev/sda3 | باقیمانده | Linux filesystem | ext4 | / |
ساختار ۴: پارتیشن /home جداگانه
اگر میخواهید دادههای کاربر را جدا نگه دارید تا در صورت نصب مجدد سیستم حفظ شوند:
| پارتیشن | اندازه | نوع | نقطهٔ نصب |
|---|---|---|---|
/dev/sda1 | ۱ گیگابایت | EFI | /boot |
/dev/sda2 | ۸ گیگابایت | swap | [SWAP] |
/dev/sda3 | ۴۰ گیگابایت | filesystem | / |
/dev/sda4 | باقیمانده | filesystem | /home |
پارتیشن EFI (ESP)
پارتیشن EFI System Partition (ESP) محل ذخیرهٔ بوتلودرهای UEFI است. مشخصات آن:
- فایل سیستم: FAT32
- حداقل اندازه: ۳۰۰ مگابایت (۱ گیگابایت پیشنهادی)
- نوع پارتیشن: EFI System
# ساخت پارتیشن EFI با cfdisk
# نوع را "EFI System" انتخاب کنید
# فرمت کردن
mkfs.fat -F32 /dev/sda1ESP مشترک با ویندوز
اگر ویندوز نصب دارید، ESP از قبل وجود دارد (معمولاً ۱۰۰ مگابایت). میتوانید از همان ESP استفاده کنید، اما مطمئن شوید فضای کافی دارد. در غیر این صورت، اندازهٔ آن را با ابزار ویندوز افزایش دهید.
پارتیشن Swap
Swap فضای مجازی روی دیسک است که وقتی رم پر میشود، استفاده میشود. دو راه برای ایجاد swap وجود دارد:
روش ۱: پارتیشن swap (سنتی)
# ساخت پارتیشن با نوع "Linux swap"
mkswap /dev/sda2
swapon /dev/sda2
# بررسی
swapon --showروش ۲: فایل swap
اگر پارتیشن swap نساختهاید، میتوانید از فایل swap استفاده کنید:
# ساخت فایل swap 8 گیگابایتی
dd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# افزودن به fstab
echo "/swapfile none swap defaults 0 0" >> /etc/fstabاندازهٔ swap
- برای دسکتاپ با رم کافی: معادل رم یا نصف آن
- برای لپتاپ با hibernate: حداقل معادل رم
- برای سرور: بسته به بار کاری
اگر مطمئن نیستید، ۸ گیگابایت مقدار امنی است.
انتخاب فایل سیستم
| فایل سیستم | مزایا | معایب | مناسب برای |
|---|---|---|---|
| ext4 | پایدار، سریع، ساده | بدون قابلیت پیشرفته | اکثر کاربران |
| btrfs | اسنپشات، فشردهسازی، subvolume | کمی کندتر، فرگمنتشدگی | کاربران پیشرفته |
| xfs | عالی برای فایلهای بزرگ | بدون shrink | سرورهای فایل |
| f2fs | بهینه برای SSD و فلش | سازگاری کمتر | دستگاههای با SSD |
| zfs | بسیار قدرتمند | مصرف رم بالا، مجوز | سرورهای حرفهای |
پارتیشنبندی با cfdisk گامبهگام
cfdisk /dev/sda۱. در پرسش اول، gpt را انتخاب کنید
۲. فضای خالی (Free space) را انتخاب کنید و [ New ] را بزنید
۳. اندازهٔ ۱G را وارد کنید و Enter را بزنید
۴. با [ Type ] نوع را به EFI System تغییر دهید
۵. فضای خالی بعدی را انتخاب و [ New ] را بزنید
۶. اندازهٔ 8G را وارد و نوع را به Linux swap تغییر دهید
۷. فضای خالی باقیمانده را انتخاب و [ New ] را بزنید
۸. با Enter تمام فضای باقیمانده را بگیرید (نوع پیشفرض Linux filesystem درست است)
۹. [ Write ] را بزنید، yes را تایپ کنید و Enter را بزنید
۱۰. با [ Quit ] خارج شوید
پارتیشنبندی با fdisk (خط فرمان)
fdisk /dev/sda
# در محیط fdisk:
g # ساخت جدول GPT جدید
n # ساخت پارتیشن جدید
1 # شمارهٔ پارتیشن
<Enter> # شروع پیشفرض
+1G # اندازه
t # تغییر نوع
1 # EFI System
n # پارتیشن بعدی
2
<Enter>
+8G
t
19 # Linux swap
n
3
<Enter>
<Enter> # تمام فضای باقیمانده
w # ذخیره و خروجbtrfs Subvolumes
اگر btrfs را انتخاب کردهاید، میتوانید از subvolumeها برای سازماندهی بهتر استفاده کنید:
# فرمت کردن با btrfs
mkfs.btrfs -f /dev/sda3
# نصب موقت
mount /dev/sda3 /mnt
# ساخت subvolumes
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
btrfs subvolume create /mnt/@snapshots
# جدا کردن
umount /mnt
# نصب مجدد با subvolume ریشه
mount -o subvol=@,compress=zstd /dev/sda3 /mnt
mount --mkdir -o subvol=@home,compress=zstd /dev/sda3 /mnt/home
mount --mkdir -o subvol=@snapshots,compress=zstd /dev/sda3 /mnt/.snapshotsمزیت btrfs
با btrfs میتوانید با ابزارهایی چون snapper یا timeshift قبل از هر بهروزرسانی اسنپشات بگیرید و در صورت خرابی، به حالت قبل برگردید. این قابلیت، ریسک rolling-release بودن Arch را بهشدت کاهش میدهد.
نصب پارتیشنها
پس از پارتیشنبندی و فرمت، پارتیشنها را در /mnt نصب کنید:
# ابتدا پارتیشن ریشه
mount /dev/sda3 /mnt
# سپس پارتیشن بوت (UEFI)
mount --mkdir /dev/sda1 /mnt/boot
# در صورت داشتن پارتیشن home
mount --mkdir /dev/sda4 /mnt/home
# فعالسازی swap
swapon /dev/sda2تولید fstab
پس از نصب پایه با pacstrap، فایل fstab را تولید کنید:
genfstab -U /mnt >> /mnt/etc/fstab
# بررسی
cat /mnt/etc/fstabگزینهٔ -U از UUID استفاده میکند که پایدارتر از نام دستگاه است.
خلاصه
در این آموزش آموختید:
- تفاوت GPT و MBR
- ساختارهای رایج پارتیشنبندی
- کار با cfdisk و fdisk
- انتخاب فایل سیستم مناسب
- پیکربندی btrfs subvolumes
اکنون میتوانید با نصب پایهٔ Arch Linux ادامه دهید. در آموزش بعدی، با pacstrap و chroot آشنا میشویم.
پرسشهای رایج
آیا میتوانم پارتیشنها را بعداً تغییر دهم؟
تغییر اندازهٔ پارتیشنها ممکن است اما خطرناک است. ext4 و btrfs از رشد (grow) پشتیبانی میکنند. کوچککردن (shrink) ext4 ممکن است اما برای btrfs سادهتر است. همیشه قبل از تغییر، از دادهها نسخهٔ پشتیبان تهیه کنید.
بهتر است /home جدا باشد؟
برای کاربرانی که سیستم را زیاد نصب مجدد میکنند، بله. اما برای اکثر کاربران دسکتاپ، یک پارتیشن ریشهٔ بزرگ کافی است و در صورت نیاز از btrfs subvolumeها میتوان استفاده کرد.
اندازهٔ پارتیشن EFI چقدر باشد؟
حداقل ۳۰۰ مگابایت، پیشنهادی ۱ گیگابایت. اگر چندین کرنل یا بوتلودر نصب دارید، فضای بیشتری اختصاص دهید.
این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.