给ProxmoxVE (PVE)的网络模型添加E1000e网卡,让你的DSM支持最新版本(2022年2月11日更新)

前面介绍过一个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也是可以增加的。

点赞
  1. 小迪说道:
    Firefox Windows 7
    7.4 7.2都试过了不行,加不上,正在安装7.1试试 :lei:
    1. 博主说道:
      Google Chrome Windows 10
      不需要E1000e,用半虚拟机就可以了
      1. 小迪说道:
        Firefox Windows 7
        7.1-7用半虚拟网卡,启动后搜不到IP,已经将netif_num改为1,并删除了MAC2,请问还有啥问题需要注意?
        1. 博主说道:
          Google Chrome Windows 10
          你的CPU是什么型号
          1. 小迪说道:
            WebView Android 12
            cpu a4-5300
          2. 博主说道:
            Google Chrome Windows 10
            这个CPU不支持918,你不要装918就可以了。
  2. wgx说道:
    Google Chrome Windows 10
    Virtual Environment 7.0-11 改了仍然不显示。 畅网n5105第一版
    1. 博主说道:
      Google Chrome Windows 10
      改对了都可以显示,不显示就是没改对。
  3. microten说道:
    Google Chrome Windows 10
    今天更新了一下PVE 重启完了 都崩溃了 硬件直通丢了 重新弄 E1000e也没有了 重新设置上还是不起作用 现在不知道该怎么办了 Linux 5.15.35-3-pve #1 SMP PVE 5.15.35-6 pve-manager/7.2-5/12f1e639
    1. 博主说道:
      Google Chrome Windows 10
      PVE越更新,坑越多!我以前从PVE5开始用的,升级到PVE6感觉还没什么,更新到PVE7以后就遇到各种BUG和各种小毛病不断,最后弃坑PVE,改回用ESXI6.7up3,非常稳定!
  4. 飞翔的企鹅说道:
    Google Chrome Windows 10
    新版的pve7.1装dsm7还需要弄这些驱动吗
    1. 博主说道:
      Google Chrome Windows 10
      PVE不管是哪个版本默认都没有E1000e,需要自己手动修改系统文件,添加E1000e这个网卡类型,否则你安装DSM7.0系统就会遇到找不到IP的尴尬。
      1. 飞翔的企鹅说道:
        Google Chrome Windows 10
        嗯,昨天已经装好7..0了,pve7.1只需要改那个js文件就可以了。
  5. 一根小香蕉说道:
    Google Chrome Windows 10
    按博主教程装好了,但感觉大文件的传输速度不行啊。是e1000e的网卡不行吗,从NAS下文件只有30多MB/S
    1. 博主说道:
      Google Chrome Windows 10
      E1000e支持千兆,你这个30兆的问题,E1000e表示不背锅!
      1. 一根小香蕉说道:
        Google Chrome Windows 10
        试出来了,是无线不行,有线还能跑到千兆的 :kuanghan:

发表回复