Я пытаюсь зашифровать внешний жесткий диск на 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.
Один товарищ решил это (или очень похожий) ошибка путем ручной записи нулей в первые несколько 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 кабельному соединению.
Я знаю, что этот вопрос очень стар, но я искал решение для того же сообщения об ошибке, "Не может вытереть заголовок на устройстве" и нашел решение, которое не перечислено здесь: если эти 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
только использование некоторая часть файла ключей.