diff --git a/README.en.md b/README.en.md index 579e215..07b7d39 100644 --- a/README.en.md +++ b/README.en.md @@ -1,4 +1,4 @@ - + # reinstall @@ -396,12 +396,37 @@ bash reinstall.sh windows \ #### The following drivers will automatic download and install as needed, without the need for manual addition -- Virtio ([Virtio](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/), [Alibaba Cloud](https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1)) -- XEN ([~~XEN~~ (unsigned)](https://xenproject.org/resources/downloads/), [Citrix](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade), [AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html)) -- AWS ([ENA Network Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-driver-releases-windows.html), [NVMe Storage Controller](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-driver-version-history.html)) -- GCP ([gVNIC Network Adapter](https://cloud.google.com/compute/docs/networking/using-gvnic), [GGA Display Adapter](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display)) -- Azure ([MANA Network Adapter](https://learn.microsoft.com/azure/virtual-network/accelerated-networking-mana-windows)) -- Intel ([VMD Storage Controller](https://www.intel.com/content/www/us/en/download/720755/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-11th-up-to-13th-gen-platforms.html)) +- Virtio ([Virtio][virtio-virtio],[Alibaba Cloud][virtio-aliyun]) +- XEN ([~~XEN~~][xen-xen] (unsigned), [Citrix][xen-citrix], [AWS][xen-aws]) +- AWS ([ENA Network Adapter][aws-ena], [NVME Storage Controller][aws-nvme]) +- GCP ([gVNIC Network Adapter][gcp-gvnic], [GGA Display Adapter][gcp-gga]) +- Azure ([MANA Network Adapter][azure-mana]) +- Intel ([VMD Storage Controller][intel-vmd], Network Adapter: [7][intel-nic-7-sha1], [8][intel-nic-8], [8.1][intel-nic-8.1], [10][intel-nic-10], [11][intel-nic-11], [2008 R2][intel-nic-7-sha1], [2012][intel-nic-2012], [2012 R2][intel-nic-2012-r2], [2016][intel-nic-2016], [2019][intel-nic-2019], [2022][intel-nic-2022], [2025][intel-nic-2025]) + +[virtio-virtio]: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/ +[virtio-aliyun]: https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1 +[xen-xen]: https://xenproject.org/resources/downloads/ +[xen-aws]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html +[xen-citrix]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade +[aws-ena]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-driver-releases-windows.html +[aws-nvme]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-driver-version-history.html +[gcp-gvnic]: https://cloud.google.com/compute/docs/networking/using-gvnic +[gcp-gga]: https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display +[azure-mana]: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-mana-windows +[intel-vmd]: https://www.intel.com/content/www/us/en/download/720755/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-11th-up-to-13th-gen-platforms.html +[intel-nic-7-sha1]: https://www.intel.com/content/www/us/en/download/15590/29323/intel-network-adapter-driver-for-windows-7-final-release.html +[intel-nic-7-sha256]: https://www.intel.com/content/www/us/en/download/15590/intel-network-adapter-driver-for-windows-7-final-release.html +[intel-nic-8]: https://www.intel.com/content/www/us/en/download/16765/intel-network-adapter-driver-for-windows-8-final-release.html +[intel-nic-8.1]: https://www.intel.com/content/www/us/en/download/17479/intel-network-adapter-driver-for-windows-8-1.html +[intel-nic-10]: https://www.intel.com/content/www/us/en/download/18293/intel-network-adapter-driver-for-windows-10.html +[intel-nic-11]: https://www.intel.com/content/www/us/en/download/727998/intel-network-adapter-driver-for-microsoft-windows-11.html +[intel-nic-2008-r2-sha256]: https://www.intel.com/content/www/us/en/download/15591/intel-network-adapter-driver-for-windows-server-2008-r2-final-release.html +[intel-nic-2012]: https://www.intel.com/content/www/us/en/download/16789/intel-network-adapter-driver-for-windows-server-2012.html +[intel-nic-2012-r2]: https://www.intel.com/content/www/us/en/download/17480/intel-network-adapter-driver-for-windows-server-2012-r2.html +[intel-nic-2016]: https://www.intel.com/content/www/us/en/download/18737/intel-network-adapter-driver-for-windows-server-2016.html +[intel-nic-2019]: https://www.intel.com/content/www/us/en/download/19372/intel-network-adapter-driver-for-windows-server-2019.html +[intel-nic-2022]: https://www.intel.com/content/www/us/en/download/706171/intel-network-adapter-driver-for-windows-server-2022.html +[intel-nic-2025]: https://www.intel.com/content/www/us/en/download/838943/intel-network-adapter-driver-for-windows-server-2025.html #### How to Specify the Image Name `--image-name` diff --git a/README.md b/README.md index 90733c3..0b4a1d9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - + # reinstall @@ -396,12 +396,37 @@ bash reinstall.sh windows \ #### 以下驱动会自动按需下载安装,无需手动添加 -- Virtio ([Virtio](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/)、[阿里云](https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1)) -- XEN ([~~XEN~~ (未签名)](https://xenproject.org/resources/downloads/)、[Citrix](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade)、[AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html)) -- AWS ([ENA 网卡](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-driver-releases-windows.html)、[NVME 存储控制器](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-driver-version-history.html)) -- GCP ([gVNIC 网卡](https://cloud.google.com/compute/docs/networking/using-gvnic)、[GGA 显卡](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display)) -- Azure ([MANA 网卡](https://learn.microsoft.com/azure/virtual-network/accelerated-networking-mana-windows)) -- Intel ([VMD 存储控制器](https://www.intel.com/content/www/us/en/download/720755/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-11th-up-to-13th-gen-platforms.html)) +- Virtio ([Virtio][virtio-virtio],[阿里云][virtio-aliyun]) +- XEN ([~~XEN~~][xen-xen] (未签名), [Citrix][xen-citrix], [AWS][xen-aws]) +- AWS ([ENA 网卡][aws-ena], [NVME 存储控制器][aws-nvme]) +- GCP ([gVNIC 网卡][gcp-gvnic], [GGA 显卡][gcp-gga]) +- Azure ([MANA 网卡][azure-mana]) +- Intel ([VMD 存储控制器][intel-vmd], 网卡: [7][intel-nic-7-sha1], [8][intel-nic-8], [8.1][intel-nic-8.1], [10][intel-nic-10], [11][intel-nic-11], [2008 R2][intel-nic-7-sha1], [2012][intel-nic-2012], [2012 R2][intel-nic-2012-r2], [2016][intel-nic-2016], [2019][intel-nic-2019], [2022][intel-nic-2022], [2025][intel-nic-2025]) + +[virtio-virtio]: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/ +[virtio-aliyun]: https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1 +[xen-xen]: https://xenproject.org/resources/downloads/ +[xen-aws]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html +[xen-citrix]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Upgrading_PV_drivers.html#win2008-citrix-upgrade +[aws-ena]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-driver-releases-windows.html +[aws-nvme]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-driver-version-history.html +[gcp-gvnic]: https://cloud.google.com/compute/docs/networking/using-gvnic +[gcp-gga]: https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display +[azure-mana]: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-mana-windows +[intel-vmd]: https://www.intel.com/content/www/us/en/download/720755/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-11th-up-to-13th-gen-platforms.html +[intel-nic-7-sha1]: https://www.intel.com/content/www/us/en/download/15590/29323/intel-network-adapter-driver-for-windows-7-final-release.html +[intel-nic-7-sha256]: https://www.intel.com/content/www/us/en/download/15590/intel-network-adapter-driver-for-windows-7-final-release.html +[intel-nic-8]: https://www.intel.com/content/www/us/en/download/16765/intel-network-adapter-driver-for-windows-8-final-release.html +[intel-nic-8.1]: https://www.intel.com/content/www/us/en/download/17479/intel-network-adapter-driver-for-windows-8-1.html +[intel-nic-10]: https://www.intel.com/content/www/us/en/download/18293/intel-network-adapter-driver-for-windows-10.html +[intel-nic-11]: https://www.intel.com/content/www/us/en/download/727998/intel-network-adapter-driver-for-microsoft-windows-11.html +[intel-nic-2008-r2-sha256]: https://www.intel.com/content/www/us/en/download/15591/intel-network-adapter-driver-for-windows-server-2008-r2-final-release.html +[intel-nic-2012]: https://www.intel.com/content/www/us/en/download/16789/intel-network-adapter-driver-for-windows-server-2012.html +[intel-nic-2012-r2]: https://www.intel.com/content/www/us/en/download/17480/intel-network-adapter-driver-for-windows-server-2012-r2.html +[intel-nic-2016]: https://www.intel.com/content/www/us/en/download/18737/intel-network-adapter-driver-for-windows-server-2016.html +[intel-nic-2019]: https://www.intel.com/content/www/us/en/download/19372/intel-network-adapter-driver-for-windows-server-2019.html +[intel-nic-2022]: https://www.intel.com/content/www/us/en/download/706171/intel-network-adapter-driver-for-windows-server-2022.html +[intel-nic-2025]: https://www.intel.com/content/www/us/en/download/838943/intel-network-adapter-driver-for-windows-server-2025.html #### 如何填写映像名称 `--image-name` diff --git a/trans.sh b/trans.sh index a9c772e..25eeb73 100644 --- a/trans.sh +++ b/trans.sh @@ -5120,6 +5120,22 @@ is_absolute_path() { [[ "$1" = "/*" ]] } +# 注意使用方法是 list=$(list_add "$list" "$item_to_add") +list_add() { + local list=$1 + local item_to_add=$2 + if [ -n "$list" ]; then + echo "$list" + fi + echo "$item_to_add" +} + +is_list_has() { + local list=$1 + local item=$2 + echo "$list" | grep -qFx "$item" +} + install_windows() { get_wim_prop() { wim=$1 @@ -5420,10 +5436,122 @@ install_windows() { ;; esac + # intel 网卡驱动 + # 官网没有提供 vista/2008 驱动 + # win7 驱动 inf/ndis 不支持 vista/2008 + if is_nt_ver_ge 6.1 && { [ "$arch_wim" = x86 ] || [ "$arch_wim" = x86_64 ]; } && + grep -iq 8086 /sys/class/net/e*/device/vendor; then + add_driver_intel_nic + fi + # 自定义驱动 add_driver_custom } + add_driver_intel_nic() { + info "Add drivers: Intel NIC" + + arch_intel=$( + case "$arch_wim" in + x86) echo 32 ;; + x86_64) echo x64 ;; + esac + ) + + file=$( + case "$product_ver" in + '7' | '2008 r2') echo 29323/eng/prowin${arch_intel}legacy.exe ;; # 24.3 sha1 签名 + # '7' | '2008 r2') echo 18713/eng/prowin${arch_intel}legacy.exe ;; # 25.0 有部分文件是 sha256 签名 + '8') echo 21642/eng/prowin${arch_intel}.exe ;; + '8.1') echo 764813/Wired_driver_27.8_${arch_intel}.zip ;; + '2012' | '2012 r2') echo 785805/Wired_driver_28.2_${arch_intel}.zip ;; + *) echo 845886/Wired_driver_30.0_${arch_intel}.zip ;; + esac + ) + + # intel 禁止了 aria2 下载 + # download https://downloadmirror.intel.com/$file $drv/intel.zip + wget https://downloadmirror.intel.com/$file -O $drv/intel.zip + + # inf 可能是 UTF-16 LE?因此用 rg 搜索 + # 用 busybox unzip 解压 win10 驱动时,路径和文件名会粘在一起 + apk add unzip ripgrep + + # win7 驱动是 .exe 解压不会报错 + # win10 驱动是 .zip 解压反而会报错,目测 zip 文件有问题 + # 在 windows 下解压 win8 的驱动会提示 checksum 错误 + unzip -o -d $drv/intel/ $drv/intel.zip || true + + # Vista RTM 版本号是 6000 NDIS 6.0 + # 2008 RTM 版本号是 6001 NDIS 6.1 + + # 找出驱动文件夹对应的最低系统版本 + # 1. 驱动可能限制 windows client/server,但我们不区分 + # 如果装不了也没关系。如果能装但不加载,用户也可以在硬件管理器强制加载驱动 + # 2. 官网写着 win10 驱动要求 RS5 1809,但是驱动包里有 NDIS65 文件夹,也就是支持 10240 + # 3. 有可能 NDIS65 文件夹实际要求 NDIS 6.51?但是先不管 + # https://learn.microsoft.com/en-us/windows-hardware/drivers/network/overview-of-ndis-versions + min_support_map=$(cat <