</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

نصب Gentoo روی UEFI

پارتیشن‌بندی GPT برای UEFI، ساخت ESP با FAT32 و سوار کردن /boot برای نصب مدرن Gentoo.

متوسط۱۰ دقیقه مطالعهآخرین بروزرسانی: ۱ تیر ۱۴۰۵ویرایش در گیت‌هاب

UEFI چیست و چرا مدرن‌تر است؟#

UEFI (Unified Extensible Firmware Interface) جانشین مدرن BIOS است که از حدود سال ۲۰۱۲ به‌بعد در اکثر رایانه‌ها استاندارد شده است. UEFI از GPT پشتیبانی می‌کند، دیسک‌های بزرگ‌تر از ۲TiB را به‌خوبی مدیریت می‌کند، بوت سریع‌تر و امن‌تری (با Secure Boot) ارائه می‌دهد و رابط گرافیکی با پشتیبانی از ماوس دارد.

نصب Gentoo روی UEFI نیاز به یک پارتیشن خاص به نام EFI System Partition (ESP) با فایل سیستم FAT32 دارد که فایل‌های بوت‌لودر در آن قرار می‌گیرند.

UEFI در برابر BIOS

اگر سیستم شما قدیمی است یا UEFI غیرفعال است، باید از روش Legacy BIOS استفاده کنید. در سیستم‌های جدید می‌توانید یکی را انتخاب کنید؛ UEFI توصیه می‌شود.

پیش‌نیازها#

پیش از شروع، مطمئن شوید سیستم در حالت UEFI بوت شده است:

# اگر این مسیر وجود داشت، سیستم در حالت UEFI بوت شده است
ls /sys/firmware/efi/efivars
# خروجی:
# Boot0000  BootCurrent  BootNext  BootOptionSupport  ...

اگر این پوشه وجود نداشت، سیستم در حالت Legacy BIOS بوت شده و نصب UEFI ممکن نخواهد بود. در این صورت یا حالت UEFI را در تنظیمات firmware فعال کنید، یا از آموزش Legacy BIOS استفاده کنید.

طرح پارتیشن‌بندی پیشنهادی#

برای یک سیستم UEFI با Gentoo، طرح زیر پیشنهاد می‌شود:

پارتیشناندازهفایل سیستمنقشسوار در
/dev/sda1۵۱۲MB تا ۱GBFAT32ESP (EFI System Partition)/boot/efi
/dev/sda2۴GB تا ۸GBswapفضای swapswap
/dev/sda3بقیه دیسکext4ریشه سیستم/

ESP و /boot جدا یا یکی؟

دو رویکرد رایج است: ۱) ESP را در /boot/efi سوار کنید و /boot را در ریشه نگه دارید؛ ۲) کل /boot را به‌عنوان ESP تعریف کنید. روش اول انعطاف‌پذیرتر است و در Gentoo معمولاً انتخاب می‌شود.

پارتیشن‌بندی با parted#

ابزار parted برای ساخت GPT و پارتیشن‌ها استفاده می‌شود:

# باز کردن دیسک
parted -a optimal /dev/sda
 
# ساخت GPT جدید (تمام داده‌ها پاک می‌شوند!)
(parted) mklabel gpt
 
# ساخت ESP در ابتدای دیسک
(parted) unit MiB
(parted) mkpart primary 1 1024
(parted) name 1 "EFI"
(parted) set 1 esp on
 
# ساخت swap
(parted) mkpart primary 1024 6144
(parted) name 2 "swap"
(parted) set 2 swap on
 
# ساخت ریشه
(parted) mkpart primary 6144 -1
(parted) name 3 "root"
 
# خروج و ذخیره
(parted) quit

توضیح پرچم‌ها:

  • mklabel gpt — ساخت جدول پارتیشن GPT
  • mkpart primary start end — ساخت پارتیشن
  • set 1 esp on — علامت‌گذاری پارتیشن به‌عنوان ESP
  • -a optimal — هم‌ترازی بهینه برای SSD

ساخت فایل سیستم#

# ساخت FAT32 روی ESP
mkfs.fat -F 32 /dev/sda1
 
# ساخت swap
mkswap /dev/sda2
swapon /dev/sda2
 
# ساخت ext4 روی ریشه
mkfs.ext4 -L root /dev/sda3

سوار کردن پارتیشن‌ها#

پس از ساخت فایل سیستم، پارتیشن‌ها را در مسیر نصب Gentoo سوار می‌کنیم:

# سوار کردن ریشه
mount /dev/sda3 /mnt/gentoo
 
# ساخت پوشه بوت و سوار کردن ESP
mkdir -p /mnt/gentoo/boot/efi
mount /dev/sda1 /mnt/gentoo/boot/efi
 
# تأیید سوار شدن
lsblk
# خروجی:
# NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
# sda      8:0    0 465.8G  0 disk
# ├─sda1   8:1    0   512M  0 part /mnt/gentoo/boot/efi
# ├─sda2   8:2    0     4G  0 part [SWAP]
# └─sda3   8:3    0 461.3G  0 part /mnt/gentoo

افزودن به fstab#

پس از ورود به chroot، فایل /etc/fstab باید این موارد را شامل شود:

# /etc/fstab
/dev/sda1   /boot/efi   vfat    defaults,noatime               0 2
/dev/sda2   none        swap    sw                              0 0
/dev/sda3   /           ext4    defaults,noatime                0 1

بهتر است به‌جای نام دستگاه، از UUID استفاده کنید:

# دریافت UUID پارتیشن‌ها
blkid
# خروجی:
# /dev/sda1: UUID="1234-ABCD" BLOCK_SIZE=512 TYPE="vfat" PARTLABEL="EFI"
# /dev/sda2: UUID="a1b2c3d4-..." TYPE="swap" PARTLABEL="swap"
# /dev/sda3: UUID="e5f6g7h8-..." BLOCK_SIZE=4096 TYPE="ext4" PARTLABEL="root"

نصب بوت‌لودر روی UEFI#

پس از نصب Stage3 و هسته، باید بوت‌لودر را نصب کنید. GRUB برای UEFI رایج‌ترین انتخاب است:

# نصب GRUB برای UEFI
emerge --ask sys-boot/grub:2
 
# نصب فایل‌های GRUB روی ESP
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Gentoo
# خروجی مطلوب:
# Installation finished. No error reported.

efibootmgr نیاز است

برای UEFI، بستهٔ sys-apps/efibootmgr نیز باید نصب باشد تا GRUB بتواند ورودی بوت در firmware ایجاد کند. در آموزش EFI بیشتر بخوانید.

خطاهای رایج#

۱. خطای efivars قابل دسترسی نیست#

grub-install: error: cannot find EFI directory

دلیل: ESP سوار نشده یا مسیر اشتباه است. راه‌حل:

mount /dev/sda1 /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Gentoo

۲. سیستم در حالت Legacy BIOS بوت شده#

اگر /sys/firmware/efi/efivars وجود نداشت، نصب UEFI کار نمی‌کند. باید سیستم را با فلش UEFI بوت کنید یا از روش Legacy BIOS استفاده نمایید.

۳. پارتیشن ESP به‌اندازهٔ کافی بزرگ نیست#

برای سیستم‌هایی که چندین هسته یا چند توزیع نصب دارند، ESP کمتر از ۵۱۲MB کافی نیست. توصیه می‌شود حداقل ۱ گیگابایت در نظر بگیرید.

خلاصه و مرحله بعد#

نصب Gentoo روی UEFI به جدول GPT و یک ESP با FAT32 نیاز دارد. این روش مدرن، از دیسک‌های بزرگ پشتیبانی می‌کند و امکان استفاده از Secure Boot را فراهم می‌سازد.

برای جزئیات بیشتر دربارهٔ GPT، آموزش GPT و برای آشنایی با EFI System Partition و ابزار efibootmgr، آموزش EFI را بخوانید. نصب GRUB نیز در آموزش GRUB توضیح داده شده است.

اشتراک‌گذاری:

این صفحه در تاریخ ۱ تیر ۱۴۰۵ به‌روزرسانی شده است.