Шифрование полного диска с двойной загрузкой Windows / Linux

Просто дополнение к прекрасному ответу Заксе .

Есть две проблемы:

LC_NUMERIC=en_US.UTF-8 watch -n 0.1 w

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

  1. Это не работает, если установлен LC_ALL . LC_ALL переопределяет все остальные настройки локали, включая LC_NUMERIC .Чтобы обойти эту проблему, можно использовать:

     LC_ALL = en_US.UTF-8 watch -n 0.1 w 
     

    , но тогда второй пункт ниже будет еще хуже

  2. команда, запущенная часы (в данном случае w ) наследуют LC_NUMERIC . Таким образом, вместо вывода чисел в формате, ожидаемом пользователем, он будет выводить их в формате английского языка (США).

В идеале мы бы хотели, чтобы часы запускали w каждую десятую долю секунды (независимо от локали пользователя), не влияя на поведение команды w (которая всегда должен давать вывод, понятный пользователю в его собственной локали).

С оболочкой yash вы можете сделать это с помощью:

 watch -n "$((0.1))" w

yash - одна из 3-х оболочек Борна, поддерживающих арифметику с плавающей запятой (другие - zsh и кш93 ). Однако это единственный, который правильно выполняет интернационализацию. zsh всегда использует . как десятичный знак, а ksh93 учитывает значение из события локали во внутреннем синтаксисе.

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

Еще один прием, который вы можете использовать здесь, - это полностью отказаться от ввода десятичной метки, используя научную нотацию:

watch -n 1e-1 w

Или вы можете запросить десятичную метку из локали:

m=$(locale decimal_point)
watch -n "0${m}1" w

7
12.05.2019, 23:45
2 ответа

Вам нужно будет использовать разные системы шифрования Windows/Linux, а затем использовать общий раздел данных с veracrypt и, возможно, жиром или ntfs (насколько я знаю, для окон больше нет драйвера ext из-за принудительных подписей драйверов. NTFS - не лучший выбор для Linux, но может иметь преимущества в Windows).

Если вы хотите зашифровать Windows с помощью veracrypt, вам нужно установить его в раздел, а не в раздел загрузчика жесткого диска, и загрузить его из grub.

Другим вариантом, который может быть проще, является FDE для одной системы и помещение другой (с FDE или без) в виртуальную машину.

3
27.01.2020, 20:19

Программное обеспечение для шифрования работает внутри операционной системы. Вы не можете загрузить программное обеспечение для шифрования диска перед операционной системой. Может существовать программное обеспечение с одинаковым именем, которое работает как в Linux, так и в Windows (например, TrueCrypt/VeraCrypt), но это не один и тот же код. Таким образом, код шифрования не может быть загружен до Grub. Его можно загрузить только после того, как вы выбрали операционную систему и она начала загружаться.

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

Просто введите свой пароль, когда ОС попросит вас, после приглашения Grub. В любом случае вам нужно ввести его только один раз за загрузку.

Шифрование дисков работает совершенно по-разному в Windows и Linux. Проще всего сделать это во время установки, однако в Linux вы можете использовать luksipc (см. Есть ли какие-либо утилиты или процедуры, доступные для dm-шифрования моих существующих живых данных, чтобы сделать полный диск? шифрование). Если вы используете luksipc, то для настройки шифрования в Linux вам потребуется запустить sudo update-grub и sudo update-initramfs, иначе ваша система не загрузится. Имейте под рукой аварийный диск, потому что легко сделать ошибку и получить не загружаемую систему.

2
27.01.2020, 20:19

Теги

Похожие вопросы