x64 to ARM64 에뮬레이션은 윈10 iot에서 지원해주다가 빼고 윈11 iot 에서 해준다고 한다.
아무튼 가상화는 아니고 x86 에뮬레이션으로 실행하고
Arm에서 x86 에뮬레이션이 작동하는 방식
x86 앱에 대한 에뮬레이션을 사용하면 Arm에서 Win32 앱의 풍부한 에코시스템을 사용할 수 있습니다. 이렇게 하면 사용자에게 앱을 전혀 수정하지 않고 기존 x86 win32 앱을 실행하는 놀라운 환경을 제공할 수 있습니다. 앱은 특정 API(IsWoW64Process2)를 호출하지 않는 한 Arm PC의 Windows에서 실행되고 있다는 것조차 알지 못합니다.
Arm64EC - Arm에서 Windows 11 위한 앱 빌드 Arm64EC("Emulation Compatible")를 사용하면 새 앱을 증분 방식으로 빌드하거나 기존 앱을 포팅하여 가능한 경우 네이티브 Arm 성능을 활용하는 동시에 완전히 마이그레이션될 때까지 기존 x64 코드 & 라이브러리를 활용할 수 있습니다. 자세한 정보:
Arm의 기존 Windows 앱 지원 Windows on Arm은 수정되지 않은 많은 x86 & x64 앱뿐만 아니라 네이티브 Arm 앱을 실행하지만 최상의 성능과 배터리 수명을 위해 가능한 한 Arm 네이티브로 앱을 빌드해야 합니다. Windows 앱은 네이티브 C/C++ Win32 앱, 클래식 .NET Framework WinForms/WPF 앱, 최신 .NET 또는 MAUI 앱 또는 Java, Python, 노드 등을 사용하여 빌드된 앱 등 다양한 도구와 기술을 사용하여 빌드할 수 있습니다.
C:\>wsl --install 요청한 작업을 수행하려면 권한 상승이 필요합니다. 설치 중: 가상 머신 플랫폼 가상 머신 플랫폼이(가) 설치되었습니다. 설치 중: Linux용 Windows 하위 시스템 Linux용 Windows 하위 시스템이(가) 설치되었습니다. 설치 중: Linux용 Windows 하위 시스템 Linux용 Windows 하위 시스템이(가) 설치되었습니다. 설치 중: Ubuntu Ubuntu이(가) 설치되었습니다. 요청한 작업이 잘 실행되었습니다. 시스템을 다시 시작하면 변경 사항이 적용됩니다.
리부팅 필요하다니까 리부팅 하고 wsl 입력하니
C:\>wsl
Linux용 Windows 하위 시스템에는 설치된 배포판이 없습니다.
'wsl.exe --list --online'을 사용하여 사용 가능한 배포판을 나열하고
'wsl.exe --install <Distro>'를 사용하여 설치하세요.
배포판은 Microsoft Store
(https://aka.ms/wslstore)를 방문하여 설치할 수도 있습니다.
Error code: Wsl/Service/CreateInstance/GetDefaultDistro/WSL_E_DEFAULT_DISTRO_NOT_FOUND
한 체감 10분 기다리니 아래와 같이 계정 생성을 하고
다른 cmd 창에서 wsl 이라고 입력하니 바로 로그인 된다.
C:\>wsl To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details.
$ sudo shutdown -h now System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down Failed to talk to init daemon.
네트워크가 NAT로 기본으로 잡히는데 Virtualbox나 vmware처럼 bridge로 돌릴수도 있는데
그 작업을 하려면 Hyper-V 관리자라는게 있어야 하는 듯.
명령어 줄에서 WSL만 설치해서 그런가 의존성이 있는 관리 패키지가 없어서 그런것 같긴하네..