Blog (92)
Komentarze (104)
Recenzje (0)

Ubuntu w Windows 10 (Hyper-V)

@marcinw2Ubuntu w Windows 10 (Hyper-V)21.11.2019 14:59

Dawno dawno temu, w zamierzchłej przeszłości, popełniłem artykuł o typach i programach do wirtualizacji, dzisiaj chciałbym pokazać jak w kilku krokach przygotować sobie Ubuntu pod Windows 10 (przy czym dodam, że oficjalnie jest to niemożliwe w Windows 10 Home).

Nie będę się tu zbytnio rozwlekał o teorii, skupię się na praktyce i pewnej ścieżce konfiguracji, której używam na codzień w jednym z projektów.

Instalacja Hyper-V

Microsoft oficjalnie podaje:

"Client Hyper-V (funkcja dostępna tylko w systemie Windows 10 Pro i Windows 10 Enterprise) wymaga systemu 64-bitowego z obsługą translacji adresów drugiego poziomu (SLAT) i dodatkowo 2 GB pamięci RAM."

po angielsku zaś określa to nawet dokładniej:

  • Windows 10 Enterprise, Pro, or Education
  • 64-bit Processor with Second Level Address Translation (SLAT).
  • CPU support for VM Monitor Mode Extension (VT-c on Intel CPUs).
  • Minimum of 4 GB memory.

Opcje wirtualizacji wymagają zazwyczają włączenia w BIOS/UEFI, żeby zainstalować klienta wirtualizacji w Windows:

  1. przechodzimy do "nowego" Panelu Sterowania
  2. klikamy "Apps" i przesuwamy zawartość okna po prawej na sam dół
  3. klikamy "Programs and Features"
  4. klikamy "Turn Windows features on or off"
  5. zaznaczamy Hyper-V, klikamy OK i czekamy na instalację i restart

Pobranie Ubuntu

Ponieważ symulujemy całą maszynę, można w niej zainstalować różne odmiany - osobom leniwym polecałbym standardowe wydanie 64-bitowe z interfejsem graficznym:

Przechodzimy do strony https://ubuntu.com/download/desktop i pobieramy ISO starszej wersji 18.04 z długim okresem wsparcia (LTS) albo krótko wspieranej 19.10 (jest nowsza, ale może zawierać więcej błędów takich jak startowanie przez kilka minut).

Po pobraniu warto sprawdzić sumę kontrolną pobranego pliku - ja często wpisuję w Google "ubuntu download mirror", przechodzę do jednego z serwerów lustrzanych, pobieram plik SHA256SUMS i porównuję wpis z wynikiem działania komendy

certutil -hashfile nazwaPliku.iso SHA256

Utworzenie wirtualnego switcha do połączeń sieciowych

  • otwieramy menu Start
  • wyszukujemy i otwieramy Hyper-V manager
  • z menu głównego Action lub bocznego wybieramy Virtual Switch Manager
  • tworzymy nowy switch dla "External network" i odpowiedniego urządzenia sieciowego z systemu Windows.

Stworzenie nowej maszyny wirtualnej

  • w Hyper-V manager z menu głównego Action lub bocznego wybieramy New \ Virtual Machine
  • w kreatorze podajemy naszą nazwę dla maszyny i lokalizację dla plików
  • wybieramy jaki komputer będziemy symulować - tego wyboru nie można później zmienić i w zależności od niego system "wewnątrz" musi mieć wsparcie dla innych technologii.

Generacja 1 wspiera zarówno systemy operacyjne 32-bitowe jak i 64-bitowe, ma również obsługę portów szeregowych, stacji dyskietek i kontrolerów IDE i oparta jest o BIOS (poniżej ekran pokazujący ustawienia z gotowej maszyny, a nie ekran kreatora).

"Dwójka" to UEFI, kontrolery SCSI i możliwość używania Secure Boot.

  • ...a wracając do kreatora - wybieramy wielkości RAM (może być przydzielany dynamicznie stosownie do potrzeb, ale ja tego nie polecam szczególnie przy uruchamianiu kilku maszyn naraz, gdyż wtedy trudno określić maksymalne zużycie i mogą wystąpić problemy ze stabilnością przy braku pamięci)
  • ustawiamy połączenie sieciowe
  • wybieramy ustawienia dysku twardego, który będzie podłączony do maszyny (plik z dyskiem jest rozszerzany aż do podanej wielkości przy zapisywaniu kolejnych danych; Ubuntu w wersji desktopowej minimalnie wymaga 8,6GB, ja polecam przynajmniej 10 albo 20GB)
  • decydujemy, czy chcemy zamontować w symulowanym napędzie DVD pobrany obraz ISO

Dopieszczanie konfiguracji

Po zakończeniu kreatora maszyna powinna zostać stworzona. Polecam wejść w jej ustawienia i dodać więcej symulowanych rdzeni CPU (przy czym ilość tutaj podana może być większa niż ilość rdzeni fizycznych i jest po prostu odpowiednio skalowana), ustawić sobie stopień wykorzystania zasobów, jak również włączyć pokazaną na obrazku opcję zgodności (to ostatnie może pomóc przy problemie ze sterownikiem bufora ramki).

Jak wspomniałem generacja 2 maszyn obsługuje Secure Boot, do poprawnej instalacji należy go tylko włączyć:

Uwaga - ja do swoich celów deaktywuję wszystkie Integration Services (pomimo pewnej dokumentacji Microsoftu pewne rzeczy nie do końca mi chciały działać) i Checkpoints (jest to dla mnie niepotrzebne i niepotrzebnie zużywające dysk), z kolei w Automatic Start Action zazwyczaj wybieram None (gdy maszyna nie jest "serwerowa") i w Automatic Stop Action wybieram "Turn off the virtual machine" (jest to świadome i wiąże się z ewentualną utratą plików, ale wymuszone przez brak Integration Services)

Instalacja Ubuntu

Ta nie różni się od instalacji na "prawdziwej" maszynie - wybieramy układ klawiatury, nazwę użytkownika, lokalizację, itp.

Dwie uwagi - polska klawiatura z prawym Altem to klawiatura "Polish", domyślnie Ubuntu zakłada również partycję na pliki tymczasowe... co niekoniecznie może być dla nas wygodne:

  • w przypadku gdybyśmy chcieli zmienić jej rozmiar, zmiana wielkości innych partycji może być niemożliwa bez przeinstalowania wszystkiego
  • pliki tymczasowe mogą być trzymane w RAM oszczędzając SSD

Ja zazwyczaj zajmuję sobie cały dysk na główny system plików (partycja typu EFI jest wymagana i tutaj spokojnie wystarcza 40MB):

Dopieszczanie konfiguracji

Po zainstalowaniu systemu warto zmienić rozdzielczość - w tym celu edytujemy plik /etc/default/grub np. podając z linii komend:

sudo gedit /etc/default/grub

i w pliku w linii z GRUB_CMDLINE_LINUX_DEFAULT dodajemy wpis zaczynający się od video, a kończący na naszej rozdzielczości:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1280x720"

Zmiany zatwierdzamy komendą:

sudo update-grub

Kolejnym krokiem może być zlikwidowanie pliku zawierającego partycję z plikami tymczasowymi (zakładana, gdy Ubuntu nie ma oddzielnej partycji):

sudo swapoff -a
sudo rm /swapfile

i przeniesienie plików tymczasowych do RAM - należy dodać do pliku /etc/fstab linijki:

tmpfs /tmp rw,nodev,nosuid,size=512m 0 0
tmpfs /var/tmp rw,nodev,nosuid,size=512m 0 0

(jak zauważył jeden z komentujących mojego poprzedniego posta: wysuwam pomysł i podaję przykłady zakładając, że użytkownik wie, co to jest komputer i w dobie Internetu i masy wiedzy wszelakiej potrafi czytać i drążyć temat na tyle na ile mu potrzeba; tutaj na przykładzie ustawiam 512MB dla obu katalogów)

Zmiany wymagają oczywiście restartów.

Wymiana plików

Ponieważ nie chcę sobie "zaśmiecać" systemu Windows, to od strony Ubuntu instaluję serwer SSH:

apt-get install openssh-server

zaś od strony Windows potrzebuję np. darmowego WinSCP tworząc mu połączenie typu SFTP do adresu IP wskazanego w Ubuntu komendą

ifconfig

Podsumowanie

I tyle...

Działa, gra, buczy...

i aż chciałoby się powiedzieć, że Windows 10 to taki dziwny twór który ciężko zdefiniować - z jednej strony razi w nim prymitywizm i ogromne niedoróbki, z drugiej strony zawiera on co najmniej kilka mocno zaawansowanych rozwiązań, które są zrobione całkiem sprytnie i wygodnie.

Nie ma tu może akceleracji grafiki czy ekranów 4K, ale... do normalnej pracy i zabaw nie wpływających na Windows jak znalazł.

Chcesz poprogramować? Proszę bardzo.

Oddzielna maszyna do "ciekawych" strony? Sie robi.

itd. itd.

Dziękuję za uwagę.

Wybrane dla Ciebie
Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.