使用 debootstrap 安装新版 Debian

使用 debootstrap 安装新版 Debian(如 Bookworm 或 Trixie)是一种高效灵活的方式,尤其适用于定制化安装或跨架构部署。以下是详细步骤及关键注意事项:


📦 一、准备工作

  1. 启动环境

    • 从 Debian Live 镜像或现有 Linux 系统(如 Ubuntu)启动,确保联网。
    • 更新软件源并安装依赖:
      sudo apt update
      sudo apt install debootstrap btrfs-progs dosfstools grub-efi arch-install-scripts  # 推荐安装的工具
  2. 分区与格式化

    • 使用 cfdiskparted 分区(示例为 UEFI + Btrfs):
      • /dev/sda1:Btrfs 根分区(推荐 compress=zstd 挂载)
      • /dev/sda2:Swap 分区
      • /dev/sda3:FAT32 EFI 分区(需 mkfs.fat -F32
    • 挂载分区:
      sudo mount -t btrfs -o subvol=/@,compress=zstd /dev/sda1 /mnt
      sudo mkdir -p /mnt/{boot/efi,home}
      sudo mount /dev/sda3 /mnt/boot/efi
      sudo swapon /dev/sda2

⚙️ 二、安装基础系统

  1. 运行 debootstrap

    • 指定版本(如 bookworm)和镜像源(国内源加速):
      sudo debootstrap bookworm /mnt https://mirrors.ustc.edu.cn/debian/  # 中科大源
    • 若需安装特定子版本(如初始版),使用 Debian 快照仓库:
      sudo debootstrap --arch=amd64 bookworm /mnt http://snapshot.debian.org/archive/debian/20230601T030639Z/  # 替换为快照日期
  2. 复制配置

    • 将主机源列表复制到新系统:
      sudo cp /etc/apt/sources.list /mnt/etc/apt/  # 确保新系统使用最新源

🔧 三、进入 Chroot 环境

  1. 挂载虚拟文件系统
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo mount --bind /dev/pts /mnt/dev/pts
  2. Chroot 并配置系统
    sudo chroot /mnt /bin/bash
    export TERM=xterm-color  # 避免终端显示问题

四、系统配置

  1. 基础设置

    • 更新软件包并安装内核:
      apt update && apt full-upgrade -y
      apt install linux-image-amd64 firmware-linux  # 安装内核及固件
    • 设置时区、语言:
      dpkg-reconfigure tzdata
      apt install locales && dpkg-reconfigure locales
  2. 网络与用户

    • 配置网络(DHCP 示例):
      echo "auto eth0" >> /etc/network/interfaces
      echo "iface eth0 inet dhcp" >> /etc/network/interfaces
    • 设置 root 密码及创建用户:
      passwd root
      adduser yourusername && usermod -aG sudo yourusername  # 添加 sudo 用户
  3. 生成 fstab 文件

    • 使用 genfstab(需安装 arch-install-scripts)或手动编写:
      genfstab -U /mnt >> /etc/fstab  # 自动生成 UUID 挂载项

🖥️ 五、安装引导程序

  1. GRUB 配置(UEFI)
    apt install grub-efi  # UEFI 系统
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Debian
    update-grub  # 生成 GRUB 配置文件
  2. BIOS 系统
    apt install grub-pc
    grub-install /dev/sda  # 目标磁盘
    update-grub

🚀 六、收尾工作

  1. 卸载并重启
    exit  # 退出 chroot
    sudo umount -R /mnt  # 卸载所有挂载点
    sudo reboot
  2. 首次启动后任务
    • 安装必要软件(如 SSH、网络管理):
      apt install openssh-server network-manager

⚠️ 关键问题处理

  • 依赖错误:确保 debootstrap 时使用可靠的镜像源(如 http://ftp.debian.org),避免损坏的源导致失败。
  • 无法确定发行版代号:检查分区是否挂载正确,或重新挂载安装介质(常见于 USB 安装)。
  • 跨架构安装(如 ARM):
    需添加 qemu-user-static 并分阶段执行:

    sudo debootstrap --arch=armhf --foreign bookworm /mnt http://ftp.de.debian.org/debian
    cp /usr/bin/qemu-arm-static /mnt/usr/bin/
    chroot /mnt /debootstrap/debootstrap --second-stage  # 完成解压

💎 Debian 版本与源对照表

版本代号 状态 APT 源示例
bookworm Stable (12) https://deb.debian.org/debian
trixie Testing (13) http://deb.debian.org/debian testing main
sid Unstable http://deb.debian.org/debian sid main

💡 总结:debootstrap 的核心优势

  • 无安装程序依赖:直接通过宿主系统部署,适合救援、容器或定制化环境。
  • 文件系统自由:支持 Btrfs 子卷、LVM 加密等复杂布局。
  • 版本精确控制:结合快照仓库(snapshot.debian.org)可安装任意历史版本。

执行前务必备份数据!关键操作(如分区、GRUB 安装)错误可能导致系统无法启动。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

zh_CN简体中文