pve8.4安装笔记
下载地址
https://www.proxmox.com/en/downloads
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js,这是完全正确的文件。
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js,这是完全正确的文件。nano 编辑器(一个非常基础且好用的纯文本编辑器),请按照以下“三步走”策略,精准定位并修改代码:🛠️ 安全修改步骤(针对 PVE 8.4)
- 在你的编辑器界面中,同时按下键盘上的
Ctrl和W键(这是“搜索”快捷键)。 - 屏幕下方会提示输入搜索内容,请精确输入以下这段代码(直接复制粘贴即可):
No valid subscription - 按下
回车键 (Enter)。
- 编辑器会自动跳转到包含
No valid subscription的那一行。 - 你会看到类似下面的一段代码:
if (data.status !== 'Active') { ... } - 你的任务是修改这个
if判断条件。 - 请把
!== 'Active'改成=== 'Active'。
(也就是把感叹号去掉,把!==变成===,这样系统就只会认为“只要有订阅”才不弹窗,但实际上永远不弹窗)
- 修改完成后,同时按下键盘上的
Ctrl和O键(这是“保存”快捷键,Save)。 - 屏幕下方会提示你输入文件名,千万不要改名字,直接按
回车键 (Enter)确认保存。 - 保存成功后,同时按下
Ctrl和X键(这是“退出”快捷键,Exit)回到终端。
回到终端(就是黑底白字的界面),输入以下命令并按回车,让修改生效:
刚刚去除订阅弹窗的操作,相当于只是给 PVE 换了个“皮肤”,让它不再烦人。但要让 PVE 真正好用,特别是后续安装软件和更新系统速度快、不报错,更换国内源是绝对绕不开的“硬菜”。
因为 PVE 的官方源在国外,国内直连速度极慢,而且默认开启的“企业订阅源”如果不关掉,每次更新都会报 401 错误。
以下是为您整理的 PVE 8.4(代号 bookworm)保姆级换源攻略。为了安全起见,我们采用“先备份,后修改”的原则。
🛠️ PVE 换源与优化四步走
请在您的 FinalShell 终端中,逐条复制并执行以下命令:
第一步:禁用并备份“企业订阅源”
PVE 8.4 的企业源需要付费订阅才能用,免费版必须禁用。
mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak
第二步:更换 Debian 基础源(换成国内中科大源)
Debian 是 PVE 的底层系统,换源能让 apt update 速度飞起。
cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo -e "deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware\ndeb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware" > /etc/apt/sources.list
第三步:添加 PVE 免费社区源(换成国内中科大源)
这是 PVE 自己软件仓库的国内加速镜像,安装更新全靠它。
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
第四步:刷新缓存并更新系统
让所有修改生效,并将系统内核与基础软件包更新到最新状态。
apt update && apt dist-upgrade -y
💡 额外优化建议(可选)
除了换源,为了让 PVE 更好用,通常还会建议做以下两点:
- 修改 CT 容器模板下载源:默认下载 LXC 容器模板(如 Ubuntu、CentOS 镜像)是在国外网站。如果需要,后期可以修改
/usr/share/perl5/PVE/APLInfo.pm文件,将download.proxmox.com替换为国内镜像(如清华源mirrors.tuna.tsinghua.edu.cn)。 - 删除
local-lvm分区扩容:PVE 安装时默认会把硬盘切出一块叫local-lvm的存储给虚拟机用,导致默认的local存储空间很小(只有几 GB),上传 ISO 镜像时经常提示空间不足。如果不打算用 LVM,可以在网页后台删掉local-lvm存储,把空间全部分配给local。
你可以先执行上面的换源四步走,如果在执行 apt update && apt dist-upgrade -y 时遇到报错或者需要我提供修改 APLInfo.pm 的命令,随时发截图给我!
这个截图里的操作不太正确,并且出现了报错信息。你并没有成功完成直通前的环境配置,需要赶紧修正!
下面帮你详细分析,并给出正确的补救步骤:
🔍 问题出在哪里?
-
没有修改 GRUB 内核参数(最关键的一步): 你直接运行了
nano /etc/default/grub,但没有按照图片里的要求修改那一行代码,直接保存退出了。这导致你后面所有的直通操作都是白搭。 -
命令执行出现了报错: 在你运行
update-initramfs -u -k all之后,系统报了红字/黄字的错误:Install 'grub-efi-amd64' to get updates.Couldn't find EFI system partition...这是因为你在运行 GRUB 更新时,系统发现 GRUB 引导程序没有正确安装,导致 EFI 分区同步失败。
🛠️ 正确的补救步骤(重新走一遍)
别急,按下面的步骤一步步来,就能修复好:
第一步:正确修改 GRUB 配置文件
- 在终端输入命令:
nano /etc/default/grub - 用键盘方向键往下翻,找到这一行(默认是这样的):
GRUB_CMDLINE_LINUX_DEFAULT="quiet" - 把它删掉,改成下面这句(如果你用的是四代Haswell i5,就用这句):
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt" - 按键盘上的
Ctrl + O,然后按回车保存,再按Ctrl + X退出编辑器。
第二步:更新 GRUB 引导
输入命令:
update-grub
(这步是为了让刚才修改的参数生效)
第三步:添加内核模块(加载直通所需模块)
输入命令:
echo "vfio vfio_iommu_type1 vfio_pci vfio_virqfd" >> /etc/modules
第四步:更新内核镜像并重启
输入命令:
update-initramfs -u -k all
注意:如果这步依然报错 Couldn't find EFI system partition,说明你的PVE引导有点小问题,但不影响直通生效。我们先不管它,继续往下走。
最后,输入 reboot 重启你的PVE系统。
还有可以用的脚本
wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source
老虎大佬开发的pve脚本
https://files.cnblogs.com/files/xupanfeng/pve_source.tar.gz?t=1789453762&download=true 下载链接
wget -q -O /root/pve_source.tar.gz 'http://szrq.hkfree.work/pve-source/pve_source.tar.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source
有固态 不想用lvm 参考下面
看 lsblk 输出确认
sdb
└─pve-root 252:1 0 69.4G 0 lvm /
/ 就是系统根目录,你的PVE系统确实装在 sdb(金士顿SSD)上面!
✅ 整理三块盘:
- /dev/sdb:金士顿SSD(256G)
- pve-root 挂载
/→ PVE系统在这里!千万不要全盘清空sdb! - 这块SSD已经分出一部分做系统,剩下的空间是LVM数据池,用来放虚拟机。
- pve-root 挂载
- /dev/sda:东芝500G机械盘
- /dev/sdc:日立320G机械盘
⚠️重大提醒! 刚才差点搞错!sdb是系统盘,不能整个盘删掉分区! 你只能用 sda(东芝500G)、sdc(日立320G)这两块机械盘做存储,sdb别动!
现在方案调整(非常关键)
sdb是SSD系统盘,保留不动,不要再去删sdb的分区/LVM。 两块机械盘 sda、sdc 拿来做目录存储,给OMV放数据。
操作思路
- sda(东芝500G机械)、sdc(日立320G机械),这两块可以随便处理
- 把sda、sdc分别格式化为ext4,挂载到
/mnt/toshiba500和/mnt/hitachi320 - 数据中心→存储→添加目录,填入上面两个挂载路径,做成两组独立目录存储
- OMV虚拟机:
- 系统盘:从sdb自带的LVM-Thin(SSD)分配,速度快
- 数据盘:从sda、sdc两个机械目录存储分配,存放文件
先看sda和sdc里面的LVM
从lsblk看到:
- sda3 属于旧LVM
pve--OLD--B5AE2620 - sdc3 属于旧LVM
pve--OLD--EACCA31C
这两个是旧的LVM卷组,不是当前运行系统的,可以删除。
执行命令(只操作 sda、sdc,不碰sdb)
# 移除sda的旧物理卷
pvremove /dev/sda3
# 清空sda分区表
sgdisk --zap /dev/sda
# 新建GPT分区表
sgdisk -o /dev/sda
# 移除sdc的旧物理卷
pvremove /dev/sdc3
sgdisk --zap /dev/sdc
sgdisk -o /dev/sdc
警告:执行完,sda、sdc所有数据全部清空!确认无重要资料再运行。
执行完成之后,再创建ext4文件系统+挂载,然后添加目录存储。
要不要继续,执行上面这一段命令?
报错原因
/dev/sda3 还属于旧卷组 pve-OLD-B5AE2620,卷组还存在,不能直接pvremove,要先移除卷组。
第一步:先删除旧卷组(sda对应的旧VG)
vgremove pve-OLD-B5AE2620
出现确认提示输入 y 回车。
第二步:再删sdc的旧卷组
vgremove pve-OLD-EACCA31C
同样提示输入 y。
⚠️ 确认:这两个都是旧的废弃卷组,不是当前正在运行的系统卷组,可以删除,不会破坏PVE系统(当前系统在sdb)。
第三步:卷组删掉之后,再执行pvremove
pvremove /dev/sda3
pvremove /dev/sdc3
第四步:清空两块盘分区表
sgdisk --zap /dev/sda
sgdisk -o /dev/sda
sgdisk --zap /dev/sdc
sgdisk -o /dev/sdc
第五步:创建ext4文件系统 + 挂载,做目录存储
# 东芝sda
mkfs.ext4 /dev/sda
mkdir -p /mnt/toshiba500
mount /dev/sda /mnt/toshiba500
# 日立sdc
mkfs.ext4 /dev/sdc
mkdir -p /mnt/hitachi320
mount /dev/sdc /mnt/hitachi320
第六步:网页添加目录存储
数据中心 → 存储 → 添加 → 目录
- ID:
toshiba500,目录填/mnt/toshiba500再添加一个 - ID:
hitachi320,目录填/mnt/hitachi320
补充:重启会丢失挂载,后面我们再写
/etc/fstab实现开机自动挂载。
先执行第一条:vgremove pve-OLD-B5AE2620,看反馈。
浙公网安备 33010602011771号