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를 부팅한 다음 *nix 부팅을 다시 시도했지만 동일한 문제가 발생했습니다.

이전에 말했듯이 Windows 10을 최신 버전으로 업그레이드하기 전에 작동 중이었는데 dhcp 응답 후 갑자기 dhcp 서버가 작동을 거부했기 때문에 솔직히 그 이유가 무엇인지 모르겠습니다. 요청을 할 필요가 없습니다. 윈도우 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))

시스템에서 이 두 개의 주석(및 세 개 이상)의 메서드를 테스트해야 합니다.이것첫 번째 해결 방법) 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
    

이것이 귀하의 문제를 해결하기를 바랍니다. 그런 다음 부팅할 때마다 자동으로 실행되도록 해야 합니다.

답변2

다양한 프로세스 - no 를 사용하는 프로젝트가 하나 있습니다 init.d/networking.

데이터를 찾기 위해 sys 디렉터리를 살펴본 후 프로세스는 간단합니다. 초기화 옵션이 있는 기기가 많은 것 같아서 초기화 옵션이 있는 기기를 검색해봤습니다 max_link_speed. 내 시스템에서는 유선 이더넷과 무선만 사용됩니다. 그런 다음 info의 시작과 끝을 대체하여 재설정할 행이 out2 파일 호출에 기록됩니다.

cd /sys

find . | grep max_link_speed | sed 's_./dev_echo 1> /sys/dev_g;s/max_link_speed/reset/g' > /out2

sh ./out2

하지만 Windows 10에서도 같은 문제가 발생하여 문제가 발생했습니다 dhcpd. 감사합니다. 두 번째 줄이 넘어가므로 위에 빈 줄을 추가합니다.

답변3

더 쉬운 수정... Linux 부팅 후 /etc/init.d/networkingforce-reload를 실행하기만 하면 됩니다.

이것은 내 문제를 해결했습니다. Windows에서 Linux로 전환할 때마다 실행해야 하지만

관련 정보