方案:官方 Debian Netboot (跳过 netboot.xyz)
不使用 netboot.xyz,因为它带有一个复杂的图形菜单。(家人云的LA地区居然不支持vga=788–“窄黑框”彻底卡死)
选择直接加载 Debian 官方的安装内核。官方内核支持直接在启动参数里强制开启“纯文本模式”和“串口输出”,这能 100% 解决黑屏/窄框问题。
iPXE (netboot.xyz) 的图形化菜单与你服务商的 VNC 渲染分辨率不匹配。这种情况在某些 KVM 虚拟化环境中非常顽固。官方内核不带复杂的菜单。
第一步:下载官方安装文件:
# 进入引导目录
cd /boot
# 下载 Debian 13 (Trixie) 官方网络安装内核和 initrd
wget https://deb.debian.org/debian/dists/trixie/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
wget https://deb.debian.org/debian/dists/trixie/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
第二步:修改 GRUB 强制进入“纯文本串口模式”
1. 修正以下内容 寻找正确的磁盘对grub很重要。用uuid或自己找到正确的set root位置。(如:set root=‘(hd0,1)’)
# 1. 获取 vda1 的 UUID
UUID=$(blkid -s UUID -o value /dev/sda3) //按下图要选sda3--不是efi/esp分区。
大多数时候显示这样,选vda3 (标准boot分区)
|-vda1 254:1 0 1M 0 part
|-vda2 254:2 0 191M 0 part /boot/efi
|-vda3 254:3 0 763M 0 part /boot
//用lsblk看下boot分区位置
比如![]()
2. 将配置写入 /etc/grub.d/40_custom(加入这个绝不黑屏的启动项;并注意修改网卡为eth0)
cat << EOF >> /etc/grub.d/40_custom
menuentry 'Debian Official Network Install (Text Mode)' {
insmod part_gpt
insmod ext2
# 使用 UUID 自动查找并设置根分区,比 (hd0,1) 更可靠
search --no-floppy --fs-uuid --set=root $UUID
linux /boot/linux console=tty0 console=ttyS0,115200n8 DEBIAN_FRONTEND=text
initrd /boot/initrd.gz
}
EOF
3. 更新 GRUB 配置文件
update-grub
*注:`console=ttyS0` 是为了让你在面板的 **Serial Console** 里也能看到输出。* `DEBIAN_FRONTEND=text` 使用字符界面,这在任何 VNC 或串口下都能完美显示。
---
### 第三步:装完后的“灵魂”恢复 (只适合家人云/bitsflow和sda存储了配置的情况)
系统安装完成后重启,你会发现它又变回了纯净版。**此时务必执行最后一步,否则你的 Cloud-init 就彻底丢了:**
1. 登录系统后:`apt update && apt install -y cloud-init`。
2. **写入补丁**:
```bash
# 强制认领商家的配置
echo -e "datasource_list: [ NoCloud ]\ndatasource:\n NoCloud:\n seed_device: /dev/sda" > /etc/cloud/cloud.cfg.d/99_virtfusion.cfg
附录:尝试复原商家cloud-init:
把你备份的 05_logging.cfg 丢进 /etc/cloud/cloud.cfg.d/。
执行 cloud-init clean && cloud-init init。
