
У меня есть диск на 3 ТБ, который я хочу зашифровать. Как только я создаю файловую систему (mkfs.xfs или ext2-4) в зашифрованном разделе, выводится сообщение "Попытка прочитать блок из файловой системы привела к короткому чтению при создании корневого каталога".
Если я не шифрую, эта ошибка не появляется, и я могу использовать диск, как и ожидалось.
Я создал таблицу разделов GPT с помощью parted следующим образом:
# parted /dev/sdb
mklabel gpt
mk primary 0.00TB 3.00TB
quit
Это сработало отлично.
Затем я создал криптоконтейнер и расшифровал его следующим образом:
# cryptsetup luksFormat /dev/sdb
# cryptsetup luksOpen /dev/sdb1 storage
Это тоже сработало.
Теперь я попробовал создать файловую систему:
# mkfs.xfs /dev/mapper/storage
Это привело к следующей ошибке: «Попытка прочитать блок из файловой системы привела к короткому чтению при создании корневого каталога».
Я попытался создать LVM-контейнер и создать крипто-контейнер внутри. Это работает, но после копирования некоторых файлов на диск он падает и сообщает об ошибках ввода-вывода каждый раз, когда я пытаюсь получить к нему доступ.
Я проверил диск на наличие ошибок в Linux и с помощью Seagate-tool в Windows. Ошибок не обнаружено.
Я экспериментировал, создавая крипто-разделы <=2 ТБ, и мне удалось создать файловые системы без ошибок. Но когда я изменяю размер контейнеров, это больше не работает.
решение1
Ошибка была вызвана неисправным диском. Я стирал его несколько раз и, наконец, получил ошибку после 105 ГБ, и диск сломался.
Я получил замену и смог заставить его работать с первой попытки. Также я смог стереть его до последнего бита без ошибки. Последний бит выдал ошибку "недостаточно места на диске". Надежно. Не знаю, стоит ли мне беспокоиться...
Для всех, у кого возникла похожая проблема: вы можете очистить свой диск следующим образом:
# dd if=/dev/zero of=/dev/sdb bs=1M
Убедитесь, что /dev/sdb — правильный диск, вы потеряете все свои данные на нем! Он не должен отображать никаких ошибок и заканчиваться сводкой.