가상 머신을 통해 펌웨어를 플래시할 수 있나요?

가상 머신을 통해 펌웨어를 플래시할 수 있나요?

펌웨어를 업데이트한 일부 USB 장치가 있지만 펌웨어를 업데이트할 수 있는 Windows PC가 없습니다.

먼저 Linux에서 장치를 직접 업데이트할 수 있는지 확인했지만 fwupdmgr사용 가능한 펌웨어 업데이트가 없다고 했습니다.

다음으로 Virtualbox 7을 사용하여 Windows 10 및 11 가상 머신에서 펌웨어 업데이트를 시도했습니다. USB 패스스루를 설정했는데 장치가 Windows에서 제대로 작동하는 것 같습니다. 실제로 일부 장치(예: 여러 Logitech 마우스)의 경우 장치를 인식하고 장치를 변경할 수 있게 해주는 공급업체 소프트웨어를 설치했습니다(그러나 펌웨어는 업데이트할 수 없음).

또한 내가 vboxusers그룹의 구성원인지 확인했고 VirtualBox의 udev 규칙이 /etc/udev/rules.d/60-vboxdrv.rules.

나는 또한 이 페이지를 읽고 거기에 나열된 모든 것을 시도했습니다.https://forums.virtualbox.org/viewtopic.php?t=82639

마지막으로 문제가 VirtualBox에만 국한된 경우를 대비해 Gnome Boxes와 virt-manager를 사용해 보았지만 둘 다 효과가 없었습니다.

일부 사람들은 macOS에서 Virtualbox를 사용하여 펌웨어를 업데이트할 수 있었다고 언급했습니다. 예를 들면 다음과 같습니다.

그래서 Linux USB 장치가 펌웨어 업데이트를 불가능하게 만드는 가상 머신에 연결하는 방식에 독특한 점이 있는지 궁금합니다.

내 문제는 다음과 비슷합니다이것, 그러나 사용자는 가능한지 여부가 아니라 펌웨어를 업데이트하는 것이 안전한지 물었습니다.

답변1

여러 번 반복(VirtualBox/Gnome Boxes/virt-manager의 Windows 10/11)을 시도한 후 가장 좋은 추측은 현재 Linux에서 실행되는 Windows 가상 머신을 통해 펌웨어를 업데이트하는 것이 불가능하다는 것입니다.

저는 Windows를 사용하지 않지만 제가 생각할 수 있는 유일한 해결책은 작은 Windows 설치를 설치하여 펌웨어를 업데이트하는 것입니다. 당신은 할 수 있습니다:

  • 사용하지 않는 오래된 컴퓨터에 Windows 설치
  • 사용 중인 컴퓨터에 작은 Windows 파티션을 만듭니다.
  • 외장 드라이브에 Windows 설치

일반적인 방법으로 Windows를 설치하세요.

Windows를 설치하는 가장 쉬운 방법은 다운로드하는 것입니다.윈도우 10또는윈도우 11ISO를 마운트하고 부팅 가능한 USB 설치를 생성한 후 이를 사용하여 Windows를 설치합니다.

내 경우에는 Windows 설치 미디어를 만들기 위해 완벽하게 좋은 USB 드라이브를 지우고 싶지 않고 Windows를 설치하는 동안 컴퓨터를 사용할 수 있기를 원하므로 Linux에서 직접 선호합니다.

다음 명령을 사용하여 Linux에서 Windows 10을 설치합니다.deploy-win10-from-linux

이는 가상 머신을 사용하지 않고 Linux에서 Windows 10을 완전히 설치할 수 있는 매우 멋진 도구이지만 약간 고급 기능이고 문서가 부족합니다. 그러나 나는 그것을 작동시킬 수 있었고 여기에 내가 한 일을 문서화했습니다.https://codeberg.org/regnarg/deploy-win10-from-linux/issues/1

VirtualBox를 사용하여 Linux에서 Windows 10 설치

단순화를 위해 MBR+BIOS를 사용하여 Windows 10을 설치했습니다. GPT+EFI를 사용하는 경우 필요에 따라 이 단계를 조정하세요.

  1. 다음에서 Windows 10 ISO를 다운로드하세요.https://www.microsoft.com/software-download/windows10ISO

  2. 목적지 준비

    이는 특정 파티션에 Windows를 설치하려는 경우에만 필요합니다. 전체 드라이브에 Windows를 설치하려면 이 단계를 건너뛸 수 있습니다.

    나는 보통 이런 종류의 작업에 GParted를 사용합니다.

    1. 드라이브에 여유 공간을 만드세요

      1. GParted를 열고 하나 이상의 파티션 크기를 조정하거나 삭제한 다음모든 작업 적용상단에. 최소 80GB의 공간이 있는 Windows 10을 권장합니다.
    2. (선택 사항) 새 NTFS 파티션 생성

      1. 할당되지 않은 공간을 마우스 오른쪽 버튼으로 클릭 >새로운>파일 시스템>NTFS>다음에 추가그런 다음 클릭모든 작업 적용상단에
  3. 윈도우 설치

    1. 버추얼박스 설치

    2. 드라이브용 VMDK 파일을 생성합니다.

      sudo vboxmanage internalcommands createrawvmdk -filename sda.vmdk -rawdisk /dev/sda
      
    3. VMDK 파일의 소유권을 사용자로 변경

      sudo chown "$USER:" *.vmdk
      
    4. 사용자에게 디스크 그룹에 대한 임시 액세스 권한 부여

      sudo usermod -aG disk "$USER"
      newgrp disk
      
    5. VirtualBox 시작

      virtualbox
      
    6. Windows 10용 새 가상 머신 만들기

      • ISO 이미지> 다운로드한 Windows 10 설치 ISO를 선택하세요.

      • 확인하다무인 설치 건너뛰기전체 드라이브가 아닌 특정 파티션에 설치하려는 경우

        ⚠ Windows 자동 설치는 일부 작업을 절약할 수 있는 VirtualBox의 매우 멋진 기능이지만 전체 디스크가 지워지므로 전체 드라이브에 Windows를 설치할 때만 사용해야 합니다.

      • 선택하다기존 가상 하드 디스크 파일 사용생성한 VMDK 파일을 찾아보세요.

    7. 가상 머신 시작

      • 확인하지 않으셨다면무인 설치 건너뛰기, 가상 머신이 자동으로 전원을 켜고 Windows를 설치합니다.

      • 확인했다면무인 설치 건너뛰기, 가상 머신을 열고 Windows 설치 프로세스를 수동으로 완료해야 합니다.

        1. 부팅 후 키를 눌러 Windows 설치로 부팅합니다.

        2. 딸깍 하는 소리다음>지금 설치

        3. 도달할 때까지 필요에 따라 다음 화면을 작성하세요.어떤 유형의 설치를 원하시나요?

        4. 선택하다사용자 정의: Windows만 설치(고급)그런 다음 Windows를 설치할 파티션을 선택하십시오.

    8. 설치가 완료되면 가상 머신이 다시 시작되고 시작하기 전에 가상 머신의 전원이 꺼집니다.

    9. (선택 사항) VirtualBox에서 가상 머신 제거

    10. VirtualBox를 종료하고 disk그룹에서 사용자를 제거하십시오.

      sudo deluser "$USER" disk
      
  4. Linux가 포함된 디스크의 특정 파티션에 Windows를 설치하는 경우 Grub을 다시 설정해야 합니다.

    1. 예를 들어 Grub을 다시 설치하십시오.

      sudo grub-install /dev/sda
      
    2. Grub에 Windows 항목 추가

      1. 운영 체제 프로브 활성화

        sudo sh -c 'echo GRUB_DISABLE_OS_PROBER="false" >> /etc/default/grub'
        
      2. 달리기update-grub

        sudo update-grub
        
  5. 컴퓨터를 다시 시작하고 새 Windows 설치로 부팅합니다.

    • 전체 드라이브에 Windows를 설치한 경우 Windows로 직접 부팅되어야 합니다.
    • Windows를 외장 드라이브에 설치한 경우 컴퓨터의 시작 옵션에서 해당 드라이브를 선택해야 합니다.
    • 특정 파티션에 Windows를 설치한 경우 Grub에서 새 Windows 10 메뉴 항목을 선택하세요.

관련 정보