Windows 10으로 이어지는 OS 업그레이드 기록을 확인하거나 새로 설치했는지 확인하는 신뢰할 수 있는 방법이 있습니까?
답변1
별도의 주제와 관련된 Ten Forums에 대한 훌륭한 튜토리얼이 있습니다:
Windows 10에서 사용자 프로필 폴더를 다른 위치로 이동하는 방법
해당 튜토리얼에서 저자는 다음과 같이 말합니다.
업그레이드가 아닌 새로 설치라고 생각하도록 Windows를 "속이기" 위해 Windows 레지스트리를 편집해야 합니다. 이렇게 하려면레지스트리 편집기(WIN + R, regedit 입력, Enter 누르기) 키를 찾아보세요.HKEY_LOCAL_MACHINE\SYSTEM\설정
둘 다 삭제DWORD업그레이드(오른쪽 창) 및열쇠업그레이드(왼쪽 창), 스크린샷 참조
작성자의 후속 스크린샷에는 레지스트리의 해당 항목이 표시됩니다.
레지스트리 내의 다음 영역은 Windows 10 설치가 업그레이드인지 여부를 결정하는 핵심인 것 같습니다.
HKEY_LOCAL_MACHINE\SYSTEM\설정
이 이론을 증명하기 위해 먼저 테스트 컴퓨터에서 Windows 10을 새로 설치하고 레지스트리의 동일한 영역을 면밀히 조사했습니다. 핵심 Upgrade
이 눈에 띄게 없습니다.
다음으로, Windows 7을 새로 설치하기 위해 다른 컴퓨터를 사용한 다음 Windows 10으로 전체 업그레이드를 수행했습니다. 레지스트리의 동일한 영역을 살펴보면 다음과 같은 내용을 확인했습니다.
Upgrade
해당 키와 함께 키가 존재한다는 점에 유의하세요 Source OS
. 키 를 자세히 살펴보면 Source OS
다음과 같습니다.
명확하게 볼 수 있습니다윈도우 7 엔터프라이즈ProductName
키 와 관련된 값으로 나열됩니다 Source OS
.
커뮤니티 피드백으로 인해 추가 조사가 이루어졌습니다. 원래 Windows 10(버전 1507)의 RTM 기준을 새로 설치하여 설정된 다른 컴퓨터를 살펴보면 다음과 같은 내용을 볼 수 있습니다.
이 컴퓨터의 OS는 새로 설치를 통해 구성되었지만 Upgrade
키는 여전히 존재합니다. 그러나 각 키 를 조사하면 Source OS
각 업데이트의 날짜가 처음 두 개의 주요 Windows 10 기능 업데이트 릴리스인 버전 1511 및 1607과 거의 동일한 기간에 해당한다는 것을 알 수 있습니다.ProductName
윈도우 10 프로, 가장 오래된 키에서도 마찬가지입니다 Source OS
. 최신 Source OS
키에는 추가 단서가 있습니다.
최신 업데이트는 다음 ReleaseId
값을 보여줍니다.1511, 업데이트 이전에 사용된 Windows 10의 정확한 버전을 나타냅니다.
우리가 본 내용을 바탕으로 다음과 같은 결론을 내릴 수 있습니다.:
- 레지스트리
HKLM\SYSTEM\Setup
키를 사용하면 Windows 10이 원래 새로 설치 또는 업그레이드로 설정되었는지 확인할 수 있습니다. - 키
Upgrade
가 없으면 확실히 새로 설치한 것입니다. - 키
Upgrade
가 있으면 기존 Windows 업그레이드(Windows 7 또는 Windows 8.x)를 통해 생성되었거나 주요 Windows 10 기능 업데이트(예: 버전 1511 및 1607) 중에 생성되었을 수 있습니다. - 열쇠
Upgrade
가 있으면 열쇠를 검사해야 합니다Source OS
. - 가장 오래된
Source OS
키는 해당ProductName
값 내에서 원래 운영 체제를 나타냅니다. 즉, Windows 7 또는 Windows 8 버전인 경우 업그레이드였습니다. Windows 10의 변형인 경우 새로 설치한 것입니다.
답변2
Magicandre1981이 댓글에 게시한 내용:
아래에서 MediaBootInstall 값을 찾으세요.
HKEY_LOCAL_MACHINE/소프트웨어/Microsoft/Windows/CurrentVersion/Setup/OOBE/.
MediaBootInstall = 1이면 WIndows가 ISO/DVD를 통해 설치된 것입니다.
MediaBootInstall = 0이면 Windows가 업그레이드된 것입니다.
답변3
$Products = Get-ItemProperty -Name ProductName -Path "HKLM:\SYSTEM\SETUP\Source OS*" | select Productname -Unique
if ($Products -like '*7*')
{
WRITE-HOST Upgraded
}
ELSE
{
Write-Host Fresh Install
}