LINUX.ORG.RU
ФорумAdmin

В продолжение темы об удалённом /dev/sdb


0

0

После успешного восстановления /dev/sdb (здесь), обнаружил гораздо более печальное - оказалось, что во время этих «тренировок» удалил на диске раздел sda1, где находился /boot..
Напомню, система Fedora-6.
В самом /boot был виден один файл, с каким-то бредовым именем. Попытался перемонтировать - в результате получил

mount /dev/sda1 /boot
mount: вы должны указать тип файловой системы
Ну оно и понятно, т.к. в данный момент в sda1 находится swap, которая должна быть в sda2.. Сейчас картина такая:
fdisk -l /dev/sda

Диск /dev/sda: 250.0 ГБ, 250059350016 байт
255 heads, 63 sectors/track, 30401 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *          39        1058     8193150   82  Linux своп / Solaris
/dev/sda2            1059        3608    20482875   83  Linux
/dev/sda3            3609       30401   215214772+   f  W95 расшир. (LBA)
/dev/sda5            3609       30401   215214741   8e  Linux LVM
Откуда-то ещё в sda3 вылез «W95 расшир. (LBA)»..
TestDisk 6.8, Data Recovery Utility, August 2007
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda - 250 GB / 232 GiB - CHS 30401 255 63
Current partition structure:
     Partition                  Start        End    Size in sectors

 1 * Linux Swap              38   0  1  1057 254 63   16386300
 2 P Linux                 1058   0  1  3607 254 63   40965750 [/]
 3 E extended LBA          3608   0  1 30400 254 63  430429545
 5 L Linux LVM             3608   1  1 30400 254 63  430429482


*=Primary bootable  P=Primary  L=Logical  E=Extended  D=Deleted
[Proceed ]  [ Backup ]
                            Try to locate partition
Жму Search, пока идёт скан /boot виден и правильного размера (300Мб):
TestDisk 6.8, Data Recovery Utility, August 2007
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda - 250 GB / 232 GiB - CHS 30401 255 63
Analyse cylinder  5661/30400: 18%


  Linux                    0   0  1    37 253 56     610400 [/boot]
  Linux Swap              38   0  1  1057 254 43   16386280
  Linux                 1058   0  1  3607 254 57   40965744 [/]
  Linux                 1058   0  1  3607 254 57   40965744 [/]
  Linux LVM             3608   1  1 30400 248 57  430429098
  HPFS - NTFS           3825   0  1 30271 254 63  424871055
По окончанию он исчезает, картина такая:
TestDisk 6.8, Data Recovery Utility, August 2007
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda - 250 GB / 232 GiB - CHS 30401 255 63
     Partition               Start        End    Size in sectors
* Linux Swap              38   0  1  1057 254 63   16386300
P Linux                 1058   0  1  3607 254 63   40965750 [/]
D Linux LVM             3608   1  1 30400 254 63  430429482
D HPFS - NTFS           3825   0  1 30271 254 63  424871055
Если в testdisk выбрать type partition None:
TestDisk 6.8, Data Recovery Utility, August 2007
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda - 250 GB / 232 GiB - CHS 30401 255 63
     Partition               Start        End    Size in sectors
P ext3                     0   0  1    37 253 56     610400 [/boot]
P Linux SWAP 2            38   0  1  1057 254 43   16386280
P ext3                  1058   0  1  3607 254 57   40965744 [/]
P Linux LVM2            3608   1  1 30400 248 57  430429098[/boot]
И в /boot видны «нормальные» файлы:
   P ext3                     0   0  1    37 253 56     610400 [/boot]
Use Right arrow to change directory, q to quit
Directory /

drwxr-xr-x     0     0      1024  9-Jul-2010 22:46 .
drwxr-xr-x     0     0      1024  9-Jul-2010 22:46 ..
drwx------     0     0     12288 10-Apr-2007 13:06 lost+found
?rwS--s--x     0 53180   5083156606001020928  8-Jun-1912 13:51 grub
-rw-------     0     0   1566126 10-Apr-2007 13:11 initrd-2.6.18-1.2798.fc6.img
-rw-r--r--     0     0    887248 16-Oct-2006 22:49 System.map-2.6.18-1.2798.fc6
-rw-r--r--     0     0     70411 16-Oct-2006 22:49 config-2.6.18-1.2798.fc6
-rw-r--r--     0     0     95207 16-Oct-2006 22:49 symvers-2.6.18-1.2798.fc6.gz
-rw-r--r--     0     0   1815804 16-Oct-2006 22:49 vmlinuz-2.6.18-1.2798.fc6
lrwxrwxrwx     0     0        28  7-Sep-2008 22:25 vmlinuz
lrwxrwxrwx     0     0        31  7-Sep-2008 22:25 System.map
-rw-r--r--     0     0    886163 23-Apr-2007 10:54 System.map-2.6.182.6.18-2307.fc6-i686
-rw-r--r--     0     0   1848946 23-Apr-2007 10:54 vmlinuz-2.6.182.6.18-2307.fc6-i686
-rw-r--r--     0     0   1733200 14-Jul-2007 22:33 vmlinuz-2.6.22.1
-rw-r--r--     0     0    962223 14-Jul-2007 22:33 System.map-2.6.22.1
-rw-------     0     0   1427394 14-Jul-2007 22:33 initrd-2.6.22.1.img
.....
Правда, grub как-то странно выглядит, но возможно это из-за того, что это /grub
Но записать эту структуру testdisk отказывается
Write isn't available because the partition table type "None" has been selected.
Собственно вопрос: возможно ли как-то записать на диск текущую таблицу разделов, которую в настоящий момент использует ядро?
Машину не ребутал, предполагаю, что после ребута придет ко мне «толстая полярная лисичка».. :( Пытаюсь вспомнить структуру диска, но получается плохо.. Вроде бы должно быть LVM, в котором еще несколько разделов
ls /dev/mapper
control  Users-dbs  Users-ftp  Users-usr  Users-var


P.S. gpart показывает тоже что-то странное:
gpart /dev/sda

Begin scan...
Possible partition(Linux swap), size(8001mb), offset(298mb)
Possible extended partition at offset(28302mb)
   Possible partition(Windows NT/W2K FS), size(207456mb), offset(30004mb)
End scan.

Checking partitions...
Partition(Linux swap or Solaris/x86): primary
Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary
Ok.

Guessed primary partition table:
Primary partition(1)
   type: 130(0x82)(Linux swap or Solaris/x86)
   size: 8001mb #s(16386296) s(610470-16996765)
   chs:  (38/0/1)-(1023/254/63)d (38/0/1)-(1057/254/59)r

Primary partition(2)
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 207456mb #s(424871048) s(61448625-486319672)
   chs:  (1023/254/63)-(1023/254/63)d (3825/0/1)-(30271/254/56)r

Primary partition(3)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(4)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
3-я и 4-я партиции нулевого размера..
Что я там там натворил и есть ли шансы вылечить все до ребута, или срочно бекапить оставшее в живых и готовиться к установке заново?


Re: В продолжение темы об удалённом /dev/sdb

Цитируем KovAl

срочно бекапить оставшее в живых

Это в любом случае :)

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

sfdisk -d /dev/sda >table

sfdisk /dev/sdb <table

В моём случае, скорее всего не поможет..

sfdisk -l /dev/sda

Диск /dev/sda: 30401 цилиндров, 255 головок, 63 секторов/дорожку
Единицы = цилиндры по 8225280 байт, блоки по 1024 байт, начиная с 0

  Устр-во Загр   Нач   Конец    #цил     #блоки   Id  Система
/dev/sda1   *     38    1057    1020    8193150   82  Linux своп / Solaris
/dev/sda2       1058    3607    2550   20482875   83  Linux
/dev/sda3       3608   30400   26793  215214772+   f  W95 расшир. (LBA)
/dev/sda4          0       -       0          0    0  Пустой
/dev/sda5       3608+  30400   26793- 215214741   8e  Linux LVM
sfdisk -d /dev/sda > table.sda
cat table.sda
# таблица разделов /dev/sda
unit: sectors

/dev/sda1 : start=   610470, size= 16386300, Id=82, bootable
/dev/sda2 : start= 16996770, size= 40965750, Id=83
/dev/sda3 : start= 57962520, size=430429545, Id= f
/dev/sda4 : start=        0, size=        0, Id= 0
/dev/sda5 : start= 57962583, size=430429482, Id=8e
Те же яйца, только в профиль... :(

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

Попробовал fdisk-ом в sda4 создать раздел, сделал пересортировку (в «expert mode» - «f закрепление порядка разделов»), перебросил флаг загрузки.
Сейчас в fdisk sda выглядит так:

Диск /dev/sda: 250.0 ГБ, 250059350016 байт
255 heads, 63 sectors/track, 30401 cylinders
Единицы = цилиндры по 16065 * 512 = 8225280 байт

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *           1          38      305203+  83  Linux
/dev/sda2              39        1058     8193150   82  Linux своп / Solaris
/dev/sda3            1059        3608    20482875   83  Linux
/dev/sda4            3609       30401   215214772+   f  W95 расшир. (LBA)
/dev/sda5            3609       30401   215214741   8e  Linux LVM
Вроде похоже на правду. Только смущает sda4, почему там W95?? Скорее всего это должен быть extended, но Linux..
Вновь созданное пока на диск не записывал. Раздумываю... :)

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

Кстати, возможно ли все-таки откуда-нибудь выцарапать структуру разделов, которую юзает ядро в данный момент?
То, что сейчас говорит fdisk, явно не соответствует текущему, т.к. раздел / у меня 100% находится в sda3. И он живой.

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

Скорее всего это должен быть extended, но Linux..

Нет, все правильно w95

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

структуру разделов, которую юзает ядро в данный момент?

cat /proc/partitions

Что-то там похоже уже не айс..

cat /proc/partitions
major minor  #blocks  name

   8     0  244198584 sda
   8     1     305203 sda1
   8     2    8193150 sda2
   8     3   20482875 sda3
   8     4          1 sda4
   8     5  215214741 sda5
   8    16  156290904 sdb
   8    17  156288321 sdb1
   8    32  244198584 sdc
   8    33  102398278 sdc1
   8    34   20482875 sdc2
   8    35  121314847 sdc3
 253     0   81920000 dm-0
 253     1   20611072 dm-1
 253     2   30703616 dm-2
 253     3   81920000 dm-3
sda4 размером в 1 байт?? Это всё - сливай воду?
Кстати, в /sys/block/sda/sda4/size, размер почему-то 2.. ???

и в /sys/block/sda/sda1 есть start и size

А что с ними делать? Вернее, как использовать?

cat /sys/block/sda/sda1/start
63

cat /sys/block/sda/sda1/size
610407

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

>sda4 размером в 1 байт?? Это всё - сливай воду? Это extended, как ты и хотел.

Т.е. всё еще как-бы ничего? Хорошо, и что теперь со всем этим добром делать? Что куда «забивать»?

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

> sda4 размером в 1 байт??

пардон за занудство, это не байт, это блок :)

Да уж понял сам, когда перечитал свой пост. Но править на этом форуме не разрешают..
А по теме мистер Зануда имеет такИ что сказать? ;)
Я пока в полном ступоре.. :(

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

сорри, всю ночь день рождения друга отмечал, мозг отказывается работать. Я бы проверил /proc/partitions на предмет валидности и, если там всё хорошо, то записал бы такое на диск. Над нюансамим голова работать отказывается.

А что с ними делать? Вернее, как использовать?

их вводить в fdisk.

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

Я бы проверил /proc/partitions на предмет валидности и, если там всё хорошо, то записал бы такое на диск.

Хоть и не отмечал ничего, но без 100 гр. сообразить не получается. :)
Каким образом проверить валидность partitions?? Что именно скармливать fdisk-у??

P.S. 100гр. принял.. Не помогло.. ;) Ушёл спать.. Завтра, наверное застрелюсь.. :)

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

>Завтра, наверное застрелюсь.. :)

Хорошая мысль.

В общем, то восстановить разделы с помошью /sys/block/sda/*/start можно. Там даны размеры в блоках их и надо вводить в fdisk. Вот тут подробно: http://serverfault.com/questions/146892/repair-partition-table

Относительно томов LVM, вам лучше вспомнить, но по идее в /proc/mounts должна быть информация о том, что смонтировано. Там есть имена LVM-томов?

Но, сдаётся мне, что вы не только MBR запороли, (не забудьте установить загрузчик), но и начало /boot раздела, поэтому и бредовое имя и отказ монтирования и размер и дата grub каталога. Так что после починки таблицы разделов нужно чинить boot, хорошо, если там образ ядра не побитый.

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

В общем, то восстановить разделы с помошью /sys/block/sda/*/start можно. Там даны размеры в блоках их и надо вводить в fdisk. Вот тут подробно: http://serverfault.com/questions/146892/repair-partition-table

Все бы ничего, но после выполнения partprobe /dev/sda (по совету одного «гуру») из /sys/block/sda исчез sda4. Сохранить его предварительно я не догадался, даже не было такой мысли, что исчезнет что-то нужное.. :(
Теперь остаётся только гадать на кофейной гуще..

Относительно томов LVM, вам лучше вспомнить, но по идее в /proc/mounts должна быть информация о том, что смонтировано. Там есть имена LVM-томов?

Есть

cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / ext3 rw,data=ordered 0 0
/dev /dev tmpfs rw 0 0
/proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
devpts /dev/pts devpts rw 0 0
/dev/sdc1 /backup ext3 rw,data=ordered 0 0
tmpfs /dev/shm tmpfs rw 0 0
/dev/sdc2 /distrib ext3 rw,data=ordered 0 0
/dev/sdc3 /ghost ext3 rw,data=ordered 0 0
/dev/Users/ftp /ftp ext3 rw,data=ordered 0 0
/dev/Users/dbs /dbs ext3 rw,data=ordered 0 0
/dev/Users/usr /usr ext3 rw,data=ordered 0 0
/dev/Users/var /var ext3 rw,data=ordered 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/proc /var/named/chroot/proc proc rw 0 0
/dev/Users/var /var/named/chroot/var/run/dbus ext3 rw,data=ordered 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
automount /misc autofs rw,fd=8,pgrp=3295,timeout=300,minproto=5,maxproto=5,indirect 0 0
automount /net autofs rw,fd=13,pgrp=3295,timeout=300,minproto=5,maxproto=5,indirect 0 0
nfsd /proc/fs/nfsd nfsd rw 0 0
/dev/sdb1 /hdd2 ext3 rw,data=ordered 0 0

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