Я пытаюсь сохранить данные из системы, которая раньше использовалась на крошечной USB-флешке, но подозреваю, что это аппаратный сбой. Система вышла из приостановки с корневой файловой системой в режиме только для чтения, и вместо того, чтобы понимать, что она вот-вот умрет, и что я должен попытаться сохранить некоторые данные, я выбрал быструю перезагрузку, но с тех пор не смог получить вернуться в нее любым способом.
Это Ubuntu 18.04 с зашифрованной корневой файловой системой, выбранной во время его установки, поэтому я полагаю, что это LUKS. Если я попытаюсь загрузиться в него сейчас, я получаю фиолетовый экран, затем сообщение об ошибке, затем я получаю приглашение (initramfs)
. Я пытался вручную выполнить fsck файловой системы в соответствии с инструкциями здесь , но продолжаю получать ошибки ввода-вывода следующего типа,
Ошибка ввода-вывода буфера на dev dm-1, логический блок 4, потеря страницы асинхронной записи
и
print_req_error: критическая ошибка цели, dev sda, сектор 9896192, флаги 801
.
Он заканчивается на
fsck.ext4: невозможно установить флаги суперблока на / dev / mapper / ubuntu - vg-root
,
И сообщая мне, что файловая система все еще имеет ошибки. Я попытался указать резервные суперблоки, но безуспешно.
Теперь я попытался вставить флешку в исправную систему, расшифровать и смонтировать ее и посмотреть, смогу ли я еще что-нибудь спасти. Когда вставляю флешку, мне предлагается ввести ключ, и, очевидно, он его расшифровывает, см. Системный журнал:
Dec 21 03:38:42 X1 kernel: [36919.500937] usb 2-1: new SuperSpeed Gen 1 USB device number 3 using xhci_hcd
Dec 21 03:38:42 X1 kernel: [36919.521737] usb 2-1: New USB device found, idVendor=0781, idProduct=5583, bcdDevice= 1.00
Dec 21 03:38:42 X1 kernel: [36919.521742] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 21 03:38:42 X1 kernel: [36919.521745] usb 2-1: Product: Ultra Fit
Dec 21 03:38:42 X1 kernel: [36919.521748] usb 2-1: Manufacturer: SanDisk
Dec 21 03:38:42 X1 kernel: [36919.521751] usb 2-1: SerialNumber: 4C530001210812112290
Dec 21 03:38:42 X1 kernel: [36919.523118] usb-storage 2-1:1.0: USB Mass Storage device detected
Dec 21 03:38:42 X1 kernel: [36919.523697] scsi host1: usb-storage 2-1:1.0
Dec 21 03:38:42 X1 mtp-probe: checking bus 2, device 3: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-1"
Dec 21 03:38:42 X1 mtp-probe: bus: 2, device: 3 was not an MTP device
Dec 21 03:38:42 X1 upowerd[1354]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0
Dec 21 03:38:42 X1 upowerd[1354]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-1
Dec 21 03:38:43 X1 kernel: [36920.553722] scsi 1:0:0:0: Direct-Access SanDisk Ultra Fit 1.00 PQ: 0 ANSI: 6
Dec 21 03:38:43 X1 kernel: [36920.554585] sd 1:0:0:0: Attached scsi generic sg1 type 0
Dec 21 03:38:43 X1 kernel: [36920.554754] sd 1:0:0:0: [sdb] 489160704 512-byte logical blocks: (250 GB/233 GiB)
Dec 21 03:38:43 X1 kernel: [36920.555633] sd 1:0:0:0: [sdb] Write Protect is on
Dec 21 03:38:43 X1 kernel: [36920.555641] sd 1:0:0:0: [sdb] Mode Sense: 43 00 80 00
Dec 21 03:38:43 X1 kernel: [36920.555952] sd 1:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Dec 21 03:38:43 X1 kernel: [36920.566040] sdb: sdb1 sdb2 < sdb5 >
Dec 21 03:38:43 X1 kernel: [36920.568791] sd 1:0:0:0: [sdb] Attached SCSI removable disk
Dec 21 03:38:43 X1 kernel: [36920.961099] EXT4-fs (sdb1): INFO: recovery required on readonly filesystem
Dec 21 03:38:43 X1 kernel: [36920.961100] EXT4-fs (sdb1): write access unavailable, cannot proceed (try mounting with noload)
Dec 21 03:38:43 X1 gnome-shell[1828]: Unable to mount volume 767 MB Volume: Gio.IOErrorEnum: Error mounting /dev/sdb1 at /media/peter/0b776e27-d039-4fc5-ad20-462e5e36e031: cannot mount /dev/sdb1 read-only
Dec 21 03:38:50 X1 gnome-shell[1828]: Unable to mount volume 250 GB Encrypted: Gio.IOErrorEnum: Operation was cancelled
Dec 21 03:38:50 X1 udisksd[1004]: Unlocked LUKS device /dev/sdb5 as /dev/dm-3
Теперь
$ sudo fsck /dev/dm-3 -y
fsck from util-linux 2.31.1
Больше ничего. Не уверен, хорошие это новости или плохие, или, может быть, я ошибаюсь. Просто пытаясь смонтировать его, я получаю неизвестный тип файловой системы «LVM2_member».
Следующее также не помогает:
$ udisksctl mount -b /dev/dm-3
Object /org/freedesktop/UDisks2/block_devices/dm_2d3 is not a mountable filesystem.
Я до сих пор не совсем понимаю, как работают LVM и LUKS, и не знаю, насколько сломана флешка. Что я могу попробовать дальше?
РЕДАКТИРОВАТЬ: Я делаю еще одну попытку попасть на диск, вставив его в исправную систему. У меня спрашивают пароль, система явно расшифрована.
Jan 4 13:15:59 X1 kernel: [258125.811027] usb 2-2: new SuperSpeed Gen 1 USB device number 6 using xhci_hcd
Jan 4 13:15:59 X1 kernel: [258125.835919] usb 2-2: New USB device found, idVendor=0781, idProduct=5583, bcdDevice= 1.00
Jan 4 13:15:59 X1 kernel: [258125.835924] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 4 13:15:59 X1 kernel: [258125.835927] usb 2-2: Product: Ultra Fit
Jan 4 13:15:59 X1 kernel: [258125.835930] usb 2-2: Manufacturer: SanDisk
Jan 4 13:15:59 X1 kernel: [258125.835933] usb 2-2: SerialNumber: 4C530001210812112290
Jan 4 13:15:59 X1 kernel: [258125.837229] usb-storage 2-2:1.0: USB Mass Storage device detected
Jan 4 13:15:59 X1 kernel: [258125.837738] scsi host1: usb-storage 2-2:1.0
Jan 4 13:15:59 X1 mtp-probe: checking bus 2, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2"
Jan 4 13:15:59 X1 mtp-probe: bus: 2, device: 6 was not an MTP device
Jan 4 13:15:59 X1 upowerd[1314]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0
Jan 4 13:15:59 X1 upowerd[1314]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-2
Jan 4 13:16:00 X1 kernel: [258126.856090] scsi 1:0:0:0: Direct-Access SanDisk Ultra Fit 1.00 PQ: 0 ANSI: 6
Jan 4 13:16:00 X1 kernel: [258126.856856] sd 1:0:0:0: Attached scsi generic sg1 type 0
Jan 4 13:16:00 X1 kernel: [258126.856963] sd 1:0:0:0: [sdb] 489160704 512-byte logical blocks: (250 GB/233 GiB)
Jan 4 13:16:00 X1 kernel: [258126.857870] sd 1:0:0:0: [sdb] Write Protect is on
Jan 4 13:16:00 X1 kernel: [258126.857875] sd 1:0:0:0: [sdb] Mode Sense: 43 00 80 00
Jan 4 13:16:00 X1 kernel: [258126.858195] sd 1:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Jan 4 13:16:00 X1 kernel: [258126.867874] sdb: sdb1 sdb2 < sdb5 >
Jan 4 13:16:00 X1 kernel: [258126.869975] sd 1:0:0:0: [sdb] Attached SCSI removable disk
Jan 4 13:16:00 X1 kernel: [258127.138645] EXT4-fs (sdb1): INFO: recovery required on readonly filesystem
Jan 4 13:16:00 X1 kernel: [258127.138646] EXT4-fs (sdb1): write access unavailable, cannot proceed (try mounting with noload)
Jan 4 13:16:00 X1 gnome-shell[1852]: Unable to mount volume 767 MB Volume: Gio.IOErrorEnum: Error mounting /dev/sdb1 at /media/peter/0b776e27-d039-4fc5-ad20-462e5e36e031: cannot mount /dev/sdb1 read-only
Jan 4 13:16:03 X1 systemd-resolved[924]: Got packet on unexpected IP range, refusing.
Jan 4 13:16:03 X1 systemd-resolved[924]: Got packet on unexpected IP range, refusing.
Jan 4 13:16:05 X1 gnome-shell[1852]: Unable to mount volume 250 GB Encrypted: Gio.IOErrorEnum: Operation was cancelled
Jan 4 13:16:05 X1 udisksd[1095]: Unlocked LUKS device /dev/sdb5 as /dev/dm-3
Если я попытаюсь смонтировать / dev / dm-3, я получу только.
неизвестный тип файловой системы 'LVM2_member'.`
lvmdiskscan показывает мне объем:
/ dev / mapper / luks-477637dc-44d2-4076-9519-194cc4bf46c6 [232,53 ГиБ] Физический том LVM
Но lvs
или lvscan
не показывает мне ничего, связанного с USB-флешкой.
Я предполагаю, что он дал сбой и перешел в своего рода режим только для чтения. Интересно, есть ли способ смонтировать корневой раздел / dev / sdb5 только для чтения, чтобы попытаться извлечь из него кое-что? Может быть, я мог бы dd / dev / dm-3
где-нибудь еще и попытаться смонтировать его?
Для справки:
Наконец я сделал еще одну попытку сохранить данные в зашифрованном разделе на умирающей USB-флешке, которая, по-видимому, перешла в режим только для чтения, что сделало это невозможным (по крайней мере, пока как я мог видеть), чтобы смонтировать фактический раздел. Вставка флешки в USB-порт по-прежнему приводила к отображению запроса пароля, и раздел расшифровывался, но не мог монтироваться. Таким образом, копирование расшифрованного образа в целом, а затем его установка в качестве устройства обратной связи оказалось правильным решением:
sudo dd if = / dev / dm-3 of = tmp / oldstick status = progress
что заняло около 8 часов для примерно 250 ГБ. Затем вновь скопированное изображение нужно было соединить с устройством обратной связи.
sudo losetup --all
показал, что все до / dev / loop17
уже использовалось, поэтому нужно взять номер 18:
sudo losetup / dev / loop18 tmp / oldstick
После этого он появился в выводе sudo pvs
, но с тем же VG, что и текущая работающая система. Несколько попыток при разных вызовах vgrename
, затем я обнаружил vgimportclone
. Снова несколько неудачных попыток, успешной была
sudo vgimportclone -i / dev / loop18
, после чего она появилась в выводе sudo pvs
как ubuntu -vg1
.
sudo vgchange -ay ubuntu-vg1
затем активирует этот том, а sudo lvscan
затем, среди прочего, выведет следующую строку:
ACTIVE '/ dev / ubuntu-vg1 / root '[231,57 ГиБ] наследовать
, который затем указал мне, какое устройство мне действительно придется использовать в качестве аргумента для команды монтирования, так что после нескольких неудачных попыток
sudo mount -o ro / dev / ubuntu-vg1 / root tmp / oldroot /
наконец вернул меня в мою старую систему.
Источником вдохновения для этого подхода стала здесь .