类别:黑群晖 / 日期:2022-04-28 / 浏览:2252 / 评论:0

在ESXI6.7下我们可以通过把网卡类型改成E1000e来“欺骗”群晖从而可以安装或者升级到DSM最新的版本。但是玩PVE的都知道,虚拟机默认没有E1000e这个网卡类型的,所以很多网卡不可以直接升级到DSM最新版本,下面我们就来改一改,给PVE安装的群晖虚拟机也弄一个E1000e的网卡,让它支持DSM最新版本。详细的操作如下:

一、在PVE下新建一个群晖DSM系统,只做好相关的设置,未开机进入安装界面。博主以在PVE6.09下安装DS3617为例,网卡类型用E1000,具体的设置过程这里就略过了;

20220428105927165111476764870.jpeg

 

二、进入PVE系统的Shell界面,输入  qm showcmd 108 回车(要注意108这个ID必须你的群晖虚拟机ID相符),会显示出来一大堆英文,我们只需要找到后面这些内容:

-netdev 'type=tap,id=net0,ifname=tap108i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown' -device 'e1000,mac=00:11:32:66:68:88,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -machine 'type=pc'

用鼠标选中它,点右键复制它(这里实际是一行的内容,显示不完自动变成多行的),到记事本里面粘贴;

20220428105927165111476743598.jpeg

 

三、编辑一下,把内容修改成(全部内容都在同一行里面,不可以改成多行),然后全选复制(要注意108这个ID必须你的群晖虚拟机ID相符):

args: -netdev 'type=tap,id=net0,ifname=tap108i0, -device 'e1000e,mac=00:11:32:66:68:88,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300'

20220428105928165111476894265.jpeg

 

四、在Shell界面,输入以下命令回车,用nano编辑器编辑配置文件(注意108的ID保持与群晖虚拟机的ID一致):

nano /etc/pve/qemu-server/108.conf

 

五、在配置文件第一行回车加入一行空行,然后点右键粘贴,把第三步修改好的那一行粘贴上去,仔细检查无误后按ctrl + X, 按 Y 回车保存退出;

20220428105928165111476818219.jpeg

 

六、回到群晖虚拟机的硬件那里,删掉原有的E1000网卡;

20220428105929165111476990766.jpeg

 

七、打开虚拟机,用群晖助手搜索然后安装群晖,直接点立即安装会自动安装最新版本;

20220428105929165111476921029.jpeg

20220428105930165111477057873.jpeg

 

八、如果你是之前已经安装好的群晖,也可以把群晖虚拟机关机以后按照上述方法把网卡修改成E1000e,并且删除原E1000网卡,然后开机进入系统直接升级到最新版本。

20220428105931165111477181219.jpeg

 

====================================================================


前面介绍过一个PVE下给群晖添加E1000e网卡的教程,但是这个方法仅对某个虚拟机而已。今天介绍另外一种方法,把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 = [”这行内容:

20220428105931165111477156741.jpeg

 

找到以下内容(这里的代码是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(”这行内容:

20220428105933165111477347437.jpeg

 

把原内容:

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'],”这行内容:

20220428105934165111477489076.jpeg

把原内容:

['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也是可以增加的。

20220428105934165111477416366.jpeg



打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章