В Linux нет единого «HWID» в том виде, как в Windows. Нет одного аналога MachineGuid — каждый дистрибутив и каждое приложение читают идентификаторы немного по-своему.
Что на самом деле читает Linux-софт
Чаще всего речь идёт о таких идентификаторах: machine-id (создаётся при установке системы), данные SMBIOS/DMI, которые отдаёт ядро, MAC-адреса сетевых интерфейсов и серийники дисков. Большинству повседневного Linux-софта — браузерам, Steam, играм через Proton — на деле важны только MAC и machine-id; более глубокие значения читаются, но редко используются как жёсткий якорь.
Как их менять
Поскольку Linux открыт, большинство из них можно изменить штатными средствами — регенерация machine-id и новый MAC покрывают подавляющее большинство случаев, и это действительно несколько команд, а не отдельное приложение. Исключение — значения уровня прошивки вроде SMBIOS UUID: они лежат ниже операционной системы и так не меняются, ровно как и в Windows.
FAQ
Есть ли в Linux «Machine GUID», как в Windows?
Да — это /etc/machine-id, который генерирует systemd при установке. Он играет ту же роль для софта, привязанного к конкретной машине, и при чистой установке создаётся заново. Формат отличается (32 hex-символа), а идея та же.
Поможет ли подмена MAC в Linux уйти от античитов?
В основном вопрос академический: почти все kernel-античиты — Vanguard, EAC, BattlEye, Javelin — на Linux не работают вовсе. Под Proton большинство из них отказывается запускаться. Там, где EAC под Proton всё-таки запускается, MAC — один из множества идентификаторов, как и в Windows.
Steam Deck использует другую HWID-схему?
Steam Deck работает на SteamOS, которая — Linux. У него та же концепция /etc/machine-id и те же прошивочные идентификаторы (SMBIOS UUID, серийник материнки), что и у любого ПК. Отличается то, что некоторые kernel-античиты отказываются работать на SteamOS вне зависимости от значений идентификаторов — это стена совместимости, не вопрос отпечатка.
Может ли Proton подсунуть Windows-игре поддельный HWID?
Нет. Proton переводит Windows-API в Linux-эквиваленты на уровне пользователя — он не запускает kernel-драйверы. HWID-чейнджер в стиле Windows (которому нужен kernel-доступ) внутри Proton не работает. Игры, читающие HWID через WMI под Proton, получают идентификаторы базовой Linux-машины, проброшенные через мост wine.
Почему HWID-чейнджеры не выходят под Linux?
Две причины. Во-первых, аудитория маленькая — большинство kernel-античитов на Linux и так не работают, и подменять идентификаторы, которых игра не увидит, смысла мало. Во-вторых, Linux раскрывает другой набор идентификаторов (machine-id, kernel boot ID, материнка через DMI, MAC-и сетёвок), так что Windows-инструмент напрямую не применим.
Итог
Контроль HWID в Linux куда менее агрессивен, чем в Windows — античитов меньше, и читают они меньше. Для большинства задач в Linux смены MAC и machine-id — это вся «смена HWID», которая вам нужна.
