невозможно загрузиться с GRUB после установки arch-linux

rm будет запрашивать подтверждение для незаписываемых целей, если stdin - терминал. С другой стороны, флаг -i включает подтверждение для всех целей. Очевидно, что ни то, ни другое не работает с простым решением, заключающимся в пересылке yes n в rm, поэтому мы должны использовать что-то другое.

Используя GNU find, удалите все объекты, у которых установлен хотя бы один из битов режима записи (как обычно, сначала для проверки используйте -print вместо -delete):

find dir/ -perm /0222 -delete

Или удалите все файлы(*), у которых установлен хотя бы один бит режима записи, но пропустите содержимое каталогов без возможности записи:

find . -type d ! -perm /0222 -prune -o ! -type d -perm /0222 -exec rm {} + 

(* фактически все, кроме каталогов)

-delete подразумевает поиск в глубину (по крайней мере, в GNU find), и не работает с -prune, поэтому мы не можем использовать его здесь. После этого мы можем удалить пустые каталоги с возможностью записи:

find . -type d -perm /0222 -delete

Это приведет к ошибкам для непустых каталогов.

-perm /0222 означает "любой из битов записи установлен", и его инверсия ! -perm /0222 означает "ни один из битов записи не установлен".

В других версиях find используйте +0222 вместо /0222. (Согласно manpage GNU, первый вариант противоречит требованиям POSIX и был устаревшим.)


Для поиска файлов и каталогов, не подлежащих записи, мы можем аналогично использовать

find . ! -perm /0222 

Рекурсивное перечисление содержимого каталогов, не подлежащих записи, немного сложнее, но с помощью инструментов GNU это может сработать:

find . ! -perm /0222 -print0 | xargs -0 find 
1
01.01.2016, 01:26
1 ответ

https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#Configuring_the_boot_loader

Пожалуйста, прочтите раздел Arch wiki выше.

Во-первых, вам нужно добавить хук encrypt и lvm2 в mkinitcpio.conf, а затем запустить:

mkinitcpio -p linux

Во-вторых, нам нужно позволить grub расшифровать диск в продвижение процесса загрузки.

Ниже я процитировал детали из Arch wiki:

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

cryptdevice=UUID=device-UUID:lvm root=/dev/mapper/MyVol-root
The <device-UUID> refers to the UUID of /dev/sdaX

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

1
27.01.2020, 23:49

Теги

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