netcup VPS 分区无损扩容与一键 DD 纯净重装完全指南

要点速记
  • 分区扩容坑:growpart 报错常因末尾存在 swap 分区阻挡,需先关 swap、删 swap 分区后再扩容根分区
  • 德文键盘坑:VNC 登录默认可能是德文布局(y和z互换),需执行 localectl set-keymap us 修复
  • DD核心前提:镜像必须内置 virtio 网卡与磁盘驱动,否则开机直接五冲失联变砖
  • 架构铁律:ARM64 机型(Ampere 架构)必须使用 aarch64 专用镜像且必须支持 UEFI 引导
  • 安全保底:SCP 面板的 Screen(VNC)是失联后的唯一救援通道,可进救援模式修复网络
本页目录9 节

很多刚开通 netcup VPS 的用户,在连上 SSH 敲下 df -h 时都会大吃一惊:“我明明买了 128GB 或者 256GB 的高配机型,为什么系统盘只显示了 10GB 或者 20GB?剩下的空间被商家吞了吗?”

同时,netcup 官方镜像库并不提供 Windows 操作系统,官方自带的 Linux 镜像也带有一些德式环境预设(例如部分系统默认键盘为德语 QWERTZ 布局)。

本指南将带你从容搞定磁盘无损扩容、解决常见的 growpart 报错、以及通过生产级一键 DD 脚本安装完全纯净的自选操作系统。


一、排查与无损扩容:把没分配的磁盘空间找回来#

netcup 官方的镜像安装脚本采用的是保守的模板化分区策略,常常只划分一个基础容量给根目录,剩余的磁盘空间留在了卷末尾未分配。

1. 检查当前磁盘与分区现状#

登录服务器终端,运行以下两条命令:

lsblk
df -h

典型输出示例:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda    252:0    0  128G  0 disk 
├─vda1 252:1    0   20G  0 part /
└─vda2 252:2    0    2G  0 part [SWAP]

可以看到,物理虚拟磁盘 vda 共有 128G,但根分区 vda1 仅占用了 20G,中间甚至还有一个 vda2(swap 分区)卡在后面!


2. 解决严重报错:swap 分区阻碍扩容(NOCHANGE)#

如果你直接按照网上常见的教程运行 growpart /dev/vda 1,你极大概率会遇到如下报错:

NOCHANGE: partition 1 could only be grown by 0 [fsize=..., end=..., max=...]

原因:分区扩容必须是连续向后扩展的。如果 vda1 的屁股后面紧跟着 vda2(swap 分区),vda1 就无法跨越 vda2 去吞并后面的未分配空间。

标准且安全的无损解决流程:

# 1. 临时关闭 swap 交换空间
swapoff -a

# 2. 注释掉 /etc/fstab 中关于 swap 分区的挂载行(防止开机卡住)
sed -i.bak '/swap/s/^/#/' /etc/fstab

# 3. 安装分区与扩容必备工具包
apt update && apt install -y cloud-guest-utils fdisk parted

# 4. 删除阻碍在后面的 swap 分区(通常是分区 2)
# 输入 d 然后输入 2,最后按 w 保存退出
fdisk /dev/vda <<EOF
d
2
w
EOF

# 5. 此时分区 1 的后方完全空出来了,执行在线扩展分区
growpart /dev/vda 1

# 6. 在线扩大文件系统容量(ext4 文件系统用 resize2fs,xfs 文件系统用 xfs_growfs)
resize2fs /dev/vda1

# 7. 再次确认,此时容量已全部拉满
df -h /

恢复 swap 机制(改用现代的 swapfile):

删除了物理 swap 分区后,我们推荐创建系统通用的 swapfile,既灵活又不占用固定分区:

# 创建 2GB 的虚拟内存文件
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

# 写入自动挂载
echo '/swapfile none swap sw 0 0' >> /etc/fstab

二、官方环境避坑:修复德文键盘布局(QWERTZ)#

如果你在 SCP 的 VNC 远程控制台(Screen)输入命令,常常会发现打 y 变成 z,按减号 - 变成了正斜杠 /,这是因为默认镜像继承了德语键盘映射。

在终端中只需一条命令即可切回标准美式键盘:

localectl set-keymap us

若在临时紧急救援下,也可以直接运行:

loadkeys us

三、一键 DD 纯净操作系统(Linux / Windows)#

如果你追求完全自主可控、极简无任何供应商预装组件的系统,或者需要安装 Windows Server,一键 DD 是社区常用的方案。

核心前置铁律(做错会失联):#

  1. 备份现有静态网络配置:

运行 ip addr 和 ip route show,记录下你的:

  1. 必须包含 virtio 驱动:

netcup 基于 KVM 虚拟化,虚拟网卡与硬盘均为 virtio 驱动。如果 DD 的第三方镜像没有打包 virtio 驱动,安装完成后操作系统将无法识别硬盘和网卡,造成直接失联。

  1. 架构严禁混淆:
    • x86_64(AMD EPYC 系列):必须使用 x86_64 / amd64 镜像。
    • ARM64 系列(Ampere 平台):必须使用 aarch64 / arm64 镜像,并且启动模式必须兼容 UEFI 引导。

1. DD 纯净 Debian 12 / Ubuntu 24.04(推荐脚本)#

推荐使用目前在国内外 VPS 社区广泛验证、具备较高网络自适应稳定性的主流开源重装脚本(如 leitbogioro/Tools):

# 1. 确保基础下载工具已安装
apt update && apt install -y curl wget

# 2. 运行纯净 Debian 12 自动安装脚本
# -pwd 参数指定你自己的强密码(必须替换)
# -port 参数指定自定义 SSH 端口(如 2222)
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux/InstallNET.sh' && chmod a+x InstallNET.sh

bash InstallNET.sh -debian 12 -pwd 'YourStrongPassword123!' -port 2222

执行后系统会自动下载并配置 netboot 内核,然后自动重启并进入全自动无交互安装阶段。


2. DD 安装 Windows 系统(供外贸/远程办公/特定软件需求)#

netcup 官方不提供 Windows 镜像,但硬件性能(尤其是 RS 系列独享核与 NVMe)跑 Windows 体验极佳。

# 使用支持 Windows 自定义镜像的安装脚本
# 镜像源务必选用内置 virtio 驱动的成熟社区镜像
bash InstallNET.sh -windows 2022 -lang "cn" -pwd 'YourStrongWindowsPass123!'

四、万一 DD 失败变砖怎么办?SCP 终极救援步骤#

如果因为镜像问题或配置错误导致机器失联(Ping 不通、SSH 连不上):

  1. 登录 SCP 面板(servercontrolpanel.de)。
  2. 在左侧选择机器,点击 Rescue(救援系统)。
  3. 勾选激活救援系统(选择 64-bit Linux),点击重启服务器。
  4. 在 VNC 中以救援模式进入内存临时系统,你可以:
    • 挂载现有硬盘排查日志与网卡配置:mount /dev/vda1 /mnt。
    • 或者直接在 SCP 中点击 Media -> Images,一键重新刷回官方原厂初始镜像,重获新生!
DD重装系统分区扩容growpart报错系统初始化Windows DDARM64