Windows 11 nie utrudnia instalacji na starym PC - wręcz przeciwnie

Windows 11 nie utrudnia instalacji na starym PC - wręcz przeciwnie

Windows 11 i ThinkPad X230 Tablet
Windows 11 i ThinkPad X230 Tablet
Źródło zdjęć: © dobreprogramy | Kamil Dudek
Kamil J. Dudek
02.05.2023 08:19

Premiera Windows 11 była także pierwszą od czasów Visty rewizją wymagań sprzętowych dla Okienek. System ma wymagać między innymi UEFI i TPM 2.0. Uruchamia się jednak bez nich. A to wymaga czynnego wysiłku ze strony Microsoftu. Wbrew temu, co twierdzą krytycy.

Zdarza się napotkać opinie, że podwyższone wymagania Jedenastki są "fałszywe", bo nie ma powodu, żeby nowy system nie działał na nowych komputerach. Istotnie, nie ma go… bo Microsoft aktywnie utrzymuje obsługę tych starych. Aby zrozumieć, na czym to polega i dlaczego jest istotne, konieczne jest zrozumienie, że "nowe" pecety (te z UEFI) to de facto inna platforma niż klasyczne pecety (z BIOS-em), ale akurat mają ten sam procesor. Obsługa nowej platformy wymaga obsługi nowej warstwy abstrakcji sprzętu i nowego menedżera ładowania, fundamentalnie niekompatybilnego z poprzednim.

Bootloader

Klasyczny menedżer ładowania Windows to BOOTMGR, napisany na potrzeby Visty i zaprojektowany tak, by obsługiwać nadchodzące (wtedy) nowe technologie, przygotowując się do nastania ery UEFI. Windows 7 wprowadził partycję System Reserved, a Windows 8 - pełną obsługę Secure Boot. Klasyczne systemy jako menedżer ładowania stosują winload.exe (aplikację NT), a systemy UEFI, zupełnie nowy, podpisany i zgodny z UEFI program winload.efi, będący aplikacją UEFI.

Gdyby Windows 11 naprawdę potrzebował Secure Boot, dostarczałby wyłącznie winload.efi. Tymczasem nawet najnowsza wersja Insider Preview, będąca wczesną betą systemu planowanego na przyszły rok, wciąż jest dostarczana z dwoma menedżerami ładowania. Microsoft dalej więc kompiluje dwie wersje winload: dla BIOS-u i dla UEFI. A zatem w ogóle nie jest tak, że aby powstrzymać Windowsa 11 przed działaniem na starym sprzęcie, Microsoft miałby wprowadzać jakieś sztuczne blokady. Wystarczy tylko, że przestanie obsługiwać dwie platformy PC naraz, skupiając się wyłącznie na tej nowej. Zresztą jaka ona nowa - systemy z obowiązkowym UEFI są produkowane już od dziesięciu lat. Nie było Haswelli z BIOS-em.

Dalsza część artykułu pod materiałem wideo

HVCI

Z kolei Windows 11 naprawdę potrzebował HVCI, mechanizm VBS byłby domyślnym trybem ładowania, przez co niezgodne sterowniki po prostu nie byłyby w stanie się załadować. Tak jednak nie jest. Gdy sprzęt uniemożliwia uruchomienie HVCI, mechanizm nie jest wymuszany. Działają stare sterowniki i nic nie ulega awarii. Kernel jest w stanie zainicjalizować się po staremu, co oznacza, że dalej utrzymywana jest warstwa kompatybilności. To jest jednak zrozumiałe: posiadacze nowych komputerów mogą być posiadaczami starego sprzętu, czasem całkiem ważnego, którego sterowniki nie załadują się w trybie VBS. Musi więc istnieć metoda wyłączenia go.

VCRT

Chcąc naprawdę ograniczyć zbiór sprzętu, na którym zadziałałby nowy Windows, wystarczyłoby skompilować go z flagą AVX2, co wygenerowałoby kod możliwy do uruchomienia tylko na procesorach Haswell i nowszych. Możliwość wykorzystania jeszcze nowych instrukcji (AVX512) okazuje się dziś niemożliwa, bowiem Intel… wycofał je z procesorów konsumenckich.

Podobny los nie spotka raczej AVX2, które przyjęły się znacznie szerzej. Ale i tak, wykorzystanie nowych instrukcji na skalę ogólnosystemową łamie kompatybilność binarną i wymaga bardzo ostrożnych testów. AVX2 nie są co prawda instrukcjami, które pożre każdy kod C++ jeżeli tylko pozwoli mu na to kompilator - ale na pewno znalazłby się składnik w Windows zdolny do zrobienia z nich użytku.

Ale Microsoft tego nie robi. Nie chce ani łamać zgodności binarnej ani przysparzać sobie więcej testów. Pod tym względem ograniczenie zbioru obsługiwanych procesorów istotnie jest "sztuczne", jak mówią krytycy, ale z drugiej strony powstrzymuje Microsoft przed optymalizowaniem kodu pod nowe x86, celując zamiast tego w SSE2. To też ma swoją cenę.

Windows 11 jest więc budowany ze wsparciem dla starszego sprzętu. Nie tylko nie są dodawane prawdziwe (wymagające nieobsługiwanych obejść/patchowania) blokady, ale i nowe funkcje są dostarczane w trybie opcjonalnym. A te stare, stosowne tylko dla sprzętu dawnej generacji, dalej są budowane i dołączane do obrazu instalacyjnego, nawet w najnowszej jego wersji.

Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl

Programy

Zobacz więcej
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (158)