نصب 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 تا ۱GB | FAT32 | ESP (EFI System Partition) | /boot/efi |
/dev/sda2 | ۴GB تا ۸GB | swap | فضای swap | swap |
/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— ساخت جدول پارتیشن GPTmkpart 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 توضیح داده شده است.
این صفحه در تاریخ ۱ تیر ۱۴۰۵ بهروزرسانی شده است.