Windows Sandbox

Windows Sandbox

Windows Sandbox – це новий легкий інструмент в ОС Windows, що дозволяє запускати додатки в безпечному ізольованому оточенні.

Чи траплялося Вам ситуації, коли необхідно запустити якусь програму, але Ви не зовсім впевнені в її походженні? Або інший приклад – необхідність перевірити щось на «чистій» версії Windows. У всіх подібних випадках раніше був тільки один вихід – встановити ОС на окрему фізичну або віртуальну машину і провести потрібний експеримент. Але це більше не так.

Microsoft розробила новий механізм під назвою Пісочниця (eng. Windows Sandbox). Це ізольоване тимчасове оточення, в якому Ви можете запускати підозріле програмне забезпечення без ризику нашкодити своєму ПК. Будь-яке ПЗ, встановлене в Пісочниці, залишається тільки в Пісочниці і не може взаємодіяти з основною ОС. Як тільки Ви закриваєте Пісочницю – весь її вміст безповоротно знищується.

Ось основні особливості Sandbox:

  • Це частина ОС Windows. Якщо у Вас Windows 10 Pro або Enterprise, то Ви вже можете почати нею користуватися.
  • З чистого аркуша. При кожному запуску Sandbox Ви отримуєте одне і те ж, чисте, незмінне оточення. У точності таке, якою була Ваша ОС відразу після її установки.
  • Ніяких слідів. При закритті Пісочниці знищуються всі встановлені в ній додатки, всі створені там файли. Закрили Пісочницю – не залишилося ніяких слідів її існування.
  • Безпека. Використовується апаратна віртуалізація, яка використовує гіпервізор для запуску окремого ядра ОС і ізолює його від Вашої основної ОС
  • Ефективність. Використовується інтегрований планувальник завдань, розумне управління пам’яттю, віртуальний GPU.

Системні вимоги

  • Windows 10 Pro або Enterprise, білд 18305 або вище
  • архітектура AMD64
  • Включена в BIOS віртуалізація
  • Мінімум 4 ГБ (рекомендовано 8 ГБ) оперативної пам’яті
  • Мінімум 1 ГБ вільного місця на диску (рекомендується SSD)
  • Процесор з двома ядрами (рекомендується 4 з підтримкою hyper-threading)

Швидкий старт

1. Встановіть Windows 10 Pro або Enterprise, білд 18305 або вище 

2. Увімкніть віртуалізацію:

  • Якщо Ви працюєте на фізичній машині – зробіть це в BIOS
  • Якщо Ви працюєте на віртуальній машині – використовуйте наступну PowerShell команду:

Set-VMProcessor -VMName <VMName> ExposeVirtualizationExtensions $ true

3. Відкрийте (через Панель Управління) список встановлених компонентів Windows і включіть в ньому Пісочницю. Натисніть ОК. Якщо побачите запит на перезавантаження комп’ютера – підтвердіть його.

4. Запустіть Sandbox з меню Пуск. Дозвольте підвищення прав для її процесу.

5. Скопіюйте (через буфер обміну) в Пісочницю бінарник, який хочете запустити. 

6. Запустіть бінарник в Пісочниці. Якщо це інсталятор – пройдіть процедуру установки і запустіть встановлене додаток. 

7. Використовуйте додаток за призначенням. 

8. Коли закінчите – просто закрийте Пісочницю. Весь її вміст буде видалено.

9. Опціонально – можете переконатися, що у Вашій основній ОС нічого не змінилося.

Windows Sandbox

Що під капотом у Sandbox

Пісочниця Windows побудована на технології, яка називається Windows Containers. Контейнери розроблялися (і давно використовуються) для роботи в хмарі. Microsoft взяв уже досить зрілу і протестовану технологію і допрацював її для користувачів десктопної Windows.

Серед ключових адаптацій можна відзначити:

Динамічно генеруємий образ

Пісочниця є хоча і легка, але все ж віртуальна машина. І, як будь-який віртуальній машині, їй потрібно образ, з якого вона може завантажиться. Найважливішою особливістю Пісочниці є те, що Вам не потрібно звідкись качати або створювати цей образ. Він створиться на льоту, з файлів вашої поточної ОС Windows.

Ми хочемо завжди отримати одне і те ж «чисте» оточення для Пісочниці. Але є проблема: деякі системні файли можуть змінюватися. Рішенням було створення «динамічно генеруємого образу»: для змінених файлів в нього будуть включатися їх оригінальні версії, але ось незмінні файли фізично в цей образ входити не будуть. Замість них будуть використовуватися посилання на реальні файли на диску. Як показала практика – такими посиланнями будуть більшість файлів в образі. Лише мала їх частина (близько 100 МБ) увійдуть в образ повністю – це і буде його розмір. Більш того, коли Ви не використовуєте Пісочницю, ці файли зберігаються в стислому вигляді і займають близько 25 МБ. При запуску Пісочниці вони розгортаються в той самий «динамічний образ» розміром близько 100 МБ.

Windows Sandbox

Розумне управління пам’яттю

Управління пам’яттю для Sandbox – ще одне важливе вдосконалення. Гіпервізор дозволяє запускати на одній фізичній машині кілька віртуальних і це, загалом, непогано працює на серверах. Але, на відміну від серверів, ресурси звичайних користувацьких машин значно більш обмежені. Для досягнення прийнятного рівня продуктивності Microsoft розробив спеціальний режим роботи пам’яті, при якому основна ОС і Пісочниця можуть в деяких випадках використовувати одні і ті ж сторінки пам’яті.

Справді: оскільки основна ОС і Sandbox запускають один і той же образ ОС, то більшість системних файлах в них будуть одні і ті ж, а значить немає сенсу двічі завантажувати в пам’ять однакові бібліотеки. Можна зробити це один раз в основний ОС, а коли той же файл знадобиться в пам’яті Пісочниці – їй можна дати посилання на ту ж сторінку. Звичайно, потрібні деякі додаткові заходи для забезпечення безпеки подібного підходу, але Microsoft подбала про це.

Windows Sandbox

Інтегрований планувальник

У разі використання звичайних віртуальних машин гіпервізор контролює роботу віртуальних процесорів, що працюють в них. Для Пісочниці була розроблена нова технологія, яка називається «інтегрований планувальник», яка дозволяє основний ОС вирішувати коли і скільки ресурсів виділити Sandbox. Працює це так: віртуальний процесори Пісочниці працюють як потоки всередині процесу
Sandbox. У підсумку вони мають ті ж «права», що і інші потоки в вашою основною ОС. Якщо, наприклад, у вас працюють якісь високопріоритетні потоки, то Пісочниця не відбиратиме у них багато часу для виконання своїх завдань, які мають нормальний пріоритет. Це дозволить користуватися пісочниці, чи не сповільнюючи роботу критично важливих додатків і зберігаючи достатній відгук UI основної ОС, аналогічно тому, як працює Linux KVM.

Головним завданням було зробити Пісочницю з одного боку просто звичайним додатком, а з іншого – дати гарантію її ізоляції на рівні класичних віртуальних машин.

Використання «знімків»

Як вже говорилося вище, Пісочниця використовує гіпервізор. Ми по суті запускаємо одну копію Windows всередині іншої. А це означає, що для її завантаження знадобиться якийсь час. Ми можемо витрачати його при кожному запуску Пісочниці, або зробити це лише раз, зберігши після завантаження весь стан віртуальної ОС (змінені файли, пам’ять, регістри процесора) на диску. Після цього ми зможемо запускати Пісочницю з даного знімка, економлячи при цьому час її старту.

Віртуалізація графіки

Апаратна віртуалізація графіки – це ключ до плавного і швидкого призначеному для користувача інтерфейсу, особливо для «важких» в плані графіки додатків. Однак, класичні віртуальні машини спочатку обмежені в можливостях безпосередньо використовувати всі ресурси GPU. І тут важливу роль виконують засоби віртуалізації графіки, які дозволяють подолати цю проблему і в якійсь формі використовувати апаратну акселерацію в віртуальному оточенні. Прикладом такої технології може бути, наприклад, Microsoft RemoteFX .

Крім того, Microsoft активно працювала з виробниками графічних систем і драйверів для того, щоб інтегрувати можливості віртуалізації графіки безпосередньо в DirectX і WDDM (модель драйверів в ОС Windows).

В результаті графіка в Sandbox працює наступним чином:

  • Додаток в Sandbox використовує графічні функції звичайним чином, не знаючи хто і як буде їх виконувати
  • Графічна підсистема Пісочниці, отримавши команди відтворення графіки, передає їх основній ОС
  • Основна ОС, отримавши команди відтворення графіки, сприймає їх так, як ніби вони прийшли від локально запущеного додатку і відповідним чином виконує їх, виділяючи і керуючи необхідними ресурсами.

Це процес можна зобразити так:

Windows Sandbox

це дозволяє віртуальному оточенню отримувати повноцінний доступ до апаратно акселерованої графіки, що дає як приріст продуктивності, так і економію деяких ресурсів (наприклад, заряду батареї для ноутбуків) в наслідок того, що для відтворення графіки більше не використовуються важкі розрахунки на CPU.

Використання батареї

Пісочниця має доступ до інформації про заряд батареї і може оптимізувати свою роботу для його економії.

Відгуки і повідомлення про проблеми

У будь-якій новій технології можуть бути баги. Microsoft просить надсилати повідомлення про них і пропозиції нових фіч через Feedback Hub.

Читайте також: Як прискорити роботу Windows 10: 10 способів, про які вам не розповідали

Be the first to comment

Leave a Reply