Я случайно удалил все файлы в /
, моя система больше не запускается. Папки и ссылки все еще там, кажется, ничего не потеряно. но «паника ядра не синхронизируется, не удается смонтировать root fs» после того, как grub попытался запустить систему.
Полностью зашифрованная система xubuntu 12.04, шифрование в порядке, доступно с помощью функции спасения. Пробовал несколько вещей с помощью спасения и установил новую систему на другом разделе, чтобы вручную скопировать удаленные файлы. но никаких дополнительных файлов там нет. Может быть, файлы, которые появляются только в зашифрованной системе?
Мне нужен способ для восстановления моей системы (недостающие файлы?)
И способ чтобы загрузить его снова, так как мне пришлось установить grub в MBR для системы в другом разделе (иначе не получилось, установка / спасение / ubuntu стала нелепой).
Хорошо, если то, что вы говорите в комментариях, верно, вы использовали shred *
с пользователем root (единственный способ сделать это). Но сначала давайте прочитаем руководство:
ОПИСАНИЕ: несколько раз перезаписывайте указанные ФАЙЛ (-ы), чтобы затруднить даже очень дорогостоящее аппаратное зондирование для восстановления данных.
blockquote>Итак, что вы сделали. Вы просто заменили содержимое файлов (не сами файлы) мусором:
braiam@bt:~/lab$ touch file1 file2 file3 braiam@bt:~/lab$ ls file1 file2 file3 braiam@bt:~/lab$ cat * braiam@bt:~/lab$ braiam@bt:~/lab$ shred * braiam@bt:~/lab$ cat * VXK��6z�z�-K� Eˎ�F��O�č��ؖɄw����Pw(R�����xd/���O��2����lD�y�0��8Gй�4Q�k�7��ݤ ## Actually there was more garbage here, but it would make this answer too long.
Да, последняя строка - это «содержимое» когда-то пустых файлов. Вот почему, когда вы проверяете файлы, они все еще там, но все содержимое в беспорядке.
К счастью, Шред не может открывать каталоги:
braiam@bt:~/lab$ mkdir dir braiam@bt:~/lab$ mkdir dir1 braiam@bt:~/lab$ mkdir dir2 braiam@bt:~/lab$ ls dir dir1 dir2 file1 file2 file3 braiam@bt:~/lab$ touch dir/file2 braiam@bt:~/lab$ touch dir1/file2 braiam@bt:~/lab$ touch dir2/file2 braiam@bt:~/lab$ shred * shred: dir: failed to open for writing: Is a directory shred: dir1: failed to open for writing: Is a directory shred: dir2: failed to open for writing: Is a directory braiam@bt:~/lab$ cat dir/file2 braiam@bt:~/lab$
Итак, все, что было ниже
/*/
, безопасно. Это оставляет нас с вопросом, что именно тогда вы испортили?$ ls -p / | grep -v / 0 initrd.img vmlinuz
(я действительно не знаю, что делает этот файл с именем 0 там, но позволяет игнорировать его)
Итак, вы перепутали
initrd.img
, который в моем случае связан сinitrd.img -> /boot/initrd.img-3.10-1-686-pae
, иvmlinuz
, который в моем случае связан сvmlinuz -> boot/vmlinuz-3.10-1-686-pae
.dpkg -S
сообщит нам, какие пакеты имеют эти файлы:$ dpkg -S boot/vmlinuz-3.10-1-686-pae linux-image-3.10-1-686-pae: /boot/vmlinuz-3.10-1-686-pae $ dpkg -S initrd.img-3.10-1-686-pae dpkg-query: no path found matching pattern *initrd.img-3.10-1-686-pae*
Как вы можете видеть, файл vmlinuz * находится внутри
linux-image-3.10-1-686-pae
, поэтому простой переустановки в среде chroot должно быть достаточно. Для initrd.img все сложно, и потребуется использованиеmkinitramfs
или, более конкретно,update-initramfs
:$ update-initramfs -h Usage: /usr/sbin/update-initramfs [OPTION]... Options: -k [version] Specify kernel version or 'all' -c Create a new initramfs -u Update an existing initramfs -d Remove an existing initramfs -t Take over a custom initramfs with this one -b Set alternate boot directory -v Be verbose -h This message
При вызове
update-initramfs
в изолированной среде, вероятно, вы получите ваш система снова.