Тема: Непонятная проблема с восстановлением GRUBа

После успешной (так мне казалось) переустановки Windows, затертый GRUB был восстановлен с резервной копии на дискете. Правда, перед восстановлением Partition Table Doctor поругался на ошибочную таблицу разделов и предложил ее исправить. После чего Магея3 грузится, но Windows загрузить уже не удается!
GRUB:
root (hd0,0)
Filesystem type unknown, partition type 0x7
makeactive
chainloader +1
A disk read error occured.

Затем была попытка в Магее смонтировать этот диск С:

+ открыть спойлер

# mount /dev/sda1 /mnt

mount: /dev/sda1 is write-protected, mounting read-only

mount: wrong fs type, bad option, bad superblock on /dev/sda1,

       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try

       dmesg | tail or so

Тоже самое и с другим NTFS разделом - /dev/sda6 (Е:), который при переустановке также был отформатирован. Геометрия всех разделов в Управлении дисковыми разделами вроде как определяется верно, но UUID этих двух разделов там отсутствует.
Ничего понять не могу, но когда загрузилась с Paragon Recovery CD, то оказалось, что оба NTFS раздела unformatted(!!!). Почему?! Пришлось заново на скорую руку переустанавливать Виндовс, но теперь сразу же после этой процедуры загрузилась с DVD Mageia3 и выбрала восстановление загрузчика

+ открыть спойлер

about to re-install Boot Loader grub of following %s distribution:
Mageia release 3 (Official) for i586
=> ok.
Running: mount —bing /dev /mnt/dev
installing boot loader...
Running: sh /boot/grub/install.sh with root /mnt
GNU GRUB version 0.97
grub> root (hd0,6)
filesystem type unknown, partition type 0x7
grub> setup —stage2=/boot/grub/stage2 (hd0)
error 17: Cannot mount selected partition
grub> quit
Running: umount /mnt /dev

То есть видно, что опять что-то не так пошло... Partition Table Doctor вновь бранится на поврежденные разделы, и снова те 2 виндовых раздела не отформатированы! Тогда снова пытаюсь восстановиться с той дискеты, но все тоже самое...
Раз так, то снова выбираю re-install Boot Loader с диска Магеи:

+ открыть спойлер

... filesystem type is ext2fs, partition type 0x83
grub> setup —stage2=/boot/grub/stage2 (hd0)
checking if «boot/grub/stage1» exists... yes
ну и так далее... - все yes!
20 sectors are embedded. Succeeded.
Running «install —stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0) (hd0)1+ 20 p (hd0,6) /boot/grub/stage2   
/boot/grub/menu.lst» succeeded.
Done. Grub> guit
running: umount /mnt/dev

Теперь Магея загружается, но винда — снова отдыхает! ag  Или так или так — выбора нет!
ЗЫ. Дернул же меня черт эту винду переустанавливать!  ak

2

Re: Непонятная проблема с восстановлением GRUBа

Покажите схему разметки диска:

fdisk -l /dev/sda

И вывод команды

blkid

У вас grub 0.97, пробуйте его восстанавливать так:
- загружаетесь с LiveCD;
- Если в LiveCD системе есть grub-0.97, то можете сразу приступать собственно к восстановлению:
   a) вызываете команду grub

grub

   б) выбираете корневой раздел загрузчика

root (hd0, N)

вместо N укажите номер раздела, где находится /boot установленной Mageia, отсчёт идёт от 0, т.е. если это /dev/sda1, то там нужно указать 0.
   в) прописываете код загрузчика в mbr

setup (hd0)

- если grub на LiveCD нет, тогда монтируете корень Mageia, затем /dev и прочие разделы и делаете chroot .


Должны увидеть примерно следующее:

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.

3

Re: Непонятная проблема с восстановлением GRUBа

kostik87 пишет

монтируете корень Mageia, затем /dev и прочие разделы и делаете chroot .

Должны увидеть примерно следующее:

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.

Так я ведь разве в последней операции не это сделала (3ий мой спойлер)? Проблема то не в том, что ГРУБ отсутствует, а то что он системный виндовый раздел отвергает - после переустановки этой самой винды.
Я ведь знаю уже эти наглые виндовы повадки - затирать МБР перед установкой (а стало быть, убивать ГРУБа). Проходила уже... потому и дискетки перед этим готовлю. Но раньше, правда, LILO стоял... малой кровью тогда решилась проблема...

4 (16.10.2014 13:34:27 отредактировано kostik87)

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

что он системный виндовый раздел отвергает - после переустановки этой самой винды.

Он его не отвергает, виной всему, скорее всего, вот это:

lightwinter пишет

потому и дискетки перед этим готовлю.

Вы уверены, что посредством вашей дискеты вы восстанавливаете только код загрузчика, а не всю главную загрузочную запись целиком, т.е. код загрузчика и старую таблицу разделов?

Скорее всего, на вашей дискете сохранилась старая таблица разделов с другими границами разделов, ну либо ваш partition doctor изменил границы разделов.

После того как найдёте все разделы вам нужно будет посредством fdisk создать таблицу разделов с указанием правильных границ разделов.

Поэтому вам нужно либо переустанавливать Windows заново, либо восстановить записи о разделах Windows.

А уже затем не используя ни какую дискету восстановить grub, например, описанным мной способом.


Для поиска разделов можете воспользоваться вот этим скриптом:

Консоль

#!/bin/sh
for ((sector=62; ; sector++))
do
   offset=$(($sector*512))
   cmd="mount -t ntfs-3g /dev/sdb /mnt/tmp/ -o ro,offset=$offset"
   echo "sector: $sector offset: $offset"
   $cmd 2>/dev/null && echo "partition found @ offset $offset!" && break
done

За пояснением вот сюда: www.linux.org.ru/forum/general/9472378?cid=9474130
Или вот этот скрипт:

Консоль

#!/usr/bin/perl -w
for ($sector = 0; ; $sector++)
{
$offset = $sector * 512;
$cmd = "mount /dev/sdb /mnt/tmp -t xfs -o ro,offset=$offset > /dev/null";
`$cmd`;
print "sector: $sector offset: $offset\n";
die "partition found @ offset $offset!" if ($? == 0);
}

он по функционалу аналогичен, только написан на perl.

Пояснение:

Смотрите сами, сверяйте начальные номера секторов разделов, смотрите вывод fdisk (первый блок кода) и номера сектора, на которых останавливается скрипт (монтируется файловая система). Начальные номера секторов, с которых скрипт начинает «поиск», указаны не далеко от границ разделов (файловых систем). После результатов работы скрипта приведён вывод 'losetup -a' с выборкой информации по конкретному устройству, в котором видно, что создано loop устройство, которому сопоставлена область на жёстком диске с некоторым смещением, можете сравнить со смещением, найденным в скрипте. Ну и далее выборка из списка смонтированных файловых систем.

fdisk  -l /dev/sdb

Disk /dev/sdb: 320.1 GB, 320072933376 bytes, 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf74ef74e

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sdb2          206848   163846143    81819648    7  HPFS/NTFS/exFAT
/dev/sdb3       163846935   625137344   230645205    5  Расширенный
/dev/sdb5       163846998   625137344   230645173+   7  HPFS/NTFS/exFAT

Ищем первую файловую систему:

#!/bin/sh
for ((sector=2047; sector<=625142448 ; sector++))
do
   offset=$(($sector*512))
   cmd="mount -t ntfs-3g /dev/sdb /mnt/tmp/ -o ro,offset=$offset"
   echo "sector: $sector offset: $offset";
   $cmd 2>/dev/null && echo "partition found @ offset $offset!" && break
done
# /tmp/script.sh
sector: 2047 offset: 1048064
sector: 2048 offset: 1048576
partition found @ offset 1048576!
losetup -a | grep sdb 
/dev/loop4: [0005]:7288 (/dev/sdb), offset 1048576
mount | grep mnt\/tmp
/dev/sdb on /mnt/tmp type fuseblk (ro,nosuid,nodev,allow_other,blksize=4096)
umount /mnt/tmp

Ищем вторую файловую систему

for ((sector=206840; sector<=625142448 ; sector++))
sector: 206840 offset: 105902080
sector: 206841 offset: 105902592
sector: 206842 offset: 105903104
sector: 206843 offset: 105903616
sector: 206844 offset: 105904128
sector: 206845 offset: 105904640
sector: 206846 offset: 105905152
sector: 206847 offset: 105905664
sector: 206848 offset: 105906176
partition found @ offset 105906176!
losetup -a | grep sdb 
/dev/loop4: [0005]:7288 (/dev/sdb), offset 105906176
mount | grep mnt\/tmp
/dev/sdb on /mnt/tmp type fuseblk (ro,nosuid,nodev,allow_other,blksize=4096)

Ищем третью файловую систему:

for ((sector=163846995; sector<=625142448 ; sector++))
sector: 163846995 offset: 83889661440
sector: 163846996 offset: 83889661952
sector: 163846997 offset: 83889662464
sector: 163846998 offset: 83889662976
partition found @ offset 83889662976!
losetup -a | grep sdb 
/dev/loop7: [0005]:7288 (/dev/sdb), offset 83889662976
mount | grep mnt\/tmp
/dev/sdb on /mnt/tmp type fuseblk (ro,nosuid,nodev,allow_other,blksize=4096)

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

5

Re: Непонятная проблема с восстановлением GRUBа

kostik87 пишет

Вы уверены, что посредством вашей дискеты вы восстанавливаете только код загрузчика, а не всю главную загрузочную запись целиком, т.е. код загрузчика и старую таблицу разделов?

Скорее всего, на вашей дискете сохранилась старая таблица разделов с другими границами разделов, ну либо ваш partition doctor изменил границы разделов.

Да, эта дискета создается с помощью того же partition doctor и он делает полную копию МБР, а не только загрузчика. Но ведь границы разделов все те же самые! Просто была начисто переустановлена винда - на свое законное место, в sda1.
Есть все же у меня подозрение, что partition doctor дурит... нельзя его дискеткам доверять.

6

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

Есть все же у меня подозрение, что partition doctor дурит... нельзя его дискеткам доверять.

Как минимум не нужно было ничего делать при сообщении Partition Doctor о том, что есть проблема с разделами.

Но по большому счёту такие дискеты, да и сам Partition Doctor не нужен.

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

Можете попробовать конечно монтировать раздел с принудительным указанием его типа, но я всё же думаю, что сейчас неправильно указаны границы разделов.

Если смонтировать всё же не удастся, тогда либо переустанавливайте Windows ещё раз, а потом восстанавливаете grub без использование ваших дискет, либо пробуйте создать правильную таблицу разделов описанным мной способом.

7

Re: Непонятная проблема с восстановлением GRUBа

lightwinter
Ну вот сколько таких проблем на этом форуме было... И где-то вы исхитряетесь брать то акронис, то какой-то доктор... А не проще http://gparted.org/livecd.php ?
Всё без проблем, даже та винда.

8

Re: Непонятная проблема с восстановлением GRUBа

kostik87 пишет

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

То что диск С со свежеустановленной виндой вдруг оказывается "неотформатированным" - это и связано с не верными границами разделов?

9 (16.10.2014 14:04:32 отредактировано lightwinter)

Re: Непонятная проблема с восстановлением GRUBа

kostik87 пишет

Если смонтировать всё же не удастся, тогда либо переустанавливайте Windows ещё раз, а потом восстанавливаете grub без использование ваших дискет, либо пробуйте создать правильную таблицу разделов описанным мной способом.

Может все же Виндовс по-новой переустановить, а затем ГРУБ по правилам? А то мне глядя на тот скрипт, как-то не по себе стало. ab  Как все сложно!
А может вообще уже Магею 4 устанавливать - вроде как она уже стабильная? Или если неверная таблица разделов, то и переустановка Магеи не решит задачу?

10 (16.10.2014 14:22:08 отредактировано kostik87)

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

друг оказывается "неотформатированным" - это и связано с не верными границами разделов?

Да или типом файловой системы.

Границы разделов указывают начальный и конечный сектор диска в пределах которых находится раздел (файловая система). При монтировании (подключении) файловой системы драйвер ищет с определённым смещением суперблок файловой системы, так сказать специальные внутренние структуры. Если границы указаны неправильно, то этот суперблок не будет найден.

11

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

Может все же Виндовс по-новой переустановить, а затем ГРУБ по правилам? А то мне глядя на тот скрипт, как-то не по себе стало.   Как все сложно!

Делайте как хотите, я вам предложил два варианта на выбор. Если вам легче переустановить Windows, то делайте так.

12

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

То что диск С со свежеустановленной виндой вдруг оказывается "неотформатированным" - это и связано с неверными границами разделов?

Да вполне. Некоторые "левые" проги могут пересекать границу разделов. А потом мы ищем MBR, суперблоки и т.п.
А сделать один раз. Хорошо. А потом просто переставляем системы. Не?

13

Re: Непонятная проблема с восстановлением GRUBа

mvt пишет

А не проще http://gparted.org/livecd.php ?
Всё без проблем, даже та винда.

немного поняла, конечно, что там по-аглицки написано, но кол-во поддерживаемых ФС впечатляет, однако. Да и кол-во возможностей, вроде как тоже. Это уже явно не Парагон... это явно БОЛЬШЕ!

14

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет
mvt пишет

А не проще http://gparted.org/livecd.php ?
Всё без проблем, даже та винда.

немного поняла, конечно, что там по-аглицки написано, но кол-во поддерживаемых ФС впечатляет, однако. Да и кол-во возможностей, вроде как тоже. Это уже явно не Парагон... это явно БОЛЬШЕ!

http://storage8.static.itmages.ru/i/14/1016/s_1413461619_5297058_ca8c27dbdd.png
А как-то так. А причём здесь Парагон? Это - маленькая универсальная программа. Мы о ней вспоминаем, когда "горит" ab
Но, работает всё чётко. Рекомендую.

15

Re: Непонятная проблема с восстановлением GRUBа

kostik87 пишет

Покажите схему разметки диска:

fdisk -l /dev/sda

Disk /dev/sda: 160.0 GB, 160041885696 bytes, 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x44b03c17
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *          63    42009974    21004956    7  HPFS/NTFS/exFAT
/dev/sda2        42009975   312576704   135283365    f  W95 расшир. (LBA)
/dev/sda5        42010038   284703929   121346946    7  HPFS/NTFS/exFAT
/dev/sda6       284703993   289957184     2626596    7  HPFS/NTFS/exFAT
/dev/sda7       289957248   309893849     9968301   83  Linux
/dev/sda8       309893913   312576704     1341396   82  Linux своп / Solaris

Откуда этот /dev/sda2 f  W95 расшир. (LBA) взялся?! Не было такого никогда!

16

Re: Непонятная проблема с восстановлением GRUBа

kostik87 пишет

И вывод команды

blkid

/dev/sda5: LABEL="LIGHT" UUID="84DE6361856C724E" TYPE="ntfs"
/dev/sda7: UUID="100af032-781d-4854-babb-8248bc8beb19" TYPE="ext4"
/dev/sda8: UUID="18de3060-f52c-484f-8c04-b18be5e0adaf" TYPE="swap"

Ага! Тех sda1 и sda6 здесь как раз и не видно!

17

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

Откуда этот /dev/sda2 f  W95 расшир. (LBA) взялся?! Не было такого никогда!

Когда-то давно, когда миром руководили Биллы Гейцы пришло такое правило - что мы имеем  только четыре первичных раздела. Но подпольный вход был найден. Любой из разделов - может быть Расширеным " . А там помещается 32 подчинёных раздела ab
Вот оттуда и пошло - "расширеный" ab

18 (17.10.2014 08:44:20 отредактировано kostik87)

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

Откуда этот /dev/sda2 f  W95 расшир. (LBA) взялся?! Не было такого никогда!

Собственно, mvt уже написал, Уточню лишь: на первых дисках размер сектора был равен 512 байт, в том числе и нулевого сектора, в котором располагается главная загрузочная запись. При старте компьютера BIOS начинает опрос устройств с которых может производиться загрузка и в случае диска как раз считывает как раз нулевой сектор и передаёт управлению коду который в нём находится. В эти 512 байтах должен поместиться собственно сам код загрузчика и таблица разделов. 512 байт это не слишком много, поэтому под код загрузчика было отведено 446 байт, затем располагается место под 4 записи по 16 байт под информацию о параметрах 4 разделов и последние два байта отведены под специальную сигнатуру, своего рода метку, указывающую на то, что главная загрузочная запись корректна.

Получается, что на диске можно создать всего 4 раздела, но в некоторых случаях этого мало, поэтому для того, что бы разделов было больше создают логический (расширенный раздел) и записи об остальных разделах, которые находятся в его границах записываются уже в начале расширенного раздела.

Теперь к вопросу о том, что blkid не видит других разделов. Это нормально, у вас старая версия пакета util-linux, в котором blkid выводит информацию по разделам на которых есть файловая система. Вот пример из drweb livecd, там пакет util-linux версии 2.20.0:
http://s7.postimg.org/46uqtwa5j/2014_10_17_09_22_29.jpg

Вот пример с более новым пакетом util-linux версии 2.24.0: http://s11.postimg.org/rbsa7dhjj/2014_10_17_09_24_47.jpg

В обоих случаях на разделе не создана файловая система.

В общем у вас сейчас имеющаяся таблица не соответствует реальным разделам (файловым системам), которые имеются на диске, по крайней мере не всем.

Если у вас нет на разделах, границы которых указаны неправильно важных данных, то вы можете их просто удалить, установить Windows создать на "свободном" месте новые разделы и восстановить загрузчик описанным выше способом. Если там есть важные данные, то вам придётся воспользоваться скриптами, которые я привёл выше и затем посредством fdisk создать правильные записи. Так же можете попробовать testdisk, возможно он  определит правильные границы разделов.

Только в начале сохраните куда-либо текущую таблицу разделов, можете просто переписать на листок данные о расширенном разделе и трёх разделах в нём, которые корректно видны:

/dev/sda2        42009975   312576704   135283365    f  W95 расшир. (LBA)
/dev/sda5        42010038   284703929   121346946    7  HPFS/NTFS/exFAT
/dev/sda7       289957248   309893849     9968301   83  Linux
/dev/sda8       309893913   312576704     1341396   82  Linux своп / Solaris

В случае если testdisk или вы повредите записи вы сможете восстановить таблицу разделов хотя бы для этих разделов.

Вообщем, с большой долей вероятности, первый раздел у вас должен начинаться с 2048 сектора, попробуйте смонтировать файловую систему так:

mkdir /tmp
mount -t ntfs-3g /dev/sda /mnt/tmp/ -o ro,offset=$((2048*512))"

Если файловая система смонтировалась, тогда смотрите вывод команды

df

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

К примеру, у меня есть раздел /dev/sda2:

# df
Файловая система 1K-blocks Использовано Доступно Использовано% Cмонтировано в
...
/dev/sda2                   81819644          71169676 10649968                       87% /media/sda2

вот его запись в таблице разделов:

# fdisk /dev/sda -l

Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf74ef74e

Устр-во   Загрузочный     Start          Конец         Blocks  Id System
...
/dev/sda2                        206848 163846143  81819648   7 HPFS/NTFS/exFAT

Как видите число блоков  в выводе df и число блоков в выводе fdisk отличается на 4. При создании записи вам нужно будет во время указания верхней границы раздела указать "+81819648K" или перевести блоки в число секторов, т.е. умножить их число на два, т.к. размер сектора равен 512 байт, а 1 блок равен 1024 байтам, т.е. 1 килобайту, отнять один сектор, прибавить номер стартового сектора, т.е. 81819648*2 - 1 + 206848

# echo $((81819648*2 - 1 + 206848))
163846143

и ввести в таком случае просто "163846143".

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

19 (25.10.2014 22:03:43 отредактировано lightwinter)

Re: Непонятная проблема с восстановлением GRUBа

mvt пишет
lightwinter пишет

Откуда этот /dev/sda2 f  W95 расшир. (LBA) взялся?! Не было такого никогда!

Когда-то давно, когда миром руководили Биллы Гейцы пришло такое правило - что мы имеем  только четыре первичных раздела. Но подпольный вход был найден. Любой из разделов - может быть Расширеным " . А там помещается 32 подчинёных раздела ab
Вот оттуда и пошло - "расширеный" ab

Ах да! Чего это я, в самом деле! Конечно же, это расширенный, а в нем логические.
Странная какая-то логика тогда получается. Если 4 первичных раздела, то должно быть sda1, sda2, sda3, sda4 - нет? Тогда расширенный должен быть по сути sda5, а первый логический в нем - sda6 - не логично ли? А он, расширенный этот, вона где оказывается - sda2!
Голова болит очень ac

20

Re: Непонятная проблема с восстановлением GRUBа

lightwinter, ну вы сохранили таблицу разделов, поставили венду(при этом создав ФС, ntfs в вашем случае), потом восстановили таблицу разделов.

Естественно, созданные вендой записи в таблице разделов были уничтожены восстановлением.

Корректно сохранять разделы нужно не каким-то "доктором", а обычной командой dd, самые первые 512 байт с диска.

Для UEFI это естественно НЕ работает.

lightwinter пишет

но UUID этих двух разделов там отсутствует.

раз нет UUID, значит и файловой системы нет(либо она полностью испорчена).

kostik87 пишет

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

ИМХО это и для меня слишком сложно. Велика вероятность грохнуть вендовые разделы. ИМХО надёжнее в маздае всё делать(правда в маздае "диск Ц" не лечится).

21

Re: Непонятная проблема с восстановлением GRUBа

kostik87 пишет

В общем у вас сейчас имеющаяся таблица не соответствует реальным разделам (файловым системам), которые имеются на диске, по крайней мере не всем.

Это я, наконец-то поняла. Да, дела... ac
В общем, я вначале просто опять переустановила винду, затем восстановила ГРУБ командами, как Вы мне советовали. Здесь мне лично очень помогла команда find /boot/grub/stage2 - а то бы я со всеми этими нулями и единицами точно бы свихнулась.  ab  Загрузчик восстановился, доступ в обе ОСи - тоже, но... я забыла отформатировать диск Е: (sda6)! Вспомогательный такой раздельчик для Виндовс - туда перенесен своп, всякие временные файлы и т.п. Но я форматнула его уже после этих успешных процедур, и ГРУБ снова потерялся!  ac  Как только я не колдовала с Rescue CD Mageia, но вернуть все на место уже не получалось. Сообщалось что-то вроде
(hd0,6)
/boot/ gfxmenu - file not found
И потом что-то
find /boot/ gfxmenu
hd0,7
Сейчас уже все не могу воспроизвести в памяти...
Я так понимаю, что ГРУБ после этого куда-то переместился?
В общем в конец отчаявшись я просто переустановила Магею (на то же место, разумеется), установила там ГРУБ и... само собой, ничего не произошло... он не вернулся... Тогда то я и поняла, о чем Вы говорили - неправильная таблица разделов.

22

Re: Непонятная проблема с восстановлением GRUBа

kostik87 пишет

Если у вас нет на разделах, границы которых указаны неправильно важных данных, то вы можете их просто удалить, установить Windows создать на "свободном" месте новые разделы и восстановить загрузчик описанным выше способом. Если там есть важные данные, то вам придётся воспользоваться скриптами, которые я привёл выше и затем посредством fdisk создать правильные записи. Так же можете попробовать testdisk, возможно он  определит правильные границы разделов.

Только в начале сохраните куда-либо текущую таблицу разделов, можете просто переписать на листок данные о расширенном разделе и трёх разделах в нём, которые корректно видны:

/dev/sda2        42009975   312576704   135283365    f  W95 расшир. (LBA)
/dev/sda5        42010038   284703929   121346946    7  HPFS/NTFS/exFAT
/dev/sda7       289957248   309893849     9968301   83  Linux
/dev/sda8       309893913   312576704     1341396   82  Linux своп / Solaris

В общем, кроме как на /dev/sda5 (D:), у меня нет никаких важных данных. Я так понимаю, что неправильные разделы у меня сейчас - это /dev/sda1 и /dev/sda6 - т.е. С и Е соответственно? Вот только Винду я уже не только переустановила, но и по-новой установила все программы и все-все настроила - а это занятие, сами понимаете, долгое, занудное, но необходимое.  ac 
Поэтому - если я сейчас сделаю образ С: на болванку, потом удалю все разделы, кроме /dev/sda5, затем воссоздам их - так? вроде верно я рассуждаю? Вот только потом образ С на новый раздел С нормально ли ляжет? - вот этого я не знаю.

23 (25.10.2014 22:07:26 отредактировано lightwinter)

Re: Непонятная проблема с восстановлением GRUBа

drBatty пишет

lightwinter, ну вы сохранили таблицу разделов, поставили венду(при этом создав ФС, ntfs в вашем случае), потом восстановили таблицу разделов.

Естественно, созданные вендой записи в таблице разделов были уничтожены восстановлением.

Корректно сохранять разделы нужно не каким-то "доктором", а обычной командой dd, самые первые 512 байт с диска.

Да, я наверное неверно (и не до конца) устройство всего этого понимаю. Но то что раньше этот резерв выручал (и вроде даже не один раз!) - это факт! Не знаю.. может, просто везло.  ab
PS. Я кажется теперь вспоминаю! Выручала эта дискетка, но тогда я только виндов этот раздел С несчастный, чтоб его такого! с образа восстанавливала - вот как оно было! А теперь, значит, винду с нуля переустановить вздумалось.

24

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

Да, я наверное неверно (и не до конца) устройство всего этого понимаю.

и не поймёте, пока будете юзать всякие костыли типа Partition Table Doctor.

25

Re: Непонятная проблема с восстановлением GRUBа

Ух! Наконец-то вновь нашла время разбираться со всем этим! Не знаю чего я там наделала, но после предудыщего поста - тогда отформатировала диск Е: (sda6) - ничего такого не предпринимала больше. Но теперь команда fdisk -l /dev/sda показывает абсолютно все разделы (границы все те же), а по команде blkid опять же все разделы отображаются корректно - все-все UUID, LABEL, TYPE - все правильно.
теперь только пришлось /sda7 - где была Магея - временно отформатировать в NTFS, чтобы туда средствами винды закачать образ четвертой Магеи (ну нет к сожалению на других дисках свободного места!) и потом с болванки Магею на тот же sda7 устанавливать - такая вот петрушка!

Я только чего то не понимаю - раз там все диски нормально видны, то мне sda1 и sda6 перед этим не нужно удалять?

26 (14.11.2014 05:25:00 отредактировано drBatty)

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

тогда отформатировала диск Е:

в Linux нет "форматирования" и "диска Е".

"Форматирование" тут называется "создание файловой системы", и делается командой mkfs

"диск Е" тут называется: блочное устройство с  X(буквы a-z), раздел Y(числа начиная с 1), и имеет имя внутри ФС /dev/sdXY.

Какое устройство куда вписалось можно узнать командой

Консоль
# dmesg

сразу после физического подсоединения этого устройства. (ну через пару секунд для флешек).

PS: и да, разделы делаются (создаются) утилитами
fdisk, cfdisk, gparted, причём cfdisk в Linux это типа fdisk в Win. А gparted в Lin это типа "администратор дисков", или как он в венде зовётся сейчас. Fdisk в Linux применяют обычно только для просмотра, и в скриптах, которые Linux ставят. Ручками неудобно.

PPS: И да, напоминаю, что UUID это атрибут файловой системы, и для EXT4 его лучше смотреть/менять утилитой tune2fs.

27

Re: Непонятная проблема с восстановлением GRUBа

lightwinter пишет

Не знаю чего я там наделала, но после предудыщего поста - тогда отформатировала диск Е: (sda6)

Уже неоднократно давал вот эту ссылку от Termo О жестких дисках и загрузчике , там он доходчиво объяснил новичкам про разделы и т.п., вроде бы одна и та же инфа, а воспринимается легче и лучше, чем сухие выкладки (они станут хорошо пониматься, когда повысится уровень знаний юзера)