PracticU

Знакомство с Registry

Без субтитровС субтитрами
PracticU › Курс системных администраторов - MCSE / MCSA / MCTIP › Знакомство с Registry
Словарь терминов:
реестр - Центральная база данных Windows, хранящая настройки операционной системы и установленных программ.
файл - Именованный набор данных, сохранённый на диске: документ, программа, изображение и т. п.
диск - Устройство для постоянного хранения данных, например жёсткий диск (HDD) или твердотельный накопитель (SSD).
папка - Контейнер в файловой системе для организации файлов и других папок.
кнопка - Элемент интерфейса, по которому пользователь нажимает, чтобы запустить действие.
процесс - Запущенный в памяти экземпляр программы со своим кодом, данными и выделенными ресурсами.
резервное копирование - Создание сохранённых копий данных для восстановления в случае сбоя, удаления или повреждения.

Знакомство с Registry
Реестр это центральное хранилище настроек Windows и большинства программ. Урок объясняет, почему настройки перестали лежать в отдельных файлах, и показывает на простом примере, как программа пишет в реестр.
Как это устроено
1. Зачем нужен реестр. Раньше каждая программа хранила настройки в своем файле конфигурации. Реестр стал общим местом для всех настроек, поэтому резервную копию можно делать для одного хранилища, а не искать файлы каждой программы.
2. Разделы. Реестр делится на пять основных разделов. HKEY_CURRENT_USER хранит настройки текущего пользователя, например фон рабочего стола.
3. Файлы на диске. Реестр записан в нескольких файлах в папке C:\Windows\System32\config, плюс файлы в профиле пользователя. По размеру они ничтожны по сравнению с диском.
4. Программа и реестр. Программа создает ключ, записывает в него значение и при следующем запуске читает его. В примере урока счетчик нажатий кнопки хранился в ключе и не сбрасывался после выключения программы.
5. Файлы программы. Сами файлы программы лежат в Program Files, в папке компании и продукта. Настройки же чаще всего записываются в реестр.
6. Изменение значений. Пользователь с правами может открыть редактор и изменить значение, и программа поверит новому числу. Поэтому важно понимать, где программа хранит свои данные.
Команды
regedit открывает редактор реестра. Программу, которая показывает, куда процесс обращается к реестру и файлам, в уроке называют Process Monitor.
Теперь можно объяснить, где Windows и программы хранят настройки и почему реестр нужен при резервном копировании.
Следующий урок курса: Введение в GPO - совершение настроек через групповую политику

Содержание лекции: Знакомство с Registry

  1. 00:00

    Registry как централизованное хранилище настроек

  2. 00:36

    Программа regedit и ее расположение

  3. 02:03

    Пример: программа, которая пишет в Registry

  4. 05:06

    Зачем сохранять данные между запусками

  5. 06:15

    Папка Program Files для программ

  6. 07:42

    Программа хранит данные в файлах и в Registry

  7. 08:32

    Файл settings.ini и сохранение позиции

  8. 09:23

    Резервная копия Registry вместо всего диска

Расшифровка лекции: Знакомство с Registry

Полный текст первых минут лекции «Знакомство с Registry» из видеокурса PracticU – субтитры с временной меткой для каждого абзаца. Так можно прочитать и найти нужные темы ещё до начала обучения.

  1. 00:00

    Добро пожаловать на урок о Registry. Мы узнаем, что это такое, зачем нужно, и вообще, как мыслят программисты, и зачем они эту штуку выдумали, и с чего вытекает эта потребность.

  2. 00:13

    Итак, Registry — это централизованное хранилище настроек. До Registry все значения настроек хранились в файлах конфигурации.

  3. 00:22

    Как правило, это были текстовые файлы. Но потом место для хранения значений настроек стало централизованным. мы всегда можем войти в Registry с помощью программы regedit.

  4. 00:31

    Мы можем просто написать regedit, но сама программа хранится в C Windows System32, и тут есть программа, которая называется regedit.exe.

  5. 00:41

    Маленькая, идущая в комплекте с Windows-ом программка, которая даёт нам доступ в это централизованное хранилище настроек, куда большинство программ записывают значения своих настроек.

  6. 00:53

    Вот так вот выглядит Registry с точки зрения программы regedit. Вот, registry поделен на пять категорий, о которых мы поговорим.

  7. 01:01

    И мы можем тут поглазеть на все настройки. Например, control panel какого-то пользователя, его десктоп, всяческие настройки, относящиеся к его рабочему столу, к примеру.

  8. 01:14

    Например, какой фон у него на рабочем столе, какой wallpaper. Вот, файл вот этой вот картинки используется как фон у некоторого пользователя.

  9. 01:24

    Вот такой вот пример, где лежит фоновый рисунок. jpg-файл. Давайте убедимся, что это действительно актуально.

  10. 01:31

    Вот, запомните этот фон. А теперь давайте посмотрим, что лежит по тому пути, который в registry. Да, та же самая картинка. Сейчас это файл.

  11. 01:41

    Давайте перейдём к папке, где лежит этот файл. Вот она эта папка и этот файл в ней. Вы поняли, да, как я узнал, где это лежит? Я проверил в registry.

  12. 01:53

    Посмотрел настройку в registry. Я зашёл в registry и нашёл настройку, соответствующую фоноэкрана. в фон у рабочего стола. И вот мы уже начинаем чуть-чуть понимать, что такое registry.

  13. 02:04

    А теперь давайте вообразим, что мы программисты, и напишем что-нибудь в registry от лица программиста. Напишем простенькую программку, которая пишет в registry.

  14. 02:13

    По программированию у нас есть отдельный курс, целый курс. Поэтому сейчас в само по себе программирование я не буду углубляться.

  15. 02:20

    Буду сам код объяснять бегло. Мы просто поймём, как программисты мыслят. Для этой цели мы используем Visual Studio. Это майкрософтовский продукт, и есть бесплатная версия.

  16. 02:32

    Версия экспресс, она бесплатна. Я уже её тут скачал, но вы можете легко её найти через поисковик. Эту студию можно скачать с майкрософтовского сайта.

  17. 02:41

    Давайте же откроем Visual Studio. Есть версия 2012, 2013, есть разные версии. У меня тут где-то уже есть открытое Visual Studio.

  18. 02:50

    Где она тут у меня? Вот, вот Visual Studio открыто. Давайте сделаем новый проект. Я объясняю бегло, потому что сейчас мы не учим программирование.

  19. 03:01

    Я выбираю язык C#, выбираю язык и тип программы. Программы командной строки, я хочу DLL или Windows-аппликацию. Пусть будет аппликация для Windows по имени Practicue Test Application.

  20. 03:17

    Допустим, такое имя я хочу. И сразу же мы получаем окно нашей аппликации. Мы даже можем всё это сразу запустить, нажав Start.

  21. 03:24

    Уже мы получим окно. Впрочем, пустое окно, но уже работающее. Это самая настоящая программа, которая работает сейчас. Смотрите, я всё закрою.

  22. 03:33

    Это самостоятельная программа, которая уже работает. Итак, мы начали новый пустой проект. А теперь добавим в окно кнопку. Я перетаскиваю в окно кнопку.

  23. 03:42

    И ещё метку я хочу добавить в наше окно. Перетаскиваю метку. На кнопке у меня будет, допустим, написано «клик». А метка будет содержать число о том, сколько раз нажата кнопка.

  24. 03:57

    Начальная надпись 0. Вот такая вот у нас будет программа. Мы жмём кнопку, и отображается, сколько раз мы её нажали. Двойной клик на кнопке, и мы в коде, который с ней связан.

  25. 04:07

    Ещё раз отсылаю всех интересующихся к нашему курсу программирования. Я ввожу переменную i, которая изначально будет иметь значение 0, и которая будет повышаться при нажатии кнопки.

  26. 04:19

    Когда кто-то нажмёт на кнопку, то текст у метки label 0 пусть станет равен значению в переменной i. Изначально i у нас равен нулю, и я пишу i++.

  27. 04:34

    Это значит повысить i на единицу. Вот и готово. Простенькая программка, которая считает, сколько раз мы нажали на кнопку. Теперь же давайте её запустим.

  28. 04:47

    Вы поняли? Я повторю. Изначально i равно нулю, и повышается на единицу. ++ — это добавить единицу. И текст метки становится новым значением i.

  29. 04:59

    А теперь запустим нашу программу. Понажимаем вдоволь на кнопочку «клик». Сколько раз я нажму, таково и будет значение счётчика.

  30. 05:10

    Но это только основа той программки, которую я хотел написать. Всё это я делаю для того, чтобы у меня появилась надобность сохранять какие-то данные или настройки.

  31. 05:22

    Например, я хочу сохранять, сколько раз мы нажали на эту кнопку в Registry. К примеру, я хочу сохранять, сколько раз при последнем запуске программы мы нажали на кнопку «Клик», только при последнем запуске аппликации.

  32. 05:35

    Ведь поймите, представьте, что кто-то выключит мою программу, и все мои данные, в моем случае это только переменная i, забудутся.

  33. 05:45

    Когда программа выключается, вся ее оперативная память освобождается, там забываются все значения. И каждый раз, когда я запускаю программу, она начинает с нуля.

  34. 05:54

    Сейчас i помнит, что он 8, 9 или 10. Он помнит значение 10, но если я выключу программу и запущу заново, то старое значение i пропадает. I пропадает.

  35. 06:05

    Но я, допустим, этого не хочу, я хочу сохранить его. Допустим, это программа, которая что-то считает, и очень важно сохранять это значение.

  36. 06:12

    И эту информацию я могу сохранить на жестком диске в виде файла, относящегося к моей программе.

  37. 06:18

    Это принято делать в папке Program Files. И в Program Files должна быть папка, которая относится к моей компании-производителю программного обеспечения.

  38. 06:27

    Допустим, моя такая компания называется Practicure. И у компании Practicure есть несколько товаров, Поэтому в папке Program Files Practicue мы делаем по папке на каждый продукт.

  39. 06:38

    Тут будут файлы моей первой аппликации. А ещё, допустим, у нас есть ещё одна аппликация, ещё один продукт. Допустим, она у нас показывает фильмы.

  40. 06:47

    Допустим, она называется Full Movies Viewer. Итак, наша компания выпустила аппликацию для просмотра фильмов и ещё одну. У моей компании есть разные продукты.

  41. 06:56

    Итак, на диске C Program Files. Каждая компания-производитель программного обеспечения тут создаёт свою папку. и внутри такой папки принято открывать еще по одной папке на каждый продукт, хотя есть такие компании, как и Microsoft, которые открывают несколько папок в папке Program Files, хотя так не принято.

  42. 07:13

    Но, как видите, так тоже делают. Например, Oracle — это компания, производитель программного обеспечения. И, например, продукт у этой компании — это VirtualBox, известная вам по нашим фильмам программа виртуализации.

  43. 07:29

    И все относящееся к этой программе находится в этой папке. Вот тут весь код этой программы. Если я сотру отсюда файлы, то программа пропадет, ее не будет.

  44. 07:38

    В общем, все относящееся к каждой программе находится в двух местах. Во-первых, это в Program Files, если вы не меняете путь, куда она предлагает установиться.

  45. 07:47

    А второе место, где находится нечто, относящееся к программе — это Registry. И давайте для примера представим, что наша программа просмотра фильмов.

  46. 07:56

    Хочет запоминать, какой мы видели последний фильм, на какой минуте остановились. И она, допустим, хочет это запоминать в текстовом файле конфигурации.

  47. 08:05

    Давайте создадим такой файл. Запустим Notepad от имени администратора, чтобы был доступ в Program Files. И, допустим, данные конфигурации у меня будут такие:

  48. 08:15

    последний просмотренный фильм, 84-й. Допустим, каждый раз, когда мы открываем нашу программу заново, она ставит следующий по номеру фильм, который мы ещё не посмотрели.

  49. 08:25

    И для этого она должна помнить, что мы посмотрели, и на какой минуте мы прервались, чтобы начать с той же минуты. Допустим, это программа просмотра сериалов.

  50. 08:33

    И, допустим, на 13-й минуте нас последняя серия этого сериала занадоела. И программа сохранила это, чтобы потом продолжить ровно с того места, где нас занадоело.

  51. 08:42

    Давайте положим этот файл конфигурации куда нужно. Создадим его туда, где, допустим, у нас его читает и меняет наша программа. Допустим, у этой программы этот файл называется settings.ini.

  52. 08:59

    Файлы конфигурации часто бывают ини. Например, в Linux или в Android программы держат свои данные, которые нужно долго помнить, именно в файлах.

  53. 09:08

    И поэтому программу можно переписать со всеми её настройками, с компьютера на компьютер. Вот так вот хранятся значения настроек в файле конфигурации.

  54. 09:16

    Но затем Microsoft придумали registry — централизованное место для хранения всех настроек. И в те времена, если мы хотели сделать резервную копию, то нам уже не требовалось делать резервную копию всего жесткого диска, как мы делаем сегодня.

  55. 09:31

    Но тогда были недостатки с местом для резервных копий. Были такие дискетки менее чем полтора мегабайта.

  56. 09:37

    И в те времена, когда мы хотели сделать резервную копию, мы сохраняли только данные программ. И нам уже не надо было искать в каждой папке программ, где именно у неё файлы конфигурации.

  57. 09:46

    Нет же, мы делали резервную копию только registry, стандартного места для всех хранений настроек. Общее соглашение гласит, что там все настройки.

  58. 09:55

    И мы просто сохраняли наше положение в registry и таким образом сохраняли все данные компьютера. а все программы можно заново установить и вернуть данные registry.

  59. 10:04

    А теперь смотрите, где лежит на жёстком диске registry. Он хранится в нескольких файлах. Эти файлы лежат в c Windows System, System32.config.

  60. 10:14

    Вот, вот они, файлы, где хранится registry, когда мы выключаем наш компьютер. И мы ещё разберём, что именно хранится в каждом из них.

  61. 10:23

    И ещё есть в профиле пользователя тоже такие файлы. И вы видите, что все эти файлы registry занимают незначительное место по сравнению со всем жёстким диском.

  62. 10:33

    И поэтому в те времена, когда был изобретён registry, это было спасением. Это позволяло эффективно делать резервное копирование компьютера.

  63. 10:41

    Уже не нужно было копировать весь жёсткий диск. Далее, как мы в программе говорим, что мы хотим хранить значения своих настроек не в каком-то файле конфигурации, который относится лично к нашей программе, а в общем registry.

  64. 10:54

    Для этого программист пишет такого рода строчки. Он объявляет вот такую вот переменную key. Давайте объявим эту переменную здесь,

Полный курс: Курс системных администраторов

Предыдущая лекция: Динамические группы

Следующая лекция: Введение в GPO

Похожие лекции из других курсов

  • Установка DTR реестра - DTR Registry
  • Повышение привилегий Windows 10 - ошибки в правах доступа в Registry

Другие курсы этого направления

  • Курс техников Windows - Поддержка пользователей - Help Desk
  • Системный администратор - Учимся за 3 минуты
  • Собеседование - Системный администратор