给ProxmoxVE (PVE)的网络模型添加E1000e网卡,让你的DSM支持最新版本

前面介绍过一个PVE下给群晖添加E1000e网卡的教程:《在ProxmoxVE (PVE)系统下给群晖添加E1000e网卡,让它支持DSM最新版本》,但是这个方法仅对某个虚拟机而已。今天介绍另外一种方法,把E1000e网卡添加到PVE系统里面,这样在新增虚拟机的时候,就可以直接选择。

本教程在PVE6.09下测试通过,其他的PVE版本请自行测试。需要注意的是:修改有风险,修改前请自觉做好文件备份!

具体操作如下:

一、电脑打开WinSCP,以root用户登录PVE,找到 /usr/share/perl5/PVE 目录下的 QemuServer.pm 文件,用Notepad++编辑,大约在837行找到这行内容:

 

把原内容:

my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'pcnet', 'virtio','ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3','e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];

改成:

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++编辑,大约在1813行找到这行内容:

 

把原内容:

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) {

改成:

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) {

确认一下修改无误后保存退出;

 

三、在当前文件向下拉,大约在4555行处找到这些内容:

把原内容:

['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”这个网卡,能不能好好的把DSM升级到最新版本就看大家了。

点赞
  1. 潜风入夜说道:
    Google Chrome Windows 7

    现在群晖各版本都有扩展驱动了,不需要折腾PVE了,所有DSM版本的VirtIO驱动都有了。

    1. admin说道:
      Google Chrome Windows 10

      以前没有,所以要折腾。。。

  2. 龍腾 龍腾说道:
    Google Chrome Windows 10

    大佬,我的PVE直通完,按照上面的方法修改后,确实可以新增E1000e的网卡,但是新建虚拟机的时候会提示以下内容,然后无法新建,请问知道该如何处理吗?
    Can't use an undefined value as a HASH reference at /usr/share/perl5/PVE/QemuServer.pm line 1755. (500)

    QemuServer.pm line 1755附近的内容为:
    sub print_drive {
    my ($vmid, $drive) = @_;
    my $data = { %$drive }; :lei: 这个是1755
    delete $data->{$_} for qw(index interface);
    return PVE::JSONSchema::print_property_string($data, $alldrive_fmt);
    }

    1. 龍腾 龍腾说道:
      Google Chrome Windows 10

      一番研究后,估计是因为修改过PVE内核的原因。。。

      1. admin说道:
        Google Chrome Windows 10

        是的,PVE升级,会覆盖原来的文件,你改的东西就没有了。

  3. chen说道:
    Google Chrome Windows 10

    跟着大佬教程操作完后后台显示一片空白,虚拟机运行正常,手机端管理页面也正常,就是pc端后套管理是一片空白,大佬遇到过这情况吗?我pve里面跑了nas

    1. admin说道:
      Google Chrome Windows 10

      不行你就还原文件以后重新再改

      1. chen说道:
        Google Chrome Windows 10

        是的,我从另外一台pve下面复制替换了这两个文件,但是重新修改后还是这个问题,大佬可不可以提供一下这两个文件

        1. admin说道:
          Google Chrome Windows 10

          估计你哪个地方没改对?再检查看看吧

          1. chen说道:
            Google Chrome Windows 10

            感谢大神,修改好了,现在能完美升级了,之前是整段修改,这次我是直接添加修改的那点

发表评论