前面介绍过一个PVE下给群晖添加E1000e网卡的教程:《在ProxmoxVE (PVE)系统下给群晖添加E1000e网卡,让它支持DSM最新版本》,但是这个方法仅对某个虚拟机而已。今天介绍另外一种方法,把E1000e网卡添加到PVE系统里面,这样在新增虚拟机的时候,就可以直接选择。
本教程在PVE6.09和PVE7.1-7下测试通过,其他的PVE版本请自行测试。需要注意的是:修改有风险,修改有风险,修改有风险,请自觉做好文件备份!
具体操作如下:
一、电脑打开WinSCP,以root用户登录PVE,找到 /usr/share/perl5/PVE 目录下的 QemuServer.pm 文件,用Notepad++编辑(不要用记事本),大约在PVE6.09的第837行(PVE7.1-7的第885行)找到“my $nic_model_list = [”这行内容:
找到以下内容(这里的代码是PVE6.09的版本,如果是PVE7.X的版本则是每个型号显示成一行):
my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'pcnet', 'virtio','ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3','e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];
需在'e1000'后面增加一个'e1000e'(按代码格式填写并加上逗号,如果是PVE7.X版本则是在'e1000'的下面增加一行'e1000e',下同):
my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'e1000e', 'pcnet', 'virtio','ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3','e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];
确认一下修改无误后保存退出;
二、找到 /usr/share/pve-manager/js 目录下的 pvemanagerlib.js 文件,用Notepad++编辑,大约在PVE6.09的第1813行(PVE7.1-7的第642行)找到“if ((match_res = p.match(”这行内容:
把原内容:
if ((match_res = p.match(/^(ne2k_pci|e1000|e1000-82540em|e1000-82544gc|e1000-82545em|vmxnet3|rtl8139|pcnet|virtio|ne2k_isa|i82551|i82557b|i82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {
需在'e1000'后面增加一个'e1000e'(不要复制以下面代码去替换你的文件,只需要在对应的位置增加代码就行了):
if ((match_res = p.match(/^(ne2k_pci|e1000|e1000e|e1000-82540em|e1000-82544gc|e1000-82545em|vmxnet3|rtl8139|pcnet|virtio|ne2k_isa|i82551|i82557b|i82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {
确认一下修改无误后保存退出;
三、在当前文件向下拉,大约在PVE6.09的第4555行(PVE7.1-7的第6053行)处找到“['e1000', 'Intel E1000'],”这行内容:
把原内容:
['e1000', 'Intel E1000'],
['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
['rtl8139', 'Realtek RTL8139'],
['vmxnet3', 'VMware vmxnet3']
]
改成(不要复制以下面代码去替换你的文件,只需要在对应的位置增加代码就行了):
['e1000', 'Intel E1000'],
['e1000e', 'Intel E1000e'],
['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
['rtl8139', 'Realtek RTL8139'],
['vmxnet3', 'VMware vmxnet3']
]
确认一下修改无误后保存退出;
四、关掉WinSCP,回到PVE管理界面,关掉所有的虚拟主机,重启PVE;
五、宿主机重启完成以后重新登录PVE,这时我们去新建一个PVE的虚拟机,配置到网络模型的时候,就会发现比之前多出“E1000e”这个网卡。来一张PVE7.1-7系统的图,证明PVE7.X也是可以增加的。
文章评论
7.4 7.2都试过了不行,加不上,正在安装7.1试试 :lei:
@小迪 不需要E1000e,用半虚拟机就可以了
@博主 7.1-7用半虚拟网卡,启动后搜不到IP,已经将netif_num改为1,并删除了MAC2,请问还有啥问题需要注意?
@小迪 你的CPU是什么型号
@博主 cpu a4-5300
@小迪 这个CPU不支持918,你不要装918就可以了。
Virtual Environment 7.0-11
改了仍然不显示。
畅网n5105第一版
@wgx 改对了都可以显示,不显示就是没改对。
今天更新了一下PVE 重启完了 都崩溃了 硬件直通丢了 重新弄 E1000e也没有了 重新设置上还是不起作用 现在不知道该怎么办了
Linux 5.15.35-3-pve #1 SMP PVE 5.15.35-6
pve-manager/7.2-5/12f1e639
@microten PVE越更新,坑越多!我以前从PVE5开始用的,升级到PVE6感觉还没什么,更新到PVE7以后就遇到各种BUG和各种小毛病不断,最后弃坑PVE,改回用ESXI6.7up3,非常稳定!
新版的pve7.1装dsm7还需要弄这些驱动吗
@飞翔的企鹅 PVE不管是哪个版本默认都没有E1000e,需要自己手动修改系统文件,添加E1000e这个网卡类型,否则你安装DSM7.0系统就会遇到找不到IP的尴尬。
@博主 嗯,昨天已经装好7..0了,pve7.1只需要改那个js文件就可以了。
按博主教程装好了,但感觉大文件的传输速度不行啊。是e1000e的网卡不行吗,从NAS下文件只有30多MB/S
@一根小香蕉 E1000e支持千兆,你这个30兆的问题,E1000e表示不背锅!
@博主 试出来了,是无线不行,有线还能跑到千兆的 :kuanghan: