Восстановление файловой системы EXT4 на виртуальном диске TrueCrypt

archive view archive save

hdd-repair-logo1.jpg Когда файловая система виртуального контейнера TrueCrypt повреждена и со всех щелей попёрло - rsync: readlink_stat() failed: Structure needs cleaning (117); /dev/mapper/truecrypt2 is mounted. e2fsck: Cannot continue, aborting.; umount: /dev/mapper/truecrypt2: target is busy.

Проявиться проблема может, например, при синхронизации файлов и директорий:

$ rsync -vurc --delete --include-from='/mnt/src/rsync_include.txt' --exclude='*' '/mnt/src/' '/mnt/dst'
sending incremental file list
rsync: readlink_stat("/mnt/src/os/unix/etc/sysctl.d/README.sysctl") failed: Structure needs cleaning (117)
IO error encountered -- skipping file deletion
 
sent 288,132 bytes received 1,256 bytes 4,486.64 bytes/sec
total size is 306,063,203 speedup is 1,057.62
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]

Где оно замонтировано?

$ mount|grep ext
...
/dev/mapper/truecrypt2 on /mnt/src type ext4 (rw,relatime)

Есть некая прога testdisk, которой предлагается выявлять проблемные участки диска. По-факту она (доступна из апт дебиана) не является полноценной заменой стандартной fsck, но в некоторых случаях может быть весьма полезна

$ apt-cache show testdisk
...
Description-ru: сканирование разделов, восстановление дисков и файлов TestDisk проверяет разделы и загрузочные секторы на ваших дисках. Его применение очень полезно в судебной деятельности для восстановления потерянных разделов. Программа поддерживает:
* DOS/Windows FAT12, FAT16 и FAT32
* NTFS ( Windows NT/2K/XP )
* Linux Ext2 и Ext3
* BeFS ( BeOS )
* дисковые метки BSD ( FreeBSD/OpenBSD/NetBSD )
* CramFS (сжатая файловая система)
* HFS and HFS+, иерархическая файловая система
* JFS, журналируемая файловая система IBM
* Linux Raid
* Linux Swap (версии 1 и 2)
* LVM и LVM2, логические тома Linux
* Netware NSS
* ReiserFS 3.5 и 3.6
* дисковые метки i386 Sun Solaris
* UFS и UFS2 (Sun/BSD/...)
* XFS, журналируемая файловая система SGI
.
В состав пакета также входит утилита PhotoRec для восстановления фотографий в памяти цифровых фотоаппаратов и даже на жёстких дисках. Возможности данной программы расширены для поиска заголовков разных типов, помимо аудио/видео. Программа ищет остатки файлов следующих типов и может отменить их удаление
(то есть может восстановить их):
* аудиоданные Sun/NeXT (.au)
* аудио/видео RIFF (.avi/.wav)
* изображения BMP (.bmp)
* сжатые с помощью программы bzip2 данные (.bz2)
* исходные коды, написанные на C (.c)
* изображения Canon (Raw, файл .crw)
* каталоги Canon (.ctg)
* подпапки FAT
* документы Microsoft Office (.doc)
* файлы Nikon dsc (.dsc)
* страницы HTML (.html)
* изображения JPEG (.jpg)
* видео MOV (.mov)
* аудио MP3 (MPEG ADTS, layer III, v1) (.mp3)
* видео Moving Picture Experts Group (.mpg)
* изображения Minolta (Raw, файл .mrw)
* изображения Olympus Raw (.orf)
* Portable Document Format (.pdf)
* сценарии Perl (.pl)
* изображения в формате Portable Network Graphics (.png)
* изображения в формате Fujifilm RAW (.raf)
* изображения Contax (.raw)
* изображения Rollei (.rdc)
* форматированный текст Rich Text Format (.rtf)
* сценарии оболочки (.sh)
* архивы Tar (.tar )
* Изображение в формате - Tag Image File Format (.tiff)
* аудио Microsoft ASF (.wma)
* изображения Sigma/Foveon X3 Raw (.x3f)
* архивы zip (.zip)

$ apt-get install testdisk

$ ./testdisk_static /dev/mapper/truecrypt2
 
TestDisk 7.2-WIP, Data Recovery Utility, Novembre 2020
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
 
 TestDisk is free software, and
comes with ABSOLUTELY NO WARRANTY.
 
Select a media (use Arrow keys, then press Enter):
>Disk /dev/mapper/truecrypt2 - 4351 MB / 4149 MiB
 
>[Proceed ] [ Quit ]
 
Note: Disk capacity must be correctly detected for a successful recovery.
If a disk listed above has an incorrect size, check HD jumper settings and BIOS
detection, and install the latest OS patches and disk drivers.
 
 
TestDisk 7.2-WIP, Data Recovery Utility, Novembre 2020
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
 
Disk /dev/mapper/truecrypt2 - 4351 MB / 4149 MiB
 
Please select the partition table type, press Enter when done.
 [Intel ] Intel/PC partition
 [EFI GPT] EFI GPT partition map (Mac i386, some x86_64...)
 [Humax ] Humax partition table
 [Mac ] Apple partition map (legacy)
>[None ] Non partitioned media
 [Sun ] Sun Solaris partition
 [XBox ] XBox partition
 [Return ] Return to disk selection
 
Hint: None partition table type has been detected.
 
 
TestDisk 7.2-WIP, Data Recovery Utility, Novembre 2020
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
 
Disk /dev/mapper/truecrypt2 - 4351 MB / 4149 MiB - 8498944 sectors
 
 Partition Start End Size in sectors
> P ext4 0 8498943 8498944
 
 [ Type ] >[Superblock] [ List ] [Image Creation] [ Quit ]
 Locate ext2/ext3/ext4 backup superblock
 
 
TestDisk 7.2-WIP, Data Recovery Utility, Novembre 2020
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
 
Disk /dev/mapper/truecrypt2 - 4351 MB / 4149 MiB - 8498944 sectors
 
 Partition Start End Size in sectors
 
 ext4 0 8498943 8498944
superblock 0, blocksize=4096 []
superblock 32768, blocksize=4096 []
superblock 98304, blocksize=4096 []
superblock 163840, blocksize=4096 []
superblock 229376, blocksize=4096 []
superblock 294912, blocksize=4096 []
superblock 819200, blocksize=4096 []
superblock 884736, blocksize=4096 []
 
To repair the filesystem using alternate superblock, run
fsck.ext4 -p -b superblock -B blocksize device
 
>[ Quit ]
 Return to Advanced menu
 
fsck.ext4 -p -b superblock -B blocksize device

Начались проблемы с fsck.ext4 / umount

$ sudo fsck.ext4 -p -b 32768 -B 4096 /dev/mapper/truecrypt2
or
$ sudo fsck /dev/mapper/truecrypt2
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
/dev/mapper/truecrypt2 is mounted.
e2fsck: Cannot continue, aborting.

umount не арбайтен, /dev/mapper/truecrypt2 оккупирован

$ umount /dev/mapper/truecrypt2
umount: /dev/mapper/truecrypt2: target is busy.

Найти и ликвидировать оккупанта /dev/mapper/truecrypt2:

$ fuser -am /dev/mapper/truecrypt2
/dev/dm-4:           14222c
$ fuser -amk /dev/mapper/truecrypt2
/dev/dm-4:           14222c
$ fuser -am /dev/mapper/truecrypt2
/dev/dm-4:
$ umount /dev/mapper/truecrypt2
$

14222c - убился браузер имевший временные каталоги в контейнере.

Then just run fsck, можно с флагом -y шоб сразу на все вопросы утвердительно ответить:

$ sudo fsck /dev/mapper/truecrypt2
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
/dev/mapper/truecrypt2 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Unattached inode 8358
Connect to /lost+found<y>? yes
Inode 8358 ref count is 2, should be 1.  Fix<y>?
...

Итого должно быть:

$ sudo fsck /dev/mapper/truecrypt2
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
/dev/mapper/truecrypt2: clean, 6201/266112 files, 828251/1062368 blocks
 
$ mount /dev/mapper/truecrypt2 /mnt/src

Готово.

P.S. Подобные проблемы файловых систем обычно возникают при внезапном отключении электричества, некачественных шлейфах на физических жёстких дисках.


Об авторе
АдМинь БагоИскатель
АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.
Ещё статьи автора

Нет комментариев

Вы можете стать первым, кто добавит комментарий к этой записи.

Добавить комментарий

АХТУНГ! Все комменты гостей модерасятся модерастом.
  1. Мессаги исключительно рекламного содержания, либо содержащие только одни оценочные суждения типа "круто" ("отлично", "спасибо", "автор дебил" и т.п.) не публикуются;
  2. Злостным спамерам, пранкерам и прочей сетевой нечисти рекомендуем напрасно не тратить своего времени и удовлетворять свои больные фантазии на специализированных Интернет ресурсах!;
  3. Разумная обоснованная критика, замечания, дополнения приветствуются. Поля помеченные символом * обязательны к заполнению.


Защитный код
Обновить

Комментарии в блоге
Новое на форуме