温馨提示×

ubuntu fromscratch怎么起步

小樊
39
2026-09-16 15:48:11
栏目: 智能运维

“Ubuntu From Scratch”(或类似“Linux From Scratch”思路在 Ubuntu 上的实践)通常指不通过官方 ISO 安装器,而是手动从零构建 Ubuntu 系统:自己划分分区、 debootstrap 装基础系统、配置引导(GRUB)、内核、网络等。

下面给你一个可落地的起步路线(以 Ubuntu 22.04 / 24.04 为例)。


一、先明确你想要的“From Scratch”是哪一层

  1. 最推荐入门方式(官方支持)

    • 用 Live CD / 另一台 Linux
    • debootstrap 装 Ubuntu 根文件系统
    • 手动配 GRUB + 内核 ✅ 真正“Ubuntu From Scratch”
  2. 纯手工(LFS 风格)

    • 自己编 glibc、bash、gcc
    • 不推荐新手,耗时巨大
  3. 容器式理解

    • debootstrap + chroot
    • 适合学习,不算“装机”

二、起步最小环境准备

你需要:

  • 一台已运行的 Linux(Ubuntu Live USB 最好)
  • 一个空闲磁盘或分区(如 /dev/sdb/dev/nvme0n1pX
  • 基本网络
sudo apt update
sudo apt install debootstrap grub-pc-bin grub-efi-amd64-bin

三、磁盘与挂载(示例)

假设目标磁盘是 /dev/sdb

sudo fdisk /dev/sdb
# 创建:
# sdb1 → /boot (1G, ext4)
# sdb2 → /     (剩余, ext4)

格式化:

mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2

挂载:

mkdir -p /mnt/ubuntu
mount /dev/sdb2 /mnt/ubuntu
mkdir /mnt/ubuntu/boot
mount /dev/sdb1 /mnt/ubuntu/boot

四、用 debootstrap 装 Ubuntu 基础系统

debootstrap --arch=amd64 jammy /mnt/ubuntu http://archive.ubuntu.com/ubuntu/

(jammy = 22.04;noble = 24.04)


五、进入新系统(chroot)

mount --bind /dev /mnt/ubuntu/dev
mount --bind /proc /mnt/ubuntu/proc
mount --bind /sys /mnt/ubuntu/sys

chroot /mnt/ubuntu

六、基础系统配置(在 chroot 内)

apt update
apt install linux-image-generic grub-pc

设置主机名:

echo ubuntu-fromscratch > /etc/hostname

设置 root 密码:

passwd

七、安装并配置 GRUB

grub-install /dev/sdb
update-grub

(如果是 UEFI,需挂载 ESP 并 grub-install --target=x86_64-efi


八、退出并重启

exit
umount -R /mnt/ubuntu
reboot

从目标磁盘启动,你就有了一个“从零装的 Ubuntu”。


九、常见起步坑

  • ❌ 没装内核 → 黑屏
  • ❌ GRUB 装错盘
  • ❌ UEFI/BIOS 模式不一致
  • ❌ 没网络 (dhclient)

十、如果你只是想“学原理”

推荐顺序:

  1. debootstrap + chroot
  2. 手动写 /etc/fstab
  3. 手动配 GRUB
  4. 再尝试编译内核

如果你愿意,我可以:

  • 给你 UEFI 版完整步骤
  • 给你 虚拟机里从零装 Ubuntu 的清单
  • 或对比 LFS vs Ubuntu From Scratch

你现在是真机 / 虚拟机 / 只想学习原理

0