LINUX.ORG.RU
ФорумAdmin

Восстановить таблицу разделов и xfs-раздел_2


0

1

На данном форуме уже была подобная тема http://www.linux.org.ru/forum/admin/6166512 хотел туда вопрос задать, но видимо тема уже закрыта.

Вопрос следующий,ситуация практически один в один, случайно переразбил диск 2ТБ, на котором был один раздел XFS, testdisk не помог,xfs_repair не помог, как в приведенном выше форуме создал скрипт, этот скрипт уже 4 день пытается методом перебора восстановить раздел, уже перебрал 34 ГБ, и у меня это вызывает сомнения, может ли раздел начинаться не с 63 сектора, а аж с более 83000000 сектора....?(на данный момент проверяется). И еще вопрос, может ли сектор быть другого размера? и соответственно из-за этого не монтироваться раздел??

может ли сектор быть другого размера?

может быть 4k

не монтироваться раздел??

как мне кажется даже если вместо 4к написать 512 то 512 пройдётся в том числе и по границам 4k. Т.е. размеры секторов кратные и 512 перекрывает все возможные случаи.

Только что-то я не вижу опции offset в man mount, там пишут что это опция losetup... Может там надо -o loop добавить(как пишут в интернетах)? А может оно автоматом losetup делает...

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

>-o loop добавить(как пишут в интернетах)? А может оно автоматом losetup делает...

опция loop делает именно это

Pinkbyte ★★★★★ ()

Физически на жестком диске в новых моделях Western Digital и Samsung размер сектора 4 Кб, технология называется advanced format, но в целях совместимости с софтом логически 4 кб секторы представляются как 8 512 байтных секторов, с точки зрения операционной системы ни чего не изменилось, в скрипте указывать надо размер сектора равный 512 байтам.

В приведённом скрипте поиск начинается с 0 сектора (первый 512 байтный блок нулевого 4 кб сектора), этот скрипт просто пытается смонтировать файловую систему с различным смещением от начала диска, если вы просто изменили таблицу разделов, не создавая на новых разделах файловой системы, то скрипт в случае правильного указания типа файловой системы должен в конечном итоге на некотором смещении найти суперблок XFS, указывающий на начало файловой системы и смонтировать её, после чего запомнив номер сектора вы можете с помощью fdisk запсиать правильные границы раздела, удалённого вами. Если вы создали на файловые системы на созданных вами разделах, то найти таким образом файловую систему нельзя, её суперблок затёрт, тут надо наоборот изначально знать правильные границы раздела и уже из копии суперблока, хранящегося где то на разделе его восстановить и потом монтировать.

Так что вспоминайте что делали.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

диск Samsung куплен примерно пол года назад, была изначально поставлена файловая система XFS на весь раздел, параметры не помню.

Слетел раздел следующим образом, стояла убунта, хотел посмотреть openSuse, в процессе установки он отобразил данный диск разбитым на две области, первая 20 ГБ и вторая 1980 ГБ, сразу не разобрался что он хотел сделать с моим диском, но то что его трогать не надо я прекрасно понимал, и поставил в настройках не использовать данные области. Т.е. он их не форматировал, и не монтировал, но каким-то образом умудрился переразбить диск. В данный момент переустановил Ubuntu, области были мной удалены, но для каких - либо операция с ним, я создал один раздел размером с весь диск, не форматировал, никаких операций больше не делал, попробовал testdisk, потом xfs_repair, все что нагуглил, оба неудачно, в данный момент раздел опять удалил, и пробую с помощью скрипта найти раздел XFS. в процессе testdisk находит две области похожие на супер блок,где-то на середине диска, но пишет что восстановить не может.

Только что-то я не вижу опции offset в man mount, там пишут что это >опция losetup... Может там надо -o loop добавить(как пишут в >интернетах)? А может оно автоматом losetup делает...

не вполне понял с опциями, что нужно сделать, но вообще при в данный момент мне в терминале выдается следующее

" sector: 89633872 offset:49048904590814890 (перенабивал с терминала, скопировать не получается, цифры не соответствуют действительности) mount: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error В некоторых случаях полезная информация может быть найдена в syslog - попробуйте dmesg| tail или что-то в этом роде " и так по всем секторам 4 дня.... В программировании не силен, поэтому заранее прошу прощение за возможное непонимание с моей стороны.

SanyaSar ()
Ответ на: комментарий от SanyaSar

Выполни
xxd -g 16 /dev/sda XFSB
и покажи результат
Или открой /dev/sda в hex-посмотрщике
hexedit -s /dev/sda
И ищи строку XFSB или hex-value 5846342
Суть - найти стартовый сектор раздела.

adriano32 ★★★ ()
Ответ на: комментарий от SanyaSar

Значит вы запустили «стандартную дисковую утилиту» создали разметку (создали один раздел) и нажали «apply» (применить), если да, то после нажатия кнопки «применить» запустился процесс создания файловых систем на созданном вами разделе.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

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

SanyaSar ()
Ответ на: комментарий от SanyaSar

Вы нажали кнопку применит после создания раздела ? Если да, то в соответствии с указанным типом раздела будет запущен процесс создания файловой системы, соответствующей типу раздела.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Это же «User Friendly Interface» Ubuntu, вы запустили утилиту для подготовки жесткого диска, раз вы изменилли таблицу разделов, значит после нажатия применить, мы вам запишем эту таблицу на жёсткий диск и создадим на ваших разделах выбранные вами файловые системы, Ubuntu`а думает о вас и за вас. Это всё для того чтобы пользователь не делал лишних действий, если хотите сначала создать таблицу разделов, а уже затем на разделах файловую систему, то используйте консольные утилиты:

fdisk / cfdisk - редактирование таблицы разделов mkfs -t <тип файловой системы> - создание файловых систем.

kostik87 ★★★★★ ()
Ответ на: комментарий от SanyaSar

либо выполняйте через sudo либо зайдите в систему под пользователем root.

kostik87 ★★★★★ ()
Ответ на: комментарий от SanyaSar

Если его не оказалось в начале, значит начало раздел ты потёр уже чем-то.
fdisk -lu /dev/sda покажи сейчас.

>>В данный момент переустановил Ubuntu

Так ты убунту на этот же 2ТБ диск поставил? Прям как создал целиком один раздел, так туда и поставил что ли?

adriano32 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.