Dualboot:Windowsの起動後、他のオペレーティングシステムはDHCPリースを取得できません。

Dualboot:Windowsの起動後、他のオペレーティングシステムはDHCPリースを取得できません。

私は約2年間私のコンピュータからWindowsとLinuxを二重起動してきましたが、dhcpクラッシュの問題が発生したことはありません。

最近のWindows 20H2の更新以降に以前にWindowsを起動した場合、突然Linuxでdhcpを使用できなくなります。

数日待っても同じ結果が出るのでタイミング問題ではないようです。私はAVM Fritz Boxを私のルーター/ dhcpサーバーとして使用していますが、Linuxでdhcpを操作する唯一の方法はFritz Boxをリセットすることです。

以前は、「Linux」というより広い用語を使用していました。なぜなら、さまざまなディストリビューション(Arch、Gentoo、Ubuntu)でテストしましたが、そのうちの誰も自分のdhcpクライアントを私のFritz Boxで使用できなかったからです。 Linuxの問題を解決するためにFreeBSDも試してみました。彼らはすべて「DHCPリースが期限切れになり、IPを取得できません」という形式を印刷します。

ルーターをリセットし、dhcpリースを再度取得した後、Windowsを起動して* *ixブートを再試行しましたが、同じ問題が発生しました。

前に述べたように、Windows 10を最新バージョンにアップグレードする前に動作していましたが、dhcpが応答した後に突然dhcpサーバーが動作を拒否したため、正直なところ、なぜかわかりません。リクエストをする必要はありません。 Windows 10で。

編集する:私のマザーボードは、Intel Intel I217-V NICを搭載したAsus Sabertooth Z87です。ユーザーABは、問題がDHCPリースの取得に関連しているわけではなく、Windowsをシャットダウンした後にI217-V NICの状態に問題があると正しく疑います。回避策については、次の記事をご覧ください。https://unix.stackexchange.com/a/620766/442856

ベストアンサー1

ASUSによるとOPのセイバートゥースZ87Intel I217-V NICが含まれています。これはArchLinuxフォーラムで問題の説明をもたらしました。

[解決済み] Windows起動後のイーサネットの問題(Intel I217-V(e1000e))

システムはこれら2つのコメント(および3つ以上)のメソッドをテストする必要があります。これ最初の回避策)LinuxでNICの動作を修正する:

  • Windowsベースの回避策

    私たちに勝者がいます!
    すべての電源管理機能をオフにして問題を解決しました。私は閉じて通常どおりLinuxを起動しましたが、問題は見つかりませんでした。その後、再びWindowsに戻ってみると機能は復旧され、Linuxもオンになりましたが、故障が出ましたね。したがって、私はこの証拠がこの問題が解決されたと宣言するのに十分だと思います(WoLを犠牲にしてもまったく気にしません)。

  • 実用的なソリューション予想されるコールドブート状態に戻るようにPCIデバイスをリセットします。ユニバーサルe1000eドライバがこの特定のNICを正しく処理できない可能性があります。

    私の解決策はとても簡単でした。ネットワークインターフェイスを起動する前に、PCIデバイスをリセットすることでした。

    特に、NICが複数ある場合は、同じ説明に基づいて以下のスクリプトを調整して少し整理することができます。次に実行ユーザー。

    #!/bin/bash
    
    #Get the PCI-Address of network card (Caution: This works ONLY with ONE NIC)
    PCI=`/usr/bin/lspci | /bin/egrep -i 'network|ethernet' | /usr/bin/cut -d' ' -f1`
    PCIPATH=`/usr/bin/find /sys -name *\${PCI} | /bin/egrep -i *pci0000*`
    
    #echo "PCI    =$PCI"
    #echo "PCIPATH=$PCIPATH"
    #ls -la $PCIPATH
    
    /usr/bin/logger -t "ResetNIC" "Resetting PCI NIC ${PCIPATH}"
    
    #Reset the PCI Device completely (like Power-ON/Off)
    echo 1 >${PCIPATH}/reset
    

これがあなたの問題を解決することを願っています。その後、起動するたびに自動的に実行する必要があります。

おすすめ記事