# راهنمایی ساده برای فرآیند بوت در لینوکس
اگر تا به حال با لینوکس کار کرده باشید، احتمالاً با کلمهی "بوت" (Boot) برخورد کردهاید. فرآیند بوت در لینوکس یکی از بخشهای بنیادین سیستمعامل است که در پشت صحنه اتفاق میافتد و سیستم را از لحظهی روشن شدن تا نمایش صفحه لاگین به کاربر، هدایت میکند.
در این مقاله با مراحل اصلی فرآیند بوت در لینوکس آشنا میشویم و برخی دستورات مفید برای مشاهده و مدیریت این مراحل را نیز بررسی میکنیم.
---
## مراحل بوت در لینوکس
فرآیند بوت در لینوکس معمولاً به ۵ مرحله اصلی تقسیم میشود:
### 1. BIOS یا UEFI
وقتی سیستم روشن میشود، اولین چیزی که اجرا میشود BIOS (یا در سیستمهای جدیدتر، UEFI) است. این بخش سختافزار را بررسی و مقداردهی اولیه میکند (POST) و سپس به دنبال دیسکی میگردد که سیستمعامل روی آن نصب شده است.
> ❗ نکته: اگر از سیستم جدید با UEFI استفاده میکنید، فایلهای بوت در مسیر `/boot/efi` قرار دارند.
---
### 2. Bootloader (مثل GRUB)
پس از BIOS/UEFI، نوبت به **Bootloader** میرسد. رایجترین bootloader در لینوکس **GRUB** است.
GRUB لیستی از هستههای موجود (Kernel) را نمایش میدهد و کاربر میتواند یکی از آنها را برای بوت انتخاب کند. در حالت پیشفرض، GRUB به طور خودکار کرنل پیشفرض را بارگذاری میکند.
🔹 مشاهده تنظیمات GRUB:
```bash
cat /boot/grub/grub.cfg
```
🔹 ویرایش تنظیمات (مثلاً برای تغییر سیستمعامل پیشفرض):
```bash
sudo nano /etc/default/grub
sudo update-grub
```
---
### 3. Kernel (هسته لینوکس)
کرنل بلافاصله بعد از انتخاب توسط GRUB بارگذاری میشود. کرنل وظیفه مدیریت سختافزار، راهاندازی درایورها و بارگذاری `initramfs` (یک سیستم فایل موقت) را دارد.
> 🔧 initramfs شامل ابزارهای لازم برای دسترسی به فایلسیستم اصلی (root filesystem) است.
🔹 مشاهده نسخه کرنل:
```bash
uname -r
```
---
### 4. Init System (مثل systemd)
پس از بارگذاری کرنل، فرآیند `init` یا **Systemd** اجرا میشود. این مرحله سرویسهای اصلی سیستم را راهاندازی میکند؛ مانند شبکه، ورود کاربران، دیسکها و ...
🔹 بررسی وضعیت سرویسها:
```bash
systemctl status
```
🔹 نمایش ترتیب راهاندازی سرویسها:
```bash
systemd-analyze
systemd-analyze blame
```
---
### 5. Login و محیط کاربری
در آخر، سیستم یک **Login Manager** (مثل `GDM`, `LightDM`) یا **Terminal Login** را نمایش میدهد. از اینجا به بعد کاربر میتواند وارد سیستم شود و محیط گرافیکی یا خط فرمان را ببیند.
---
## جمعبندی
فرآیند بوت در لینوکس به طور خلاصه شامل مراحل زیر است:
1. **BIOS/UEFI** → بررسی سختافزار
2. **Bootloader (GRUB)** → انتخاب کرنل
3. **Kernel** → بارگذاری درایورها و فایلسیستم
4. **Init System (systemd)** → راهاندازی سرویسها
5. **Login** → ورود کاربر
---
## دستورات مفید خلاصه
| عملیات | دستور |
|----------------------------|--------|
| مشاهده نسخه کرنل | `uname -r` |
| بررسی وضعیت بوت با systemd | `systemd-analyze` |
| نمایش ترتیب سرویسها | `systemd-analyze blame` |
| بررسی تنظیمات GRUB | `cat /boot/grub/grub.cfg` |
| ویرایش تنظیمات GRUB | `sudo nano /etc/default/grub` |