1
lhbc 2016-01-06 00:03:53 +08:00 via Android
UUID
|
2
msg7086 2016-01-06 02:07:47 +08:00
因为你的网卡叫 eto16777714 。用 ip l 看看你网卡是不是叫这名字。
|
3
mzer0 2016-01-06 04:24:05 +08:00
@msg7086 @wex
这个是 CentOS 7 在 VMware 上已知的一个 BUG, 这个 BUG 会导致自动安装时网卡配置错误. 这个 BUG 是怎么来的呢? 储存网卡 ID 的变量有 24 位, 取值范围是 0 ~ 2^24 - 1. 错误配置的网卡名为 eto166777714x, 可见其 ID 为 166777714 = 2^24 - 2, 因此, 可以推断, 错误的代码大致为: int24_t get_eth_id(void) { return (uint24_t) (-1); } uint24_t eth_id = get_eth_id(); if(eth_id == (uint24_t) (-1)) { /* Error */ } 开发人员不小心把本应该是 uint24(无符号 24 位整数)的返回值类型写成了 int24_t(有符号 24 位整数), 换而言之, 他少打了一个字母 u. 已经有人把这个 bug 上报给 VMware 了(不是我), 不过我估计是 CentOS 的安装程序的问题. 楼主 @wex 你用的操作系统是不是 Win10? 因为 Win10 重写了硬件虚拟层的代码, 这样会导致安装网卡驱动的时候, 安装程序跳到一个不常见的分支(你的网卡驱动+虚拟硬件层+VMware), 而那个分支写错了返回值...... 如果确定这个 Bug 只在 Win10 下出现, 我会考虑给 CentOS 发 PR, 毕竟我懂怎么修...... |