免U盘安装debian系统
·
使用 debootstrap 构建一个原生 Debian 系统并引导启动(推荐)
这是最干净、最安全、完全不需要U盘的方法。 你会在 Ubuntu 里“手工安装”一个 Debian,然后让 grub 启动它。
如果没有空闲分区, 缩小 Ubuntu 的根分区,腾出 20GB 以上空间,创建一个 ext4 分区。
lsblk
sudo apt update
sudo apt install debootstrap grub2 systemd-container
# debootstrap 安装 Debian(例如 Debian 13 Trixie)
sudo debootstrap trixie /mnt/debian http://deb.debian.org/debian
这一步会自动在 /mnt/debian 下生成一个完整的 Debian 根文件系统。
# 挂载关键目录并进入 Debian 环境
mount /dev/nvme0n1p3/ /mnt/debian/
mount --bind /dev /mnt/debian/dev
mount --bind /dev/pts /mnt/debian/dev/pts
mount --bind /proc /mnt/debian/proc
mount --bind /sys /mnt/debian/sys
mount --bind /run /mnt/debian/run
mount /dev/nvme0n1p1 /mnt/debian/boot/efi # 替换为你的 ESP 分区
sudo chroot /mnt/debian
# 在 chroot 中配置系统(此时你“已经在 Debian 中”)
# 设置主机名
echo debian > /etc/hostname
# 配置 apt 源
cat > /etc/apt/sources.list.d/debian.sources <<EOF
Types: deb
URIs: http://mirrors.ustc.edu.cn/debian
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: http://mirrors.ustc.edu.cn/debian-security
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
apt update
apt install -y linux-image-amd64 locales sudo vim network-manager
apt install -y grub-efi-amd64-bin grub-efi-amd64-signed grub-efi-amd64
apt install -y systemd vim wget curl tmux openssh-server iproute2 net-tools ifupdown systemd-resolved
apt install -y firmware-linux firmware-realtek firmware-iwlwifi
apt install -y iw wpasupplicant wireless-tools
apt install firmware-sof-signed # firmware-intel-sound
apt install -y tasksel
tasksel install standard --new-install
# 这会安装约 300MB 的常用包,包括完整网络支持、man 手册、日志工具等。
配置网络和efi启动项
mkdir -p /etc/wpa_supplicant
# 可选: 使用 wpa_passphrase 工具生成加密的配置,而不是明文密码
# wpa_passphrase YOUR_SSID YOUR_PASSWORD > /etc/wpa_supplicant/wpa_supplicant.conf
cat<<EOF > /etc/wpa_supplicant/wpa_supplicant-wlp0s20f3.conf
ctrl_interface=/run/wpa_supplicant
update_config=1
network={
ssid="wifi ssid"
psk="wifi passwd"
}
EOF
cat >/etc/systemd/network/20-wifi.network <<'EOF'
[Match]
Name=wlp0s20f3
[Network]
DHCP=yes
EOF
chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlp0s20f3.conf
systemctl enable systemd-networkd
systemctl enable systemd-resolved
systemctl enable wpa_supplicant@wlp0s20f3
# 这会在 wpa_supplicant 连接 Wi-Fi 成功后自动获取 IP
# 使用更现代的 iwd(更简单)
apt install -y iwd
systemctl enable iwd
# 连接 Wi-Fi(交互式):
iwctl
# [iwd]# device list
# [iwd]# station wlp2s0 scan
# [iwd]# station wlp2s0 get-networks
# [iwd]# station wlp2s0 connect 你的WiFi名称
# [iwd]# exit
# 一旦连上,systemd-networkd 会自动分配 IP 并联网。
# iwd 会自动保存密码,下次开机自动连接。
adduser peter
adduser peter sudo
blkid # 查看新分区 UUID
cat<<EOF >> /etc/fstab
UUID=你的新分区UUID / ext4 defaults 0 1
EOF
# 安装 grub 到磁盘并更新菜单
# grub-install /dev/nvme0n1
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=DEBIAN --force
update-grub
# 它会检测到你的 Ubuntu + Debian 双系统。
# 重启后你会在 GRUB 菜单里看到 “Debian GNU/Linux”。
sudo reboot
sudo efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Debian" --loader '\EFI\debian\grubx64.efi'
# /dev/nvme0n1 和 --part 1 要替换为你的实际 EFI 分区所在磁盘与分区号。
# 可用 lsblk -f 或 findmnt /boot/efi 查看。
# 如果你的路径是 /boot/efi/EFI/debian/grubx64.efi,那 loader 路径就对了。
sudo efibootmgr --bootnum 0001 --bootorder 0001,0000,0002
sudo efibootmgr -v
# 重启后使用F12 可以选择efi的条目
登录debian中安装
# apt install locales
# dpkg-reconfigure locales
sudo vim /etc/locale.gen
# 在文件中找到包含 zh_CN.UTF-8 的那一行,并取消注释(即删除行首的 # 符号)。
#zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8 <-- 确保这一行没有 #
#zh_HK.UTF-8 UTF-8
# 设置系统默认 locale(可选):
sudo update-locale LANG=zh_CN.UTF-8
# 或者保留英文界面但支持中文显示:
sudo update-locale LANG=en_US.UTF-8 LANGUAGE=zh_CN:en
# 安装简体中文语言支持包
sudo apt-get install language-pack-zh-hans
# sudo localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
# 较完整,适合新硬件,推荐主流使用:
sudo apt install task-gnome-desktop -y
sudo apt install -y network-manager-gnome
sudo systemctl disable wpa_supplicant@wlp0s20f3
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
使用 systemd-nspawn 启动完整 Debian 容器系统
如果你暂时不想重启,可以直接在 Ubuntu 下运行“原生 Debian 系统容器”:
sudo debootstrap trixie /srv/debian http://deb.debian.org/debian
sudo systemd-nspawn -D /srv/debian
# 这会直接进入一个 Debian 容器(有独立的 /etc、/usr、apt、systemd),
# 就像一个轻量虚拟机,非常适合测试迁移。
使用 grub 引导 ISO 镜像直接安装 Debian(无U盘安装)
可以让 grub 直接从 Debian ISO 启动:
wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-13.0.0-amd64-netinst.iso -O /boot/debian.iso
cat <<EOF | sudo tee -a /etc/grub.d/40_custom
menuentry "Install Debian 13 (from ISO)" {
set isofile="/boot/debian.iso"
loopback loop (hd0,3)$isofile
linux (loop)/install.amd/vmlinuz boot=install iso-scan/filename=$isofile
initrd (loop)/install.amd/initrd.gz
}
EOF
sudo update-grub
# 重启,选择 “Install Debian 13 (from ISO)”
# 安装时选择 保留 /home 分区,即可实现无U盘切换系统。
EOF
网络启动(PXE)或 iPXE(高级)
若你的笔记本支持 PXE 网络启动,可通过局域网加载 Debian 安装器。 需另一台电脑作为 TFTP/DHCP 服务器,配置复杂,一般用户不推荐。
创建虚拟磁盘作为临时“Live 环境”(极不推荐)
理论上可用 kexec 加载新内核 + initrd 实现“内存中切换”,但操作复杂、风险极高,且仍需处理分区缩小问题。