方法一 手动设置
准备工作
VPS本身需要是Debian系统
获取IP地址,gateway等信息
联网,且安装了wget
获取硬盘信息
获取IP地址,gateway等信息
cat /etc/network/interfaces 如果没有内容,那么应该是在/etc/network/interfaces.d/这个文件夹里面,cd进去,直接cat文件就可以了
内容一般如下
> auto ens3
> iface ens3 inet static
> address 123.234.123.99/24
> gateway 123.234.123.1
> dns-nameservers 8.8.8.8123.234.123.99是IP地址/24是掩码,代表255.255.255.0,如果不是/24而是其他的,可以看一下厂商给的配置文件或者谷歌搜一下解算123.234.123.1是gateway8.8.8.8是DNS地址
获取硬盘信息
输入以下命令
lsblk如下为输出,可以发现系统在第一个盘(hd0)的第一个位置(1),那么就是hd0,1
> NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
> sda 8:0 0 20G 0 disk
> ├─sda1 8:1 0 19G 0 part /
> ├─sda2 8:2 0 1K 0 part
> └─sda5 8:5 0 975M 0 part [SWAP]
> sdb 8:16 0 368K 1 disk
> sr0 11:0 1 1024M 0 rom下载系统并引导
无脑执行以下内容即可,只需要注意set root="(hd0,1)"这里和获取硬盘信息是否匹配,不一致就对照着修改。
执行完成后,或自动进入安装程序,使用VNC进行设置就可以了
mkdir /netboot && cd /netboot
wget http://http.us.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
wget http://http.us.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
cat <<EOF >>/etc/grub.d/40_custom
menuentry "Netboot Debian Bookworm Installer AMD64" {
set root="(hd0,1)"
linux /netboot/linux priority=low
initrd /netboot/initrd.gz
}
EOF
update-grub && reboot在linux /netboot/linux后面加上priority=low,就可以在安装时进入专家模式。
DMIT的机器如果使用cloud内核需要重命名网卡
系统配置
一般VPS都是静态IP,但是Debian系统会优先配置DHCP动态IP,所以引导的时候会失败,不过不要紧。等一会,系统就会报错,选择manually的那一项,进入后,按照IP地址进行填写就可以了,一共要填写4个,顺序和内容就是上述的那4个。
系统默认一个root和一个非root,非root用户要自己填写用户名。此处建议root那里直接enter,不填写密钥,只保留非root用户登录,这样安全一些。
过程中会要求选择硬盘,直接整个硬盘就好了,确认修改的时候也是直接选中就行了,按照提示无脑操作就可以了。
最后一步,记得只保留OPENSSH这一个选项,剩下的都不要,毕竟是VPS,不需要那些东西。
方法二 让脚本自动找出装有 /netboot 的设备 UUID 并写入 grub
# 下载 netboot 文件
mkdir -p /netboot && cd /netboot
wget http://http.us.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
wget http://http.us.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
# 确认 netboot 文件存在
ls -l /netboot
# 找出根文件系统的设备和 UUID(这是关键)
ROOT_DEV=$(findmnt -n -o SOURCE /)
ROOT_UUID=$(blkid -s UUID -o value "$ROOT_DEV")
# 把 grub 条目写入 40_custom(注意变量会在这儿展开)
cat <<EOF >> /etc/grub.d/40_custom
menuentry "Netboot Debian Bookworm Installer AMD64" {
insmod mdraid1x
insmod part_gpt
search --no-floppy --fs-uuid --set=root $ROOT_UUID
linux /netboot/linux priority=low
initrd /netboot/initrd.gz
}
EOF
# 更新 grub 并重启
update-grub && reboot