cryptsetup: не Может вытереть заголовок на устройстве

Я пытаюсь зашифровать внешний жесткий диск на Ubuntu 14.04 followig это руководство. Я запустил путем форматирования к ext4:

$ sudo mkfs.ext4 /dev/sde1
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
9773056 inodes, 39072470 blocks
1953623 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1193 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done     

И затем возобновлял инициализацию, но она возвращает эту ошибку:

$ sudo cryptsetup -y -v luksFormat /dev/sde1

WARNING!
========
This will overwrite data on /dev/sde1 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase: 
Verify passphrase: 
Cannot wipe header on device /dev/sde1.
Command failed with code 5: Cannot wipe header on device /dev/sde1.

До сих пор я не мог ничто полезное в сети относительно этой ошибки. Какие-либо идеи о том, что может быть неправильным?

Обновление I: ответ на вопросы, поставленные Xen2050. Я работал bablocks в режиме записи до форматирования и никаких ошибок сообщались.

Я попробовал ecryption снова, уделив больше внимания системным сообщениям. Вот dmesg вывод прямо после подключения диска:

$ dmesg
[ 3208.032228] usb 2-1.4: new high-speed USB device number 7 using ehci-pci
[ 3208.140990] usb 2-1.4: New USB device found, idVendor=059f, idProduct=0651
[ 3208.141001] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3208.141024] usb 2-1.4: Product: LaCie Hard Drive USB
[ 3208.141031] usb 2-1.4: Manufacturer: LaCie
[ 3208.141037] usb 2-1.4: SerialNumber: 10000E000BD8A671
[ 3208.177576] usb-storage 2-1.4:1.0: USB Mass Storage device detected
[ 3208.178112] scsi4 : usb-storage 2-1.4:1.0
[ 3208.178183] usbcore: registered new interface driver usb-storage
[ 3209.176917] scsi 4:0:0:0: Direct-Access     SEAGATE  ST3160812A       3.AA PQ: 0 ANSI: 2
[ 3209.177561] sd 4:0:0:0: Attached scsi generic sg2 type 0
[ 3209.181342] sd 4:0:0:0: [sdb] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[ 3209.182337] sd 4:0:0:0: [sdb] Write Protect is off
[ 3209.182348] sd 4:0:0:0: [sdb] Mode Sense: 53 00 00 08
[ 3209.183339] sd 4:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 3209.201618]  sdb: sdb1
[ 3209.229465] sd 4:0:0:0: [sdb] Attached SCSI disk

Затем проверенный это не смонтировано:

$ findmnt /dev/sdb
$ findmnt /dev/sdb1
$

Другая попытка при инициализации:

$ sudo cryptsetup -y -v luksFormat /dev/sdb1

WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase: 
Verify passphrase: 
Cannot wipe header on device /dev/sdb1.
Command failed with code 5: Cannot wipe header on device /dev/sdb1.

Две новых строки обнаруживаются в журнале:

$ tail /var/log/syslog
Dec  8 09:18:20 MekanikDestruktiwKommandoh kernel: [ 3698.016311] end_request: critical target error, dev sdb, sector 0
Dec  8 09:18:28 MekanikDestruktiwKommandoh wpa_supplicant[1188]: wlan0: CTRL-EVENT-SCAN-STARTED 

Что-то кажется идущий не так, как надо с сектором 0, но нисколько не очиститесь что.

Обновление II: Попытка новых предложений Xen2050. Сначала при записи нулей в сектор 0:

$ sudo dd if=/dev/zero of=/dev/sdb1 bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.564427 s, 18.6 MB/s

После этого cryptsetup инициализация все еще перестала работать. wipefs возвраты странное предупреждение:

$ sudo wipefs -a /dev/sdb
wipefs: WARNING: /dev/sdb: appears to contain 'dos' partition table

И по-видимому ничего не делает. Затем работал cryptsetup с debug флаг; это распечатало набор нового материала, но не дает больше информации относительно ошибки:

$ sudo cryptsetup --debug -y -v luksFormat /dev/sdb
# cryptsetup 1.6.1 processing "cryptsetup --debug -y -v luksFormat /dev/sdb"
# Running command luksFormat.
# Locking memory.
# Installing SIGINT/SIGTERM handler.
# Unblocking interruption on signal.

WARNING!
========
This will overwrite data on /dev/sdb irrevocably.

Are you sure? (Type uppercase yes): YES
# Allocating crypt device /dev/sdb context.
# Trying to open and read device /dev/sdb.
# Initialising device-mapper backend library.
# Timeout set to 0 miliseconds.
# Iteration time set to 1000 miliseconds.
# Interactive passphrase entry requested.
Enter passphrase: 
Verify passphrase: 
# Formatting device /dev/sdb as type LUKS1.
# Crypto backend (gcrypt 1.5.3) initialized.
# Topology: IO (512/0), offset = 0; Required alignment is 1048576 bytes.
# Generating LUKS header version 1 using hash sha1, aes, xts-plain64, MK 32 bytes
# Crypto backend (gcrypt 1.5.3) initialized.
# KDF pbkdf2, hash sha1: 356173 iterations per second.
# Data offset 4096, UUID 5fa9c58f-b047-4c9e-a6e8-26a9a433a438, digest iterations 43375
Cannot wipe header on device /dev/sdb.
# Releasing crypt device /dev/sdb context.
# Releasing device-mapper backend.
# Unlocking memory.
Command failed with code 5: Cannot wipe header on device /dev/sdb.
1
задан 13 April 2017 в 15:24

2 ответа

Один товарищ решил это (или очень похожий) ошибка путем ручной записи нулей в первые несколько megs целевого раздела со строкой, подобной этому:

 dd if=/dev/zero of=[target] bs=1M count=2

Или если это - просто проблема FS перезаписи, тогда wipefs, мог бы работать вместо / с вышеупомянутым.

кроме того, другой использовал "-отладка" опция с cryptsetu p для получения большей информации, это стоит попытки сначала.

<час>

"Обновление II" информационных тестов используют/dev/sdb1 и затем/dev/sdb, не уверенный, что это имело бы значение все же.

Другой парень здесь говорит , "у меня были дискеты, карты флэш-памяти и жесткие диски имеют проблемы 'сектора 0', которые были все устранены путем входа в Linux Живой CD и стирания первой сотни секторов или так с dd if=/dev/zero of=/dev/hdN bs=1024 count=1024 "

Этот комментарий отчета об ошибках о другом внешнем жестком диске USB и" end_request: критическая целевая ошибка, dev sdb, сектор 0 ", кажется, говорит, что Ubuntu 12.04 работал, в то время как 14.04 не сделал. Другие говорят , это - вероятно, плохой или несоответствующий источник питания USB или приводящий аппаратные средства к сбою (корпус, провода, жесткий диск)

Так смешанные результаты & совет. У меня не было лучшей удачи с корпусами USB или, я был бы склонен попробовать другой корпус или прямо к desktop/esata кабельному соединению.

1
ответ дан 7 December 2019 в 13:50

Я знаю, что этот вопрос очень стар, но я искал решение для того же сообщения об ошибке, "Не может вытереть заголовок на устройстве" и нашел решение, которое не перечислено здесь: если эти cryptsetup luksFormat вывод также включает следующее:

ПРЕДУПРЕЖДЕНИЕ: смещение Данных за пределами в настоящее время доступного устройства данных.

затем раздел является слишком небольшим.

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

кажется, что с cryptsetup 2.1.0, заголовок LUKS поднимает чуть менее чем 16 МиБ (см. ниже для деталей), таким образом, размер раздела должен 16 МиБ + размер ключа , Вы хотите сохранить в нем (3 МиБ, сказать).

Для иллюстрации, с разделом на 8 МиБ, я видел следующую ошибку:

$ sudo cryptsetup luksFormat ${/dev/keypartition} --debug
[...]
# Formatting LUKS2 with JSON metadata area 12288 bytes and keyslots area 16744448 bytes.
[...]
WARNING: Data offset is outside of currently available data device.
Device wipe error, offset 8388608.
Cannot wipe header on device /dev/sda2.

Примечание, что 12 288 байтов + 16 744 448 байтов = 15,98 мебибайт.

С размером /dev/sda2 увеличенный до 19 МиБ, я успешно настроил его как раздел LUKS.

Примечание: cryptsetup luksFormat также работал с dev/sda2 на уровне 16 МиБ, но последующее cryptsetup luksOpen отказавший с [1 122]

Требуемое смещение вне реального размера устройства/dev/sda2.

Увеличение /dev/sda2 далее к 32 МиБ устранило эту проблему, но когда я пытался использовать раздел в качестве файла ключей, cryptsetup luksFormat --key-file=/dev/mapper/<mountpoint of /dev/sda2> <device to encrypt> отказавший с [1 124]

, Максимальный размер файла ключей превысил.

существует два решения этого: (1) установите размер раздела, содержащего для манипулирования к 16 МиБ + размер файла ключей, гарантирующий, что размер файла ключей является меньше, чем максимум; (2) используйте --keyfile-size опция так cryptsetup luksFormat только использование некоторая часть файла ключей.

1
ответ дан 7 December 2019 в 13:50

Другие вопросы по тегам:

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